Skip to content

Commit

Permalink
common: temp set mainnet to default to prague to see which CI fails
Browse files Browse the repository at this point in the history
  • Loading branch information
jochem-brouwer committed Feb 24, 2025
1 parent 0f0bb45 commit 760a2b3
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 9 deletions.
4 changes: 3 additions & 1 deletion packages/common/src/chains.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import type { ChainConfig } from './types.js'
export const Mainnet: ChainConfig = {
name: 'mainnet',
chainId: 1,
defaultHardfork: 'cancun',
defaultHardfork: 'prague',
consensus: {
type: 'pow',
algorithm: 'ethash',
Expand Down Expand Up @@ -116,6 +116,8 @@ export const Mainnet: ChainConfig = {
{
name: 'prague',
block: null,
timestamp: '9999999999', // TEMP: placeholder until mainnet timestamp is set
// forkHash: '0xFFFFFFFF' // TODO: set correct forkHash once mainnet timestamp is set
},
{
name: 'osaka',
Expand Down
2 changes: 1 addition & 1 deletion packages/common/src/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ export class Common {
this.events = new EventEmitter<CommonEvent>()

this._chainParams = JSON.parse(JSON.stringify(opts.chain)) // copy
this.DEFAULT_HARDFORK = this._chainParams.defaultHardfork ?? Hardfork.Cancun
this.DEFAULT_HARDFORK = this._chainParams.defaultHardfork ?? Hardfork.Prague
// Assign hardfork changes in the sequence of the applied hardforks
this.HARDFORK_CHANGES = this.hardforks().map((hf) => [
hf.name,
Expand Down
2 changes: 1 addition & 1 deletion packages/common/test/chains.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ describe('[Common/Chains]: Initialization / Chain params', () => {
const c = new Common({ chain: Mainnet })
assert.equal(c.chainName(), 'mainnet', 'should initialize with chain name')
assert.equal(c.chainId(), BigInt(1), 'should return correct chain Id')
assert.equal(c.hardfork(), Hardfork.Cancun, 'should set hardfork to current default hardfork')
assert.equal(c.hardfork(), Hardfork.Prague, 'should set hardfork to current default hardfork')
assert.equal(
c.hardfork(),
c.DEFAULT_HARDFORK,
Expand Down
34 changes: 32 additions & 2 deletions packages/common/test/customChains.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import { Common, Hardfork, Mainnet, createCustomCommon } from '../src/index.js'

import { testnetData } from './data/testnet.js'

import type { ChainConfig } from '../src/index.js'

describe('[Common]: Custom chains', () => {
it('chain -> object: should provide correct access to private network chain parameters', () => {
const c = new Common({ chain: testnetData, hardfork: Hardfork.Byzantium })
Expand Down Expand Up @@ -87,9 +89,9 @@ describe('[Common]: Custom chains', () => {
},
Mainnet,
)
// Note: default HF of Common is currently Cancun
// Note: default HF of Common is currently Prague
// Did not pass any "hardfork" param
assert.equal(c.hardfork(), Hardfork.Cancun)
assert.equal(c.hardfork(), Hardfork.Prague)
c.setHardforkBy({
blockNumber: 0,
})
Expand All @@ -108,6 +110,34 @@ describe('[Common]: Custom chains', () => {
assert.ok(c.isActivatedEIP(2935))
})

it('customChain: correctly set default hardfork on custom chain config', () => {
const chainConfig: ChainConfig = {
name: 'custom',
chainId: 123,
genesis: {
gasLimit: 0,
difficulty: 1,
nonce: '0x42',
extraData: '0x',
},
hardforks: [
{
name: 'chainstart',
block: 0,
},
],
bootstrapNodes: [],
consensus: {
type: 'pos',
algorithm: 'casper',
casper: {},
},
}
const c = createCustomCommon({ chainId: 123 }, chainConfig)
assert.equal(c.hardfork(), c.DEFAULT_HARDFORK)
assert.equal(c.hardfork(), Hardfork.Prague)
})

it('customHardforks: override params', () => {
const c = createCustomCommon(
{
Expand Down
8 changes: 4 additions & 4 deletions packages/common/test/hardforks.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ describe('[Common]: Hardfork logic', () => {
msg = 'should return correct next HF (mainnet: byzantium -> constantinople)'
assert.equal(c.nextHardforkBlockOrTimestamp(Hardfork.Byzantium)!, BigInt(7280000), msg)

msg = 'should return null if next HF is not available (mainnet: cancun -> prague)'
assert.equal(c.nextHardforkBlockOrTimestamp(Hardfork.Cancun), null, msg)
msg = 'should return null if next HF is not available (mainnet: prague -> osaka)'
assert.equal(c.nextHardforkBlockOrTimestamp(Hardfork.Prague), null, msg)

const c2 = new Common({ chain: Goerli, hardfork: Hardfork.Chainstart })

Expand Down Expand Up @@ -179,11 +179,11 @@ describe('[Common]: Hardfork logic', () => {
assert.equal(c.hardforkBlock(Hardfork.Berlin)!, BigInt(12244000), msg)

msg = 'should return null for unscheduled hardfork'
// developer note: when Shanghai is set,
// developer note: when Osaka is set,
// update this test to next unscheduled hardfork.
assert.equal(c.hardforkBlock(Hardfork.Cancun), null, msg)
assert.equal(c.hardforkBlock(Hardfork.Cancun), null, msg)
assert.equal(c.nextHardforkBlockOrTimestamp(Hardfork.Cancun), null, msg)
assert.equal(c.nextHardforkBlockOrTimestamp(Hardfork.Prague), null, msg)
})

it('hardforkGteHardfork()', () => {
Expand Down

0 comments on commit 760a2b3

Please sign in to comment.