mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-24 05:36:46 +00:00
params: add tests for blobschedule validation
This commit is contained in:
parent
336a2dab56
commit
7b5c1696e5
4 changed files with 80 additions and 3 deletions
|
|
@ -55,13 +55,16 @@ var BlobSchedule = Define(T[map[forks.Fork]BlobConfig]{
|
||||||
// schedule configuration.
|
// schedule configuration.
|
||||||
func validateBlobSchedule(schedule map[forks.Fork]BlobConfig, cfg *Config2) error {
|
func validateBlobSchedule(schedule map[forks.Fork]BlobConfig, cfg *Config2) error {
|
||||||
for f := range forks.All() {
|
for f := range forks.All() {
|
||||||
if cfg.Scheduled(f) && f.Requires(forks.Cancun) {
|
if _, defined := schedule[f]; f.BlockBased() && defined {
|
||||||
|
return fmt.Errorf("contains fork %q with block-number based scheduling", f.ConfigName())
|
||||||
|
}
|
||||||
|
if cfg.Scheduled(f) && f.After(forks.Cancun) {
|
||||||
bcfg, defined := schedule[f]
|
bcfg, defined := schedule[f]
|
||||||
if !defined {
|
if !defined {
|
||||||
return fmt.Errorf("invalid chain configuration: missing entry for fork %q in blobSchedule", f)
|
return fmt.Errorf("missing entry for fork %q", f.ConfigName())
|
||||||
} else {
|
} else {
|
||||||
if err := bcfg.validate(); err != nil {
|
if err := bcfg.validate(); err != nil {
|
||||||
return fmt.Errorf("invalid chain configuration in blobSchedule for fork %q: %v", f, err)
|
return fmt.Errorf("invalid blob config for fork %q: %v", f.ConfigName(), err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
24
params/testdata/invalid-blobschedule-blockbased.json
vendored
Normal file
24
params/testdata/invalid-blobschedule-blockbased.json
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"config": {
|
||||||
|
"homesteadBlock": 0,
|
||||||
|
"eip150Block": 0,
|
||||||
|
"eip155Block": 0,
|
||||||
|
"byzantiumBlock": 0,
|
||||||
|
"constantinopleBlock": 0,
|
||||||
|
"petersburgBlock": 0,
|
||||||
|
"istanbulBlock": 0,
|
||||||
|
"berlinBlock": 0,
|
||||||
|
"londonBlock": 0,
|
||||||
|
"mergeNetsplitBlock": 0,
|
||||||
|
"shanghaiTime": 900,
|
||||||
|
"chainId": 99,
|
||||||
|
"blobSchedule": {
|
||||||
|
"berlin": {
|
||||||
|
"target": 8,
|
||||||
|
"max": 5,
|
||||||
|
"baseFeeUpdateFraction": 3338477
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"error": "invalid blobSchedule: contains fork \"berlin\" with block-number based scheduling"
|
||||||
|
}
|
||||||
26
params/testdata/invalid-blobschedule-missing.json
vendored
Normal file
26
params/testdata/invalid-blobschedule-missing.json
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
"config": {
|
||||||
|
"homesteadBlock": 0,
|
||||||
|
"eip150Block": 0,
|
||||||
|
"eip155Block": 0,
|
||||||
|
"byzantiumBlock": 0,
|
||||||
|
"constantinopleBlock": 0,
|
||||||
|
"petersburgBlock": 0,
|
||||||
|
"istanbulBlock": 0,
|
||||||
|
"berlinBlock": 0,
|
||||||
|
"londonBlock": 0,
|
||||||
|
"mergeNetsplitBlock": 0,
|
||||||
|
"shanghaiTime": 900,
|
||||||
|
"cancunTime": 1000,
|
||||||
|
"pragueTime": 1100,
|
||||||
|
"chainId": 99,
|
||||||
|
"blobSchedule": {
|
||||||
|
"cancun": {
|
||||||
|
"target": 8,
|
||||||
|
"max": 5,
|
||||||
|
"baseFeeUpdateFraction": 3338477
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"error": "invalid blobSchedule: missing entry for fork \"prague\""
|
||||||
|
}
|
||||||
24
params/testdata/invalid-blobschedule-validation.json
vendored
Normal file
24
params/testdata/invalid-blobschedule-validation.json
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"config": {
|
||||||
|
"homesteadBlock": 0,
|
||||||
|
"eip150Block": 0,
|
||||||
|
"eip155Block": 0,
|
||||||
|
"byzantiumBlock": 0,
|
||||||
|
"constantinopleBlock": 0,
|
||||||
|
"petersburgBlock": 0,
|
||||||
|
"istanbulBlock": 0,
|
||||||
|
"berlinBlock": 0,
|
||||||
|
"londonBlock": 0,
|
||||||
|
"mergeNetsplitBlock": 0,
|
||||||
|
"shanghaiTime": 900,
|
||||||
|
"cancunTime": 1000,
|
||||||
|
"chainId": 99,
|
||||||
|
"blobSchedule": {
|
||||||
|
"cancun": {
|
||||||
|
"target": 8,
|
||||||
|
"max": 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"error": "invalid blobSchedule: invalid blob config for fork \"cancun\": update fraction must be defined and non-zero"
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue