tests: update blob schedule

This commit is contained in:
Marius van der Wijden 2026-04-22 12:01:38 +02:00 committed by Jared Wasinger
parent c01103b79e
commit f5eb7f674f
4 changed files with 62 additions and 31 deletions

View file

@ -194,6 +194,7 @@ func NewWithReader(root common.Hash, db Database, reader Reader) (*StateDB, erro
journal: newJournal(), journal: newJournal(),
accessList: newAccessList(), accessList: newAccessList(),
transientStorage: newTransientStorage(), transientStorage: newTransientStorage(),
stateReadList: bal.NewStateAccessList(),
} }
if db.Type().Is(TypeUBT) { if db.Type().Is(TypeUBT) {
sdb.accessEvents = NewAccessEvents() sdb.accessEvents = NewAccessEvents()

View file

@ -98,6 +98,7 @@ type btHeader struct {
ExcessBlobGas *uint64 ExcessBlobGas *uint64
ParentBeaconBlockRoot *common.Hash ParentBeaconBlockRoot *common.Hash
SlotNumber *uint64 SlotNumber *uint64
BlockAccessListHash *common.Hash
} }
type btHeaderMarshaling struct { type btHeaderMarshaling struct {
@ -225,8 +226,10 @@ func (t *BlockTest) genesis(config *params.ChainConfig) *core.Genesis {
Coinbase: t.json.Genesis.Coinbase, Coinbase: t.json.Genesis.Coinbase,
Alloc: t.json.Pre, Alloc: t.json.Pre,
BaseFee: t.json.Genesis.BaseFeePerGas, BaseFee: t.json.Genesis.BaseFeePerGas,
BlobGasUsed: t.json.Genesis.BlobGasUsed, BlobGasUsed: t.json.Genesis.BlobGasUsed,
ExcessBlobGas: t.json.Genesis.ExcessBlobGas, ExcessBlobGas: t.json.Genesis.ExcessBlobGas,
SlotNumber: t.json.Genesis.SlotNumber,
BlockAccessListHash: t.json.Genesis.BlockAccessListHash,
} }
} }

View file

@ -39,6 +39,7 @@ func (b btHeader) MarshalJSON() ([]byte, error) {
ExcessBlobGas *math.HexOrDecimal64 ExcessBlobGas *math.HexOrDecimal64
ParentBeaconBlockRoot *common.Hash ParentBeaconBlockRoot *common.Hash
SlotNumber *math.HexOrDecimal64 SlotNumber *math.HexOrDecimal64
BlockAccessListHash *common.Hash
} }
var enc btHeader var enc btHeader
enc.Bloom = b.Bloom enc.Bloom = b.Bloom
@ -63,6 +64,7 @@ func (b btHeader) MarshalJSON() ([]byte, error) {
enc.ExcessBlobGas = (*math.HexOrDecimal64)(b.ExcessBlobGas) enc.ExcessBlobGas = (*math.HexOrDecimal64)(b.ExcessBlobGas)
enc.ParentBeaconBlockRoot = b.ParentBeaconBlockRoot enc.ParentBeaconBlockRoot = b.ParentBeaconBlockRoot
enc.SlotNumber = (*math.HexOrDecimal64)(b.SlotNumber) enc.SlotNumber = (*math.HexOrDecimal64)(b.SlotNumber)
enc.BlockAccessListHash = b.BlockAccessListHash
return json.Marshal(&enc) return json.Marshal(&enc)
} }
@ -91,6 +93,7 @@ func (b *btHeader) UnmarshalJSON(input []byte) error {
ExcessBlobGas *math.HexOrDecimal64 ExcessBlobGas *math.HexOrDecimal64
ParentBeaconBlockRoot *common.Hash ParentBeaconBlockRoot *common.Hash
SlotNumber *math.HexOrDecimal64 SlotNumber *math.HexOrDecimal64
BlockAccessListHash *common.Hash
} }
var dec btHeader var dec btHeader
if err := json.Unmarshal(input, &dec); err != nil { if err := json.Unmarshal(input, &dec); err != nil {
@ -162,5 +165,8 @@ func (b *btHeader) UnmarshalJSON(input []byte) error {
if dec.SlotNumber != nil { if dec.SlotNumber != nil {
b.SlotNumber = (*uint64)(dec.SlotNumber) b.SlotNumber = (*uint64)(dec.SlotNumber)
} }
if dec.BlockAccessListHash != nil {
b.BlockAccessListHash = dec.BlockAccessListHash
}
return nil return nil
} }

View file

@ -490,7 +490,7 @@ var Forks = map[string]*params.ChainConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
Osaka: params.DefaultOsakaBlobConfig, Osaka: params.DefaultOsakaBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
}, },
}, },
"OsakaToBPO1AtTime15k": { "OsakaToBPO1AtTime15k": {
@ -519,7 +519,7 @@ var Forks = map[string]*params.ChainConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
Osaka: params.DefaultOsakaBlobConfig, Osaka: params.DefaultOsakaBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
}, },
}, },
"BPO2": { "BPO2": {
@ -549,8 +549,8 @@ var Forks = map[string]*params.ChainConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
Osaka: params.DefaultOsakaBlobConfig, Osaka: params.DefaultOsakaBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
}, },
}, },
"BPO1ToBPO2AtTime15k": { "BPO1ToBPO2AtTime15k": {
@ -580,8 +580,8 @@ var Forks = map[string]*params.ChainConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
Osaka: params.DefaultOsakaBlobConfig, Osaka: params.DefaultOsakaBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
}, },
}, },
"BPO3": { "BPO3": {
@ -612,8 +612,8 @@ var Forks = map[string]*params.ChainConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
Osaka: params.DefaultOsakaBlobConfig, Osaka: params.DefaultOsakaBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
BPO3: params.DefaultBPO3BlobConfig, BPO3: params.DefaultBPO3BlobConfig,
}, },
}, },
@ -645,8 +645,8 @@ var Forks = map[string]*params.ChainConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
Osaka: params.DefaultOsakaBlobConfig, Osaka: params.DefaultOsakaBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
BPO3: params.DefaultBPO3BlobConfig, BPO3: params.DefaultBPO3BlobConfig,
}, },
}, },
@ -679,8 +679,8 @@ var Forks = map[string]*params.ChainConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
Osaka: params.DefaultOsakaBlobConfig, Osaka: params.DefaultOsakaBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
BPO3: params.DefaultBPO3BlobConfig, BPO3: params.DefaultBPO3BlobConfig,
BPO4: params.DefaultBPO4BlobConfig, BPO4: params.DefaultBPO4BlobConfig,
}, },
@ -714,8 +714,8 @@ var Forks = map[string]*params.ChainConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
Osaka: params.DefaultOsakaBlobConfig, Osaka: params.DefaultOsakaBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
BPO3: params.DefaultBPO3BlobConfig, BPO3: params.DefaultBPO3BlobConfig,
BPO4: params.DefaultBPO4BlobConfig, BPO4: params.DefaultBPO4BlobConfig,
}, },
@ -750,11 +750,44 @@ var Forks = map[string]*params.ChainConfig{
Cancun: params.DefaultCancunBlobConfig, Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig, Prague: params.DefaultPragueBlobConfig,
Osaka: params.DefaultOsakaBlobConfig, Osaka: params.DefaultOsakaBlobConfig,
BPO1: bpo1BlobConfig, BPO1: params.DefaultBPO1BlobConfig,
BPO2: bpo2BlobConfig, BPO2: params.DefaultBPO2BlobConfig,
BPO3: params.DefaultBPO3BlobConfig, BPO3: params.DefaultBPO3BlobConfig,
BPO4: params.DefaultBPO4BlobConfig, BPO4: params.DefaultBPO4BlobConfig,
Amsterdam: params.DefaultBPO4BlobConfig, // TODO update when defined Amsterdam: params.DefaultBPO2BlobConfig,
},
},
"BPO2ToAmsterdamAtTime15k": {
ChainID: big.NewInt(1),
HomesteadBlock: big.NewInt(0),
EIP150Block: big.NewInt(0),
EIP155Block: big.NewInt(0),
EIP158Block: big.NewInt(0),
ByzantiumBlock: big.NewInt(0),
ConstantinopleBlock: big.NewInt(0),
PetersburgBlock: big.NewInt(0),
IstanbulBlock: big.NewInt(0),
MuirGlacierBlock: big.NewInt(0),
BerlinBlock: big.NewInt(0),
LondonBlock: big.NewInt(0),
ArrowGlacierBlock: big.NewInt(0),
MergeNetsplitBlock: big.NewInt(0),
TerminalTotalDifficulty: big.NewInt(0),
ShanghaiTime: u64(0),
CancunTime: u64(0),
PragueTime: u64(0),
OsakaTime: u64(0),
BPO1Time: u64(0),
BPO2Time: u64(0),
AmsterdamTime: u64(15_000),
DepositContractAddress: params.MainnetChainConfig.DepositContractAddress,
BlobScheduleConfig: &params.BlobScheduleConfig{
Cancun: params.DefaultCancunBlobConfig,
Prague: params.DefaultPragueBlobConfig,
Osaka: params.DefaultOsakaBlobConfig,
BPO1: params.DefaultBPO1BlobConfig,
BPO2: params.DefaultBPO2BlobConfig,
Amsterdam: params.DefaultBPO2BlobConfig,
}, },
}, },
"Verkle": { "Verkle": {
@ -778,18 +811,6 @@ var Forks = map[string]*params.ChainConfig{
}, },
} }
var bpo1BlobConfig = &params.BlobConfig{
Target: 9,
Max: 14,
UpdateFraction: 8832827,
}
var bpo2BlobConfig = &params.BlobConfig{
Target: 14,
Max: 21,
UpdateFraction: 13739630,
}
// AvailableForks returns the set of defined fork names // AvailableForks returns the set of defined fork names
func AvailableForks() []string { func AvailableForks() []string {
var availableForks []string var availableForks []string