Skip to content
This repository was archived by the owner on Nov 25, 2025. It is now read-only.

Commit a7f7061

Browse files
Darioush JalaliARR4N
andauthored
refactor: params.ChainConfigExtra & RulesExtra -> params/extras (#702)
* refactor: params.ChainConfigExtra -> params/extras * remove type alias AvalancheConfig * remove type alias for PrecompileConfig * remove type alias UpgradeConfig * remove type alias network upgrade * seems ok to import ethparams.ChainConfig * remove type aliases * refactor: use `ChainConfig.Hooks().(*ChainConfigExtra)` * move RulesExtra (only struct, keep behavior) * refactor: return extras.RulesExtra from GetRulesExtra * rename extras.RulesExtra -> extras.Rules * rename file * refactor: rename extras.ChainConfigExtra -> extras.ChainConfig * return error if chain config type does not match * nit * comment and style improvements * nit * nit --------- Co-authored-by: Arran Schlosberg <[email protected]>
1 parent 826f074 commit a7f7061

26 files changed

+420
-377
lines changed

core/blockchain_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import (
1616
"github.com/ava-labs/coreth/core/state/pruner"
1717
"github.com/ava-labs/coreth/core/types"
1818
"github.com/ava-labs/coreth/params"
19+
"github.com/ava-labs/coreth/params/extras"
1920
"github.com/ava-labs/libevm/common"
2021
"github.com/ava-labs/libevm/core/vm"
2122
"github.com/ava-labs/libevm/crypto"
@@ -425,7 +426,7 @@ func TestUngracefulAsyncShutdown(t *testing.T) {
425426
gspec := &Genesis{
426427
Config: params.WithExtra(
427428
&params.ChainConfig{HomesteadBlock: new(big.Int)},
428-
&params.ChainConfigExtra{},
429+
&extras.ChainConfig{},
429430
),
430431
Alloc: types.GenesisAlloc{addr1: {Balance: genesisBalance}},
431432
}

core/genesis_extra_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434
"github.com/ava-labs/coreth/core/rawdb"
3535
"github.com/ava-labs/coreth/core/types"
3636
"github.com/ava-labs/coreth/params"
37+
"github.com/ava-labs/coreth/params/extras"
3738
"github.com/ava-labs/coreth/utils"
3839
"github.com/ava-labs/libevm/common"
3940
"github.com/ava-labs/libevm/triedb"
@@ -57,8 +58,8 @@ func TestGenesisEthUpgrades(t *testing.T) {
5758
IstanbulBlock: big.NewInt(0),
5859
MuirGlacierBlock: big.NewInt(0),
5960
},
60-
&params.ChainConfigExtra{
61-
NetworkUpgrades: params.NetworkUpgrades{
61+
&extras.ChainConfig{
62+
NetworkUpgrades: extras.NetworkUpgrades{
6263
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
6364
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
6465
},

core/genesis_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import (
3737
"github.com/ava-labs/coreth/core/rawdb"
3838
"github.com/ava-labs/coreth/core/types"
3939
"github.com/ava-labs/coreth/params"
40+
"github.com/ava-labs/coreth/params/extras"
4041
"github.com/ava-labs/coreth/precompile/contracts/warp"
4142
"github.com/ava-labs/coreth/triedb/pathdb"
4243
"github.com/ava-labs/coreth/utils"
@@ -257,7 +258,7 @@ func TestGenesisWriteUpgradesRegression(t *testing.T) {
257258
_, _, err := SetupGenesisBlock(db, trieDB, genesis, genesisBlock.Hash(), false)
258259
require.NoError(err)
259260

260-
params.GetExtra(genesis.Config).UpgradeConfig.PrecompileUpgrades = []params.PrecompileUpgrade{
261+
params.GetExtra(genesis.Config).UpgradeConfig.PrecompileUpgrades = []extras.PrecompileUpgrade{
261262
{
262263
Config: warp.NewConfig(utils.NewUint64(51), 0, false),
263264
},

core/state_processor_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ import (
3838
"github.com/ava-labs/coreth/core/rawdb"
3939
"github.com/ava-labs/coreth/core/types"
4040
"github.com/ava-labs/coreth/params"
41+
"github.com/ava-labs/coreth/params/extras"
4142
"github.com/ava-labs/coreth/utils"
4243
"github.com/ava-labs/libevm/common"
4344
"github.com/ava-labs/libevm/core/vm"
@@ -270,8 +271,8 @@ func TestStateProcessorErrors(t *testing.T) {
270271
IstanbulBlock: big.NewInt(0),
271272
MuirGlacierBlock: big.NewInt(0),
272273
},
273-
&params.ChainConfigExtra{
274-
NetworkUpgrades: params.NetworkUpgrades{
274+
&extras.ChainConfig{
275+
NetworkUpgrades: extras.NetworkUpgrades{
275276
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
276277
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
277278
},

core/vm/runtime/runtime.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434
"github.com/ava-labs/coreth/core/state"
3535
"github.com/ava-labs/coreth/core/types"
3636
"github.com/ava-labs/coreth/params"
37+
"github.com/ava-labs/coreth/params/extras"
3738
"github.com/ava-labs/libevm/common"
3839
"github.com/ava-labs/libevm/core/vm"
3940
"github.com/ava-labs/libevm/crypto"
@@ -84,8 +85,8 @@ func setDefaults(cfg *Config) {
8485
LondonBlock: new(big.Int),
8586
BerlinBlock: new(big.Int),
8687
},
87-
&params.ChainConfigExtra{
88-
NetworkUpgrades: params.NetworkUpgrades{
88+
&extras.ChainConfig{
89+
NetworkUpgrades: extras.NetworkUpgrades{
8990
ApricotPhase1BlockTimestamp: new(uint64),
9091
ApricotPhase2BlockTimestamp: new(uint64),
9192
ApricotPhase3BlockTimestamp: new(uint64),

params/config.go

Lines changed: 43 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import (
3131

3232
"github.com/ava-labs/avalanchego/upgrade"
3333
"github.com/ava-labs/avalanchego/utils/constants"
34+
"github.com/ava-labs/coreth/params/extras"
3435
"github.com/ava-labs/coreth/utils"
3536
ethparams "github.com/ava-labs/libevm/params"
3637
)
@@ -68,9 +69,9 @@ var (
6869
ShanghaiTime: utils.TimeToNewUint64(upgrade.GetConfig(constants.UnitTestID).DurangoTime),
6970
CancunTime: utils.TimeToNewUint64(upgrade.GetConfig(constants.UnitTestID).EtnaTime),
7071
},
71-
&ChainConfigExtra{
72-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
73-
NetworkUpgrades: NetworkUpgrades{
72+
&extras.ChainConfig{
73+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
74+
NetworkUpgrades: extras.NetworkUpgrades{
7475
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
7576
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
7677
ApricotPhase3BlockTimestamp: utils.NewUint64(0),
@@ -101,9 +102,9 @@ var (
101102
IstanbulBlock: big.NewInt(0),
102103
MuirGlacierBlock: big.NewInt(0),
103104
},
104-
&ChainConfigExtra{
105-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
106-
NetworkUpgrades: NetworkUpgrades{
105+
&extras.ChainConfig{
106+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
107+
NetworkUpgrades: extras.NetworkUpgrades{
107108
ApricotPhase1BlockTimestamp: nil,
108109
ApricotPhase2BlockTimestamp: nil,
109110
ApricotPhase3BlockTimestamp: nil,
@@ -134,9 +135,9 @@ var (
134135
IstanbulBlock: big.NewInt(0),
135136
MuirGlacierBlock: big.NewInt(0),
136137
},
137-
&ChainConfigExtra{
138-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
139-
NetworkUpgrades: NetworkUpgrades{
138+
&extras.ChainConfig{
139+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
140+
NetworkUpgrades: extras.NetworkUpgrades{
140141
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
141142
ApricotPhase2BlockTimestamp: nil,
142143
ApricotPhase3BlockTimestamp: nil,
@@ -168,9 +169,9 @@ var (
168169
MuirGlacierBlock: big.NewInt(0),
169170
BerlinBlock: big.NewInt(0),
170171
},
171-
&ChainConfigExtra{
172-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
173-
NetworkUpgrades: NetworkUpgrades{
172+
&extras.ChainConfig{
173+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
174+
NetworkUpgrades: extras.NetworkUpgrades{
174175
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
175176
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
176177
ApricotPhase3BlockTimestamp: nil,
@@ -203,9 +204,9 @@ var (
203204
BerlinBlock: big.NewInt(0),
204205
LondonBlock: big.NewInt(0),
205206
},
206-
&ChainConfigExtra{
207-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
208-
NetworkUpgrades: NetworkUpgrades{
207+
&extras.ChainConfig{
208+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
209+
NetworkUpgrades: extras.NetworkUpgrades{
209210
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
210211
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
211212
ApricotPhase3BlockTimestamp: utils.NewUint64(0),
@@ -238,9 +239,9 @@ var (
238239
BerlinBlock: big.NewInt(0),
239240
LondonBlock: big.NewInt(0),
240241
},
241-
&ChainConfigExtra{
242-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
243-
NetworkUpgrades: NetworkUpgrades{
242+
&extras.ChainConfig{
243+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
244+
NetworkUpgrades: extras.NetworkUpgrades{
244245
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
245246
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
246247
ApricotPhase3BlockTimestamp: utils.NewUint64(0),
@@ -273,9 +274,9 @@ var (
273274
BerlinBlock: big.NewInt(0),
274275
LondonBlock: big.NewInt(0),
275276
},
276-
&ChainConfigExtra{
277-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
278-
NetworkUpgrades: NetworkUpgrades{
277+
&extras.ChainConfig{
278+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
279+
NetworkUpgrades: extras.NetworkUpgrades{
279280
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
280281
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
281282
ApricotPhase3BlockTimestamp: utils.NewUint64(0),
@@ -308,9 +309,9 @@ var (
308309
BerlinBlock: big.NewInt(0),
309310
LondonBlock: big.NewInt(0),
310311
},
311-
&ChainConfigExtra{
312-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
313-
NetworkUpgrades: NetworkUpgrades{
312+
&extras.ChainConfig{
313+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
314+
NetworkUpgrades: extras.NetworkUpgrades{
314315
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
315316
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
316317
ApricotPhase3BlockTimestamp: utils.NewUint64(0),
@@ -343,9 +344,9 @@ var (
343344
BerlinBlock: big.NewInt(0),
344345
LondonBlock: big.NewInt(0),
345346
},
346-
&ChainConfigExtra{
347-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
348-
NetworkUpgrades: NetworkUpgrades{
347+
&extras.ChainConfig{
348+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
349+
NetworkUpgrades: extras.NetworkUpgrades{
349350
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
350351
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
351352
ApricotPhase3BlockTimestamp: utils.NewUint64(0),
@@ -378,9 +379,9 @@ var (
378379
BerlinBlock: big.NewInt(0),
379380
LondonBlock: big.NewInt(0),
380381
},
381-
&ChainConfigExtra{
382-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
383-
NetworkUpgrades: NetworkUpgrades{
382+
&extras.ChainConfig{
383+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
384+
NetworkUpgrades: extras.NetworkUpgrades{
384385
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
385386
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
386387
ApricotPhase3BlockTimestamp: utils.NewUint64(0),
@@ -413,9 +414,9 @@ var (
413414
BerlinBlock: big.NewInt(0),
414415
LondonBlock: big.NewInt(0),
415416
},
416-
&ChainConfigExtra{
417-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
418-
NetworkUpgrades: NetworkUpgrades{
417+
&extras.ChainConfig{
418+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
419+
NetworkUpgrades: extras.NetworkUpgrades{
419420
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
420421
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
421422
ApricotPhase3BlockTimestamp: utils.NewUint64(0),
@@ -448,9 +449,9 @@ var (
448449
BerlinBlock: big.NewInt(0),
449450
LondonBlock: big.NewInt(0),
450451
},
451-
&ChainConfigExtra{
452-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
453-
NetworkUpgrades: NetworkUpgrades{
452+
&extras.ChainConfig{
453+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
454+
NetworkUpgrades: extras.NetworkUpgrades{
454455
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
455456
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
456457
ApricotPhase3BlockTimestamp: utils.NewUint64(0),
@@ -484,9 +485,9 @@ var (
484485
LondonBlock: big.NewInt(0),
485486
ShanghaiTime: utils.NewUint64(0),
486487
},
487-
&ChainConfigExtra{
488-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
489-
NetworkUpgrades: NetworkUpgrades{
488+
&extras.ChainConfig{
489+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
490+
NetworkUpgrades: extras.NetworkUpgrades{
490491
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
491492
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
492493
ApricotPhase3BlockTimestamp: utils.NewUint64(0),
@@ -521,9 +522,9 @@ var (
521522
ShanghaiTime: utils.NewUint64(0),
522523
CancunTime: utils.NewUint64(0),
523524
},
524-
&ChainConfigExtra{
525-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
526-
NetworkUpgrades: NetworkUpgrades{
525+
&extras.ChainConfig{
526+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
527+
NetworkUpgrades: extras.NetworkUpgrades{
527528
ApricotPhase1BlockTimestamp: utils.NewUint64(0),
528529
ApricotPhase2BlockTimestamp: utils.NewUint64(0),
529530
ApricotPhase3BlockTimestamp: utils.NewUint64(0),

0 commit comments

Comments
 (0)