Skip to content

Commit 0d522e7

Browse files
author
Darioush Jalali
authored
refactor: params.ChainConfigExtra & RulesExtra -> params/extras (coreth a7f7061) (#1430)
1 parent 4b8f1dc commit 0d522e7

32 files changed

+559
-512
lines changed

core/blockchain_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121
"github.com/ava-labs/subnet-evm/core/state/pruner"
2222
"github.com/ava-labs/subnet-evm/core/types"
2323
"github.com/ava-labs/subnet-evm/params"
24+
"github.com/ava-labs/subnet-evm/params/extras"
2425
"github.com/holiman/uint256"
2526
)
2627

@@ -315,7 +316,7 @@ func testRepopulateMissingTriesParallel(t *testing.T, parallelism int) {
315316
gspec := &Genesis{
316317
Config: params.WithExtra(
317318
&params.ChainConfig{HomesteadBlock: new(big.Int)},
318-
&params.ChainConfigExtra{FeeConfig: params.DefaultFeeConfig},
319+
&extras.ChainConfig{FeeConfig: params.DefaultFeeConfig},
319320
),
320321
Alloc: types.GenesisAlloc{addr1: {Balance: genesisBalance}},
321322
}
@@ -431,7 +432,7 @@ func TestUngracefulAsyncShutdown(t *testing.T) {
431432
gspec := &Genesis{
432433
Config: params.WithExtra(
433434
&params.ChainConfig{HomesteadBlock: new(big.Int)},
434-
&params.ChainConfigExtra{FeeConfig: params.DefaultFeeConfig},
435+
&extras.ChainConfig{FeeConfig: params.DefaultFeeConfig},
435436
),
436437
Alloc: types.GenesisAlloc{addr1: {Balance: genesisBalance}},
437438
}

core/genesis_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import (
4343
"github.com/ava-labs/subnet-evm/core/state"
4444
"github.com/ava-labs/subnet-evm/core/types"
4545
"github.com/ava-labs/subnet-evm/params"
46+
"github.com/ava-labs/subnet-evm/params/extras"
4647
"github.com/ava-labs/subnet-evm/precompile/allowlist"
4748
"github.com/ava-labs/subnet-evm/precompile/contracts/deployerallowlist"
4849
"github.com/ava-labs/subnet-evm/triedb/pathdb"
@@ -209,7 +210,7 @@ func TestStatefulPrecompilesConfigure(t *testing.T) {
209210
"allow list enabled in genesis": {
210211
getConfig: func() *params.ChainConfig {
211212
config := params.Copy(params.TestChainConfig)
212-
params.GetExtra(&config).GenesisPrecompiles = params.Precompiles{
213+
params.GetExtra(&config).GenesisPrecompiles = extras.Precompiles{
213214
deployerallowlist.ConfigKey: deployerallowlist.NewConfig(utils.NewUint64(0), []common.Address{addr}, nil, nil),
214215
}
215216
return &config
@@ -285,7 +286,7 @@ func TestPrecompileActivationAfterHeaderBlock(t *testing.T) {
285286

286287
activatedGenesisConfig := params.Copy(customg.Config)
287288
contractDeployerConfig := deployerallowlist.NewConfig(utils.NewUint64(51), nil, nil, nil)
288-
params.GetExtra(&activatedGenesisConfig).UpgradeConfig.PrecompileUpgrades = []params.PrecompileUpgrade{
289+
params.GetExtra(&activatedGenesisConfig).UpgradeConfig.PrecompileUpgrades = []extras.PrecompileUpgrade{
289290
{
290291
Config: contractDeployerConfig,
291292
},
@@ -323,7 +324,7 @@ func TestGenesisWriteUpgradesRegression(t *testing.T) {
323324
_, _, err := SetupGenesisBlock(db, trieDB, genesis, genesisBlock.Hash(), false)
324325
require.NoError(err)
325326

326-
params.GetExtra(genesis.Config).UpgradeConfig.PrecompileUpgrades = []params.PrecompileUpgrade{
327+
params.GetExtra(genesis.Config).UpgradeConfig.PrecompileUpgrades = []extras.PrecompileUpgrade{
327328
{
328329
Config: deployerallowlist.NewConfig(utils.NewUint64(51), nil, nil, nil),
329330
},

core/state_processor_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import (
4242
"github.com/ava-labs/subnet-evm/core/rawdb"
4343
"github.com/ava-labs/subnet-evm/core/types"
4444
"github.com/ava-labs/subnet-evm/params"
45+
"github.com/ava-labs/subnet-evm/params/extras"
4546
"github.com/ava-labs/subnet-evm/precompile/contracts/txallowlist"
4647
"github.com/ava-labs/subnet-evm/utils"
4748
"github.com/holiman/uint256"
@@ -271,7 +272,7 @@ func TestStateProcessorErrors(t *testing.T) {
271272
IstanbulBlock: big.NewInt(0),
272273
MuirGlacierBlock: big.NewInt(0),
273274
},
274-
&params.ChainConfigExtra{FeeConfig: params.DefaultFeeConfig},
275+
&extras.ChainConfig{FeeConfig: params.DefaultFeeConfig},
275276
),
276277
Alloc: types.GenesisAlloc{
277278
common.HexToAddress("0x71562b71999873DB5b286dF957af199Ec94617F7"): types.Account{
@@ -370,12 +371,12 @@ func TestBadTxAllowListBlock(t *testing.T) {
370371
BerlinBlock: big.NewInt(0),
371372
LondonBlock: big.NewInt(0),
372373
},
373-
&params.ChainConfigExtra{
374+
&extras.ChainConfig{
374375
FeeConfig: params.DefaultFeeConfig,
375-
NetworkUpgrades: params.NetworkUpgrades{
376+
NetworkUpgrades: extras.NetworkUpgrades{
376377
SubnetEVMTimestamp: utils.NewUint64(0),
377378
},
378-
GenesisPrecompiles: params.Precompiles{
379+
GenesisPrecompiles: extras.Precompiles{
379380
txallowlist.ConfigKey: txallowlist.NewConfig(utils.NewUint64(0), nil, nil, nil),
380381
},
381382
},

core/test_blockchain.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import (
1919
"github.com/ava-labs/subnet-evm/core/state"
2020
"github.com/ava-labs/subnet-evm/core/types"
2121
"github.com/ava-labs/subnet-evm/params"
22+
"github.com/ava-labs/subnet-evm/params/extras"
2223
"github.com/ava-labs/subnet-evm/precompile/allowlist"
2324
"github.com/ava-labs/subnet-evm/precompile/contracts/deployerallowlist"
2425
"github.com/ava-labs/subnet-evm/precompile/contracts/feemanager"
@@ -1485,7 +1486,7 @@ func TestStatefulPrecompiles(t *testing.T, create func(db ethdb.Database, gspec
14851486
genesisBalance := new(big.Int).Mul(big.NewInt(1000000), big.NewInt(params.Ether))
14861487
config := params.Copy(params.TestChainConfig)
14871488
// Set all of the required config parameters
1488-
params.GetExtra(&config).GenesisPrecompiles = params.Precompiles{
1489+
params.GetExtra(&config).GenesisPrecompiles = extras.Precompiles{
14891490
deployerallowlist.ConfigKey: deployerallowlist.NewConfig(utils.NewUint64(0), []common.Address{addr1}, nil, nil),
14901491
feemanager.ConfigKey: feemanager.NewConfig(utils.NewUint64(0), []common.Address{addr1}, nil, nil, nil),
14911492
}

core/vm/runtime/runtime.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import (
3737
"github.com/ava-labs/subnet-evm/core/state"
3838
"github.com/ava-labs/subnet-evm/core/types"
3939
"github.com/ava-labs/subnet-evm/params"
40+
"github.com/ava-labs/subnet-evm/params/extras"
4041
"github.com/holiman/uint256"
4142
)
4243

@@ -82,8 +83,8 @@ func setDefaults(cfg *Config) {
8283
BerlinBlock: new(big.Int),
8384
LondonBlock: new(big.Int),
8485
},
85-
&params.ChainConfigExtra{
86-
NetworkUpgrades: params.NetworkUpgrades{
86+
&extras.ChainConfig{
87+
NetworkUpgrades: extras.NetworkUpgrades{
8788
SubnetEVMTimestamp: new(uint64),
8889
},
8990
},

eth/gasprice/gasprice_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import (
4242
"github.com/ava-labs/subnet-evm/core/rawdb"
4343
"github.com/ava-labs/subnet-evm/core/types"
4444
"github.com/ava-labs/subnet-evm/params"
45+
"github.com/ava-labs/subnet-evm/params/extras"
4546
"github.com/ava-labs/subnet-evm/precompile/contracts/feemanager"
4647
"github.com/ava-labs/subnet-evm/rpc"
4748
"github.com/ava-labs/subnet-evm/utils"
@@ -392,7 +393,7 @@ func TestSuggestGasPriceAfterFeeConfigUpdate(t *testing.T) {
392393
// create a chain config with fee manager enabled at genesis with [addr] as the admin
393394
chainConfig := params.Copy(params.TestChainConfig)
394395
chainConfigExtra := params.GetExtra(&chainConfig)
395-
chainConfigExtra.GenesisPrecompiles = params.Precompiles{
396+
chainConfigExtra.GenesisPrecompiles = extras.Precompiles{
396397
feemanager.ConfigKey: feemanager.NewConfig(utils.NewUint64(0), []common.Address{addr}, nil, nil, nil),
397398
}
398399

eth/tracers/api_extra_test.go

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"github.com/ava-labs/subnet-evm/core/types"
2121
"github.com/ava-labs/subnet-evm/internal/ethapi"
2222
"github.com/ava-labs/subnet-evm/params"
23+
"github.com/ava-labs/subnet-evm/params/extras"
2324
"github.com/ava-labs/subnet-evm/precompile/contracts/txallowlist"
2425
"github.com/ava-labs/subnet-evm/rpc"
2526
"github.com/stretchr/testify/require"
@@ -42,17 +43,17 @@ func TestTraceBlockPrecompileActivation(t *testing.T) {
4243
activateAllowlistBlock := 3
4344
// assumes gap is 10 sec
4445
activateAllowListTime := uint64(activateAllowlistBlock * 10)
45-
activateTxAllowListConfig := params.PrecompileUpgrade{
46+
activateTxAllowListConfig := extras.PrecompileUpgrade{
4647
Config: txallowlist.NewConfig(&activateAllowListTime, []common.Address{accounts[0].addr}, nil, nil),
4748
}
4849

4950
deactivateAllowlistBlock := activateAllowlistBlock + 3
5051
deactivateAllowListTime := uint64(deactivateAllowlistBlock) * 10
51-
deactivateTxAllowListConfig := params.PrecompileUpgrade{
52+
deactivateTxAllowListConfig := extras.PrecompileUpgrade{
5253
Config: txallowlist.NewDisableConfig(&deactivateAllowListTime),
5354
}
5455

55-
params.GetExtra(genesis.Config).PrecompileUpgrades = []params.PrecompileUpgrade{
56+
params.GetExtra(genesis.Config).PrecompileUpgrades = []extras.PrecompileUpgrade{
5657
activateTxAllowListConfig,
5758
deactivateTxAllowListConfig,
5859
}
@@ -148,17 +149,17 @@ func TestTraceTransactionPrecompileActivation(t *testing.T) {
148149
activateAllowlistBlock := uint64(2)
149150
// assumes gap is 10 sec
150151
activateAllowListTime := activateAllowlistBlock * 10
151-
activateTxAllowListConfig := params.PrecompileUpgrade{
152+
activateTxAllowListConfig := extras.PrecompileUpgrade{
152153
Config: txallowlist.NewConfig(&activateAllowListTime, []common.Address{accounts[0].addr}, nil, nil),
153154
}
154155

155156
deactivateAllowlistBlock := activateAllowlistBlock + 2
156157
deactivateAllowListTime := deactivateAllowlistBlock * 10
157-
deactivateTxAllowListConfig := params.PrecompileUpgrade{
158+
deactivateTxAllowListConfig := extras.PrecompileUpgrade{
158159
Config: txallowlist.NewDisableConfig(&deactivateAllowListTime),
159160
}
160161

161-
params.GetExtra(genesis.Config).PrecompileUpgrades = []params.PrecompileUpgrade{
162+
params.GetExtra(genesis.Config).PrecompileUpgrades = []extras.PrecompileUpgrade{
162163
activateTxAllowListConfig,
163164
deactivateTxAllowListConfig,
164165
}
@@ -212,17 +213,17 @@ func TestTraceChainPrecompileActivation(t *testing.T) {
212213
activateAllowlistBlock := uint64(20)
213214
// assumes gap is 10 sec
214215
activateAllowListTime := activateAllowlistBlock * 10
215-
activateTxAllowListConfig := params.PrecompileUpgrade{
216+
activateTxAllowListConfig := extras.PrecompileUpgrade{
216217
Config: txallowlist.NewConfig(&activateAllowListTime, []common.Address{accounts[0].addr}, nil, nil),
217218
}
218219

219220
deactivateAllowlistBlock := activateAllowlistBlock + 10
220221
deactivateAllowListTime := deactivateAllowlistBlock * 10
221-
deactivateTxAllowListConfig := params.PrecompileUpgrade{
222+
deactivateTxAllowListConfig := extras.PrecompileUpgrade{
222223
Config: txallowlist.NewDisableConfig(&deactivateAllowListTime),
223224
}
224225

225-
params.GetExtra(genesis.Config).PrecompileUpgrades = []params.PrecompileUpgrade{
226+
params.GetExtra(genesis.Config).PrecompileUpgrades = []extras.PrecompileUpgrade{
226227
activateTxAllowListConfig,
227228
deactivateTxAllowListConfig,
228229
}
@@ -309,17 +310,17 @@ func TestTraceCallWithOverridesStateUpgrade(t *testing.T) {
309310
activateStateUpgradeBlock := uint64(2)
310311
// assumes gap is 10 sec
311312
activateStateUpgradeTime := activateStateUpgradeBlock * 10
312-
activateStateUpgradeConfig := params.StateUpgrade{
313+
activateStateUpgradeConfig := extras.StateUpgrade{
313314
BlockTimestamp: &activateStateUpgradeTime,
314-
StateUpgradeAccounts: map[common.Address]params.StateUpgradeAccount{
315+
StateUpgradeAccounts: map[common.Address]extras.StateUpgradeAccount{
315316
accounts[2].addr: {
316317
// deplete all balance
317318
BalanceChange: (*math.HexOrDecimal256)(new(big.Int).Neg(big.NewInt(5 * params.Ether))),
318319
},
319320
},
320321
}
321322

322-
params.GetExtra(genesis.Config).StateUpgrades = []params.StateUpgrade{
323+
params.GetExtra(genesis.Config).StateUpgrades = []extras.StateUpgrade{
323324
activateStateUpgradeConfig,
324325
}
325326
genBlocks := 3

internal/ethapi/api_extra.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
"github.com/ava-labs/subnet-evm/core"
1616
"github.com/ava-labs/subnet-evm/core/types"
1717
"github.com/ava-labs/subnet-evm/params"
18+
"github.com/ava-labs/subnet-evm/params/extras"
1819
"github.com/ava-labs/subnet-evm/rpc"
1920
)
2021

@@ -123,7 +124,7 @@ func (s *BlockChainAPI) FeeConfig(ctx context.Context, blockNrOrHash *rpc.BlockN
123124

124125
// GetActivePrecompilesAt returns the active precompile configs at the given block timestamp.
125126
// DEPRECATED: Use GetActiveRulesAt instead.
126-
func (s *BlockChainAPI) GetActivePrecompilesAt(ctx context.Context, blockTimestamp *uint64) params.Precompiles {
127+
func (s *BlockChainAPI) GetActivePrecompilesAt(ctx context.Context, blockTimestamp *uint64) extras.Precompiles {
127128
var timestamp uint64
128129
if blockTimestamp == nil {
129130
timestamp = s.b.CurrentHeader().Time
@@ -140,7 +141,7 @@ type ActivePrecompilesResult struct {
140141

141142
type ActiveRulesResult struct {
142143
EthRules params.Rules `json:"ethRules"`
143-
AvalancheRules params.AvalancheRules `json:"avalancheRules"`
144+
AvalancheRules extras.AvalancheRules `json:"avalancheRules"`
144145
ActivePrecompiles map[string]ActivePrecompilesResult `json:"precompiles"`
145146
}
146147

params/config.go

Lines changed: 25 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
"github.com/ava-labs/avalanchego/upgrade"
3333
"github.com/ava-labs/avalanchego/utils/constants"
3434
ethparams "github.com/ava-labs/libevm/params"
35+
"github.com/ava-labs/subnet-evm/params/extras"
3536
"github.com/ava-labs/subnet-evm/utils"
3637
)
3738

@@ -55,11 +56,11 @@ var (
5556
IstanbulBlock: big.NewInt(0),
5657
MuirGlacierBlock: big.NewInt(0),
5758
},
58-
&ChainConfigExtra{
59+
&extras.ChainConfig{
5960
FeeConfig: DefaultFeeConfig,
6061
AllowFeeRecipients: false,
61-
NetworkUpgrades: getDefaultNetworkUpgrades(upgrade.GetConfig(constants.MainnetID)), // This can be changed to correct network (local, test) via VM.
62-
GenesisPrecompiles: Precompiles{},
62+
NetworkUpgrades: extras.GetDefaultNetworkUpgrades(upgrade.GetConfig(constants.MainnetID)), // This can be changed to correct network (local, test) via VM.
63+
GenesisPrecompiles: extras.Precompiles{},
6364
},
6465
)
6566

@@ -80,14 +81,7 @@ var (
8081
ShanghaiTime: utils.TimeToNewUint64(upgrade.GetConfig(constants.UnitTestID).DurangoTime),
8182
CancunTime: utils.TimeToNewUint64(upgrade.GetConfig(constants.UnitTestID).EtnaTime),
8283
},
83-
&ChainConfigExtra{
84-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
85-
FeeConfig: DefaultFeeConfig,
86-
AllowFeeRecipients: false,
87-
NetworkUpgrades: getDefaultNetworkUpgrades(upgrade.GetConfig(constants.UnitTestID)), // This can be changed to correct network (local, test) via VM.
88-
GenesisPrecompiles: Precompiles{},
89-
UpgradeConfig: UpgradeConfig{},
90-
},
84+
extras.TestChainConfig,
9185
)
9286

9387
TestPreSubnetEVMChainConfig = WithExtra(
@@ -105,17 +99,17 @@ var (
10599
BerlinBlock: big.NewInt(0),
106100
LondonBlock: big.NewInt(0),
107101
},
108-
&ChainConfigExtra{
109-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
102+
&extras.ChainConfig{
103+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
110104
FeeConfig: DefaultFeeConfig,
111105
AllowFeeRecipients: false,
112-
NetworkUpgrades: NetworkUpgrades{
106+
NetworkUpgrades: extras.NetworkUpgrades{
113107
SubnetEVMTimestamp: utils.TimeToNewUint64(upgrade.UnscheduledActivationTime),
114108
DurangoTimestamp: utils.TimeToNewUint64(upgrade.UnscheduledActivationTime),
115109
EtnaTimestamp: utils.TimeToNewUint64(upgrade.UnscheduledActivationTime),
116110
},
117-
GenesisPrecompiles: Precompiles{},
118-
UpgradeConfig: UpgradeConfig{},
111+
GenesisPrecompiles: extras.Precompiles{},
112+
UpgradeConfig: extras.UpgradeConfig{},
119113
},
120114
)
121115

@@ -134,17 +128,17 @@ var (
134128
BerlinBlock: big.NewInt(0),
135129
LondonBlock: big.NewInt(0),
136130
},
137-
&ChainConfigExtra{
138-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
131+
&extras.ChainConfig{
132+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
139133
FeeConfig: DefaultFeeConfig,
140134
AllowFeeRecipients: false,
141-
NetworkUpgrades: NetworkUpgrades{
135+
NetworkUpgrades: extras.NetworkUpgrades{
142136
SubnetEVMTimestamp: utils.NewUint64(0),
143137
DurangoTimestamp: utils.TimeToNewUint64(upgrade.UnscheduledActivationTime),
144138
EtnaTimestamp: utils.TimeToNewUint64(upgrade.UnscheduledActivationTime),
145139
},
146-
GenesisPrecompiles: Precompiles{},
147-
UpgradeConfig: UpgradeConfig{},
140+
GenesisPrecompiles: extras.Precompiles{},
141+
UpgradeConfig: extras.UpgradeConfig{},
148142
},
149143
)
150144

@@ -164,17 +158,17 @@ var (
164158
LondonBlock: big.NewInt(0),
165159
ShanghaiTime: utils.TimeToNewUint64(upgrade.InitiallyActiveTime),
166160
},
167-
&ChainConfigExtra{
168-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
161+
&extras.ChainConfig{
162+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
169163
FeeConfig: DefaultFeeConfig,
170164
AllowFeeRecipients: false,
171-
NetworkUpgrades: NetworkUpgrades{
165+
NetworkUpgrades: extras.NetworkUpgrades{
172166
SubnetEVMTimestamp: utils.NewUint64(0),
173167
DurangoTimestamp: utils.TimeToNewUint64(upgrade.InitiallyActiveTime),
174168
EtnaTimestamp: utils.TimeToNewUint64(upgrade.UnscheduledActivationTime),
175169
},
176-
GenesisPrecompiles: Precompiles{},
177-
UpgradeConfig: UpgradeConfig{},
170+
GenesisPrecompiles: extras.Precompiles{},
171+
UpgradeConfig: extras.UpgradeConfig{},
178172
},
179173
)
180174

@@ -195,17 +189,17 @@ var (
195189
ShanghaiTime: utils.TimeToNewUint64(upgrade.InitiallyActiveTime),
196190
CancunTime: utils.TimeToNewUint64(upgrade.InitiallyActiveTime),
197191
},
198-
&ChainConfigExtra{
199-
AvalancheContext: AvalancheContext{utils.TestSnowContext()},
192+
&extras.ChainConfig{
193+
AvalancheContext: extras.AvalancheContext{SnowCtx: utils.TestSnowContext()},
200194
FeeConfig: DefaultFeeConfig,
201195
AllowFeeRecipients: false,
202-
NetworkUpgrades: NetworkUpgrades{
196+
NetworkUpgrades: extras.NetworkUpgrades{
203197
SubnetEVMTimestamp: utils.NewUint64(0),
204198
DurangoTimestamp: utils.TimeToNewUint64(upgrade.InitiallyActiveTime),
205199
EtnaTimestamp: utils.TimeToNewUint64(upgrade.InitiallyActiveTime),
206200
},
207-
GenesisPrecompiles: Precompiles{},
208-
UpgradeConfig: UpgradeConfig{},
201+
GenesisPrecompiles: extras.Precompiles{},
202+
UpgradeConfig: extras.UpgradeConfig{},
209203
},
210204
)
211205
TestRules = TestChainConfig.Rules(new(big.Int), IsMergeTODO, 0)

0 commit comments

Comments
 (0)