mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-18 02:40:45 +00:00
params: remove named hardforks from bpo schedule (#35029)
This commit is contained in:
parent
ea242145cf
commit
0fbad29b94
12 changed files with 52 additions and 88 deletions
|
|
@ -73,8 +73,6 @@ func latestBlobConfig(cfg *params.ChainConfig, time uint64) (BlobConfig, error)
|
||||||
bc = s.BPO2
|
bc = s.BPO2
|
||||||
case cfg.IsBPO1(london, time) && s.BPO1 != nil:
|
case cfg.IsBPO1(london, time) && s.BPO1 != nil:
|
||||||
bc = s.BPO1
|
bc = s.BPO1
|
||||||
case cfg.IsOsaka(london, time) && s.Osaka != nil:
|
|
||||||
bc = s.Osaka
|
|
||||||
case cfg.IsPrague(london, time) && s.Prague != nil:
|
case cfg.IsPrague(london, time) && s.Prague != nil:
|
||||||
bc = s.Prague
|
bc = s.Prague
|
||||||
case cfg.IsCancun(london, time) && s.Cancun != nil:
|
case cfg.IsCancun(london, time) && s.Cancun != nil:
|
||||||
|
|
|
||||||
|
|
@ -120,7 +120,6 @@ func TestCalcBlobFeePostOsaka(t *testing.T) {
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
BPO1: ¶ms.BlobConfig{
|
BPO1: ¶ms.BlobConfig{
|
||||||
Target: 9,
|
Target: 9,
|
||||||
Max: 14,
|
Max: 14,
|
||||||
|
|
@ -191,7 +190,7 @@ func TestFakeExponential(t *testing.T) {
|
||||||
func TestCalcExcessBlobGasEIP7918(t *testing.T) {
|
func TestCalcExcessBlobGasEIP7918(t *testing.T) {
|
||||||
var (
|
var (
|
||||||
cfg = params.MergedTestChainConfig
|
cfg = params.MergedTestChainConfig
|
||||||
targetBlobs = cfg.BlobScheduleConfig.Osaka.Target
|
targetBlobs = cfg.BlobScheduleConfig.Prague.Target
|
||||||
blobGasTarget = uint64(targetBlobs) * params.BlobTxBlobGasPerBlob
|
blobGasTarget = uint64(targetBlobs) * params.BlobTxBlobGasPerBlob
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,6 @@ import (
|
||||||
func balChainConfig() *params.ChainConfig {
|
func balChainConfig() *params.ChainConfig {
|
||||||
cfg := *params.MergedTestChainConfig
|
cfg := *params.MergedTestChainConfig
|
||||||
cfg.AmsterdamTime = new(uint64)
|
cfg.AmsterdamTime = new(uint64)
|
||||||
blob := *cfg.BlobScheduleConfig
|
|
||||||
blob.Amsterdam = blob.Osaka
|
|
||||||
cfg.BlobScheduleConfig = &blob
|
|
||||||
return &cfg
|
return &cfg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,8 +55,9 @@ var (
|
||||||
UBTTime: u64(0),
|
UBTTime: u64(0),
|
||||||
TerminalTotalDifficulty: common.Big0,
|
TerminalTotalDifficulty: common.Big0,
|
||||||
EnableUBTAtGenesis: true,
|
EnableUBTAtGenesis: true,
|
||||||
|
// UBT inherits its blob schedule; nothing to declare here.
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
UBT: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -78,11 +78,7 @@ func testEthTransferLogs(t *testing.T, value uint64) {
|
||||||
engine = beacon.New(ethash.NewFaker())
|
engine = beacon.New(ethash.NewFaker())
|
||||||
)
|
)
|
||||||
|
|
||||||
//TODO remove this hacky config initialization when final Amsterdam config is available
|
|
||||||
config.AmsterdamTime = new(uint64)
|
config.AmsterdamTime = new(uint64)
|
||||||
blobConfig := *config.BlobScheduleConfig
|
|
||||||
blobConfig.Amsterdam = blobConfig.Osaka
|
|
||||||
config.BlobScheduleConfig = &blobConfig
|
|
||||||
|
|
||||||
gspec := &Genesis{
|
gspec := &Genesis{
|
||||||
Config: &config,
|
Config: &config,
|
||||||
|
|
|
||||||
|
|
@ -293,8 +293,6 @@ func TestBinaryGenesisCommit(t *testing.T) {
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
UBT: params.DefaultPragueBlobConfig,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1215,11 +1215,6 @@ func TestBillyMigration(t *testing.T) {
|
||||||
Max: maxBlobs,
|
Max: maxBlobs,
|
||||||
UpdateFraction: params.DefaultCancunBlobConfig.UpdateFraction,
|
UpdateFraction: params.DefaultCancunBlobConfig.UpdateFraction,
|
||||||
},
|
},
|
||||||
Osaka: ¶ms.BlobConfig{
|
|
||||||
Target: maxBlobs / 2,
|
|
||||||
Max: maxBlobs,
|
|
||||||
UpdateFraction: params.DefaultCancunBlobConfig.UpdateFraction,
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
chain := &testBlockChain{
|
chain := &testBlockChain{
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@ func newTestCache(t *testing.T, txConfig []txSpec) *testCache {
|
||||||
CancunTime: &cancunTime,
|
CancunTime: &cancunTime,
|
||||||
OsakaTime: &cancunTime,
|
OsakaTime: &cancunTime,
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Osaka: ¶ms.BlobConfig{
|
Cancun: ¶ms.BlobConfig{
|
||||||
Target: 1,
|
Target: 1,
|
||||||
Max: 1,
|
Max: 1,
|
||||||
UpdateFraction: params.DefaultCancunBlobConfig.UpdateFraction,
|
UpdateFraction: params.DefaultCancunBlobConfig.UpdateFraction,
|
||||||
|
|
|
||||||
|
|
@ -197,7 +197,6 @@ func newBenchmarkBlobEnv(b *testing.B, blobCount int, version byte, fork benchFo
|
||||||
config.BlobScheduleConfig = ¶ms.BlobScheduleConfig{
|
config.BlobScheduleConfig = ¶ms.BlobScheduleConfig{
|
||||||
Cancun: ¶ms.BlobConfig{Target: 6, Max: 128, UpdateFraction: 3338477},
|
Cancun: ¶ms.BlobConfig{Target: 6, Max: 128, UpdateFraction: 3338477},
|
||||||
Prague: ¶ms.BlobConfig{Target: 6, Max: 128, UpdateFraction: 5007716},
|
Prague: ¶ms.BlobConfig{Target: 6, Max: 128, UpdateFraction: 5007716},
|
||||||
Osaka: ¶ms.BlobConfig{Target: 6, Max: 128, UpdateFraction: 5007716},
|
|
||||||
}
|
}
|
||||||
// Configure fork times based on requested fork
|
// Configure fork times based on requested fork
|
||||||
switch fork {
|
switch fork {
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,10 @@ func makeGenesis(faucets []*ecdsa.PrivateKey) *core.Genesis {
|
||||||
|
|
||||||
blockZero := uint64(0)
|
blockZero := uint64(0)
|
||||||
config.AmsterdamTime = &blockZero
|
config.AmsterdamTime = &blockZero
|
||||||
config.BlobScheduleConfig.Amsterdam = ¶ms.BlobConfig{
|
// Amsterdam inherits its blob schedule from the most recent BPO; activate BPO1
|
||||||
|
// at the same time with the target/max we want exercised by the stress harness.
|
||||||
|
config.BPO1Time = &blockZero
|
||||||
|
config.BlobScheduleConfig.BPO1 = ¶ms.BlobConfig{
|
||||||
Target: 14,
|
Target: 14,
|
||||||
Max: 21,
|
Max: 21,
|
||||||
UpdateFraction: 13739630,
|
UpdateFraction: 13739630,
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,6 @@ var (
|
||||||
BlobScheduleConfig: &BlobScheduleConfig{
|
BlobScheduleConfig: &BlobScheduleConfig{
|
||||||
Cancun: DefaultCancunBlobConfig,
|
Cancun: DefaultCancunBlobConfig,
|
||||||
Prague: DefaultPragueBlobConfig,
|
Prague: DefaultPragueBlobConfig,
|
||||||
Osaka: DefaultOsakaBlobConfig,
|
|
||||||
BPO1: DefaultBPO1BlobConfig,
|
BPO1: DefaultBPO1BlobConfig,
|
||||||
BPO2: DefaultBPO2BlobConfig,
|
BPO2: DefaultBPO2BlobConfig,
|
||||||
},
|
},
|
||||||
|
|
@ -105,7 +104,6 @@ var (
|
||||||
BlobScheduleConfig: &BlobScheduleConfig{
|
BlobScheduleConfig: &BlobScheduleConfig{
|
||||||
Cancun: DefaultCancunBlobConfig,
|
Cancun: DefaultCancunBlobConfig,
|
||||||
Prague: DefaultPragueBlobConfig,
|
Prague: DefaultPragueBlobConfig,
|
||||||
Osaka: DefaultOsakaBlobConfig,
|
|
||||||
BPO1: DefaultBPO1BlobConfig,
|
BPO1: DefaultBPO1BlobConfig,
|
||||||
BPO2: DefaultBPO2BlobConfig,
|
BPO2: DefaultBPO2BlobConfig,
|
||||||
},
|
},
|
||||||
|
|
@ -141,7 +139,6 @@ var (
|
||||||
BlobScheduleConfig: &BlobScheduleConfig{
|
BlobScheduleConfig: &BlobScheduleConfig{
|
||||||
Cancun: DefaultCancunBlobConfig,
|
Cancun: DefaultCancunBlobConfig,
|
||||||
Prague: DefaultPragueBlobConfig,
|
Prague: DefaultPragueBlobConfig,
|
||||||
Osaka: DefaultOsakaBlobConfig,
|
|
||||||
BPO1: DefaultBPO1BlobConfig,
|
BPO1: DefaultBPO1BlobConfig,
|
||||||
BPO2: DefaultBPO2BlobConfig,
|
BPO2: DefaultBPO2BlobConfig,
|
||||||
},
|
},
|
||||||
|
|
@ -177,7 +174,6 @@ var (
|
||||||
BlobScheduleConfig: &BlobScheduleConfig{
|
BlobScheduleConfig: &BlobScheduleConfig{
|
||||||
Cancun: DefaultCancunBlobConfig,
|
Cancun: DefaultCancunBlobConfig,
|
||||||
Prague: DefaultPragueBlobConfig,
|
Prague: DefaultPragueBlobConfig,
|
||||||
Osaka: DefaultOsakaBlobConfig,
|
|
||||||
BPO1: DefaultBPO1BlobConfig,
|
BPO1: DefaultBPO1BlobConfig,
|
||||||
BPO2: DefaultBPO2BlobConfig,
|
BPO2: DefaultBPO2BlobConfig,
|
||||||
},
|
},
|
||||||
|
|
@ -235,7 +231,6 @@ var (
|
||||||
BlobScheduleConfig: &BlobScheduleConfig{
|
BlobScheduleConfig: &BlobScheduleConfig{
|
||||||
Cancun: DefaultCancunBlobConfig,
|
Cancun: DefaultCancunBlobConfig,
|
||||||
Prague: DefaultPragueBlobConfig,
|
Prague: DefaultPragueBlobConfig,
|
||||||
Osaka: DefaultOsakaBlobConfig,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -330,7 +325,6 @@ var (
|
||||||
BlobScheduleConfig: &BlobScheduleConfig{
|
BlobScheduleConfig: &BlobScheduleConfig{
|
||||||
Cancun: DefaultCancunBlobConfig,
|
Cancun: DefaultCancunBlobConfig,
|
||||||
Prague: DefaultPragueBlobConfig,
|
Prague: DefaultPragueBlobConfig,
|
||||||
Osaka: DefaultOsakaBlobConfig,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -379,12 +373,6 @@ var (
|
||||||
Max: 9,
|
Max: 9,
|
||||||
UpdateFraction: 5007716,
|
UpdateFraction: 5007716,
|
||||||
}
|
}
|
||||||
// DefaultOsakaBlobConfig is the default blob configuration for the Osaka fork.
|
|
||||||
DefaultOsakaBlobConfig = &BlobConfig{
|
|
||||||
Target: 6,
|
|
||||||
Max: 9,
|
|
||||||
UpdateFraction: 5007716,
|
|
||||||
}
|
|
||||||
// DefaultBPO1BlobConfig is the default blob configuration for the BPO1 fork.
|
// DefaultBPO1BlobConfig is the default blob configuration for the BPO1 fork.
|
||||||
DefaultBPO1BlobConfig = &BlobConfig{
|
DefaultBPO1BlobConfig = &BlobConfig{
|
||||||
Target: 10,
|
Target: 10,
|
||||||
|
|
@ -413,7 +401,6 @@ var (
|
||||||
DefaultBlobSchedule = &BlobScheduleConfig{
|
DefaultBlobSchedule = &BlobScheduleConfig{
|
||||||
Cancun: DefaultCancunBlobConfig,
|
Cancun: DefaultCancunBlobConfig,
|
||||||
Prague: DefaultPragueBlobConfig,
|
Prague: DefaultPragueBlobConfig,
|
||||||
Osaka: DefaultOsakaBlobConfig,
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -670,7 +657,7 @@ func (c *ChainConfig) Description() string {
|
||||||
banner += fmt.Sprintf(" - Prague: @%-10v blob: (%s)\n", *c.PragueTime, c.BlobScheduleConfig.Prague)
|
banner += fmt.Sprintf(" - Prague: @%-10v blob: (%s)\n", *c.PragueTime, c.BlobScheduleConfig.Prague)
|
||||||
}
|
}
|
||||||
if c.OsakaTime != nil {
|
if c.OsakaTime != nil {
|
||||||
banner += fmt.Sprintf(" - Osaka: @%-10v blob: (%s)\n", *c.OsakaTime, c.BlobScheduleConfig.Osaka)
|
banner += fmt.Sprintf(" - Osaka: @%-10v\n", *c.OsakaTime)
|
||||||
}
|
}
|
||||||
if c.BPO1Time != nil {
|
if c.BPO1Time != nil {
|
||||||
banner += fmt.Sprintf(" - BPO1: @%-10v blob: (%s)\n", *c.BPO1Time, c.BlobScheduleConfig.BPO1)
|
banner += fmt.Sprintf(" - BPO1: @%-10v blob: (%s)\n", *c.BPO1Time, c.BlobScheduleConfig.BPO1)
|
||||||
|
|
@ -688,10 +675,10 @@ func (c *ChainConfig) Description() string {
|
||||||
banner += fmt.Sprintf(" - BPO5: @%-10v blob: (%s)\n", *c.BPO5Time, c.BlobScheduleConfig.BPO5)
|
banner += fmt.Sprintf(" - BPO5: @%-10v blob: (%s)\n", *c.BPO5Time, c.BlobScheduleConfig.BPO5)
|
||||||
}
|
}
|
||||||
if c.AmsterdamTime != nil {
|
if c.AmsterdamTime != nil {
|
||||||
banner += fmt.Sprintf(" - Amsterdam: @%-10v blob: (%s)\n", *c.AmsterdamTime, c.BlobScheduleConfig.Amsterdam)
|
banner += fmt.Sprintf(" - Amsterdam: @%-10v\n", *c.AmsterdamTime)
|
||||||
}
|
}
|
||||||
if c.UBTTime != nil {
|
if c.UBTTime != nil {
|
||||||
banner += fmt.Sprintf(" - UBT: @%-10v blob: (%s)\n", *c.UBTTime, c.BlobScheduleConfig.UBT)
|
banner += fmt.Sprintf(" - UBT: @%-10v\n", *c.UBTTime)
|
||||||
}
|
}
|
||||||
banner += fmt.Sprintf("\nAll fork specifications can be found at https://ethereum.github.io/execution-specs/src/ethereum/forks/\n")
|
banner += fmt.Sprintf("\nAll fork specifications can be found at https://ethereum.github.io/execution-specs/src/ethereum/forks/\n")
|
||||||
return banner
|
return banner
|
||||||
|
|
@ -713,17 +700,18 @@ func (bc *BlobConfig) String() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
// BlobScheduleConfig determines target and max number of blobs allow per fork.
|
// BlobScheduleConfig determines target and max number of blobs allow per fork.
|
||||||
|
//
|
||||||
|
// From Prague onward, the blob schedule is updated only at BPO (Blob Parameter-Only)
|
||||||
|
// forks. Named forks such as Osaka or Amsterdam inherit the most recently configured
|
||||||
|
// BPO entry and must not declare their own BlobConfig.
|
||||||
type BlobScheduleConfig struct {
|
type BlobScheduleConfig struct {
|
||||||
Cancun *BlobConfig `json:"cancun,omitempty"`
|
Cancun *BlobConfig `json:"cancun,omitempty"`
|
||||||
Prague *BlobConfig `json:"prague,omitempty"`
|
Prague *BlobConfig `json:"prague,omitempty"`
|
||||||
Osaka *BlobConfig `json:"osaka,omitempty"`
|
BPO1 *BlobConfig `json:"bpo1,omitempty"`
|
||||||
BPO1 *BlobConfig `json:"bpo1,omitempty"`
|
BPO2 *BlobConfig `json:"bpo2,omitempty"`
|
||||||
BPO2 *BlobConfig `json:"bpo2,omitempty"`
|
BPO3 *BlobConfig `json:"bpo3,omitempty"`
|
||||||
BPO3 *BlobConfig `json:"bpo3,omitempty"`
|
BPO4 *BlobConfig `json:"bpo4,omitempty"`
|
||||||
BPO4 *BlobConfig `json:"bpo4,omitempty"`
|
BPO5 *BlobConfig `json:"bpo5,omitempty"`
|
||||||
BPO5 *BlobConfig `json:"bpo5,omitempty"`
|
|
||||||
Amsterdam *BlobConfig `json:"amsterdam,omitempty"`
|
|
||||||
UBT *BlobConfig `json:"ubt,omitempty"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsHomestead returns whether num is either equal to the homestead block or greater.
|
// IsHomestead returns whether num is either equal to the homestead block or greater.
|
||||||
|
|
@ -1000,13 +988,11 @@ func (c *ChainConfig) CheckConfigForkOrder() error {
|
||||||
}{
|
}{
|
||||||
{name: "cancun", timestamp: c.CancunTime, config: bsc.Cancun},
|
{name: "cancun", timestamp: c.CancunTime, config: bsc.Cancun},
|
||||||
{name: "prague", timestamp: c.PragueTime, config: bsc.Prague},
|
{name: "prague", timestamp: c.PragueTime, config: bsc.Prague},
|
||||||
{name: "osaka", timestamp: c.OsakaTime, config: bsc.Osaka},
|
|
||||||
{name: "bpo1", timestamp: c.BPO1Time, config: bsc.BPO1},
|
{name: "bpo1", timestamp: c.BPO1Time, config: bsc.BPO1},
|
||||||
{name: "bpo2", timestamp: c.BPO2Time, config: bsc.BPO2},
|
{name: "bpo2", timestamp: c.BPO2Time, config: bsc.BPO2},
|
||||||
{name: "bpo3", timestamp: c.BPO3Time, config: bsc.BPO3},
|
{name: "bpo3", timestamp: c.BPO3Time, config: bsc.BPO3},
|
||||||
{name: "bpo4", timestamp: c.BPO4Time, config: bsc.BPO4},
|
{name: "bpo4", timestamp: c.BPO4Time, config: bsc.BPO4},
|
||||||
{name: "bpo5", timestamp: c.BPO5Time, config: bsc.BPO5},
|
{name: "bpo5", timestamp: c.BPO5Time, config: bsc.BPO5},
|
||||||
{name: "amsterdam", timestamp: c.AmsterdamTime, config: bsc.Amsterdam},
|
|
||||||
} {
|
} {
|
||||||
if cur.config != nil {
|
if cur.config != nil {
|
||||||
if err := cur.config.validate(); err != nil {
|
if err := cur.config.validate(); err != nil {
|
||||||
|
|
@ -1169,28 +1155,33 @@ func (c *ChainConfig) LatestFork(time uint64) forks.Fork {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// BlobConfig returns the blob config associated with the provided fork.
|
// BlobConfig returns the blob config active at the provided fork. Since named
|
||||||
|
// forks (Osaka, Amsterdam, ...) no longer carry their own blob schedule, the
|
||||||
|
// lookup walks down from fork through the BPO chain to Prague/Cancun and returns
|
||||||
|
// the first non-nil entry.
|
||||||
func (c *ChainConfig) BlobConfig(fork forks.Fork) *BlobConfig {
|
func (c *ChainConfig) BlobConfig(fork forks.Fork) *BlobConfig {
|
||||||
switch fork {
|
if c.BlobScheduleConfig == nil {
|
||||||
case forks.BPO5:
|
|
||||||
return c.BlobScheduleConfig.BPO5
|
|
||||||
case forks.BPO4:
|
|
||||||
return c.BlobScheduleConfig.BPO4
|
|
||||||
case forks.BPO3:
|
|
||||||
return c.BlobScheduleConfig.BPO3
|
|
||||||
case forks.BPO2:
|
|
||||||
return c.BlobScheduleConfig.BPO2
|
|
||||||
case forks.BPO1:
|
|
||||||
return c.BlobScheduleConfig.BPO1
|
|
||||||
case forks.Osaka:
|
|
||||||
return c.BlobScheduleConfig.Osaka
|
|
||||||
case forks.Prague:
|
|
||||||
return c.BlobScheduleConfig.Prague
|
|
||||||
case forks.Cancun:
|
|
||||||
return c.BlobScheduleConfig.Cancun
|
|
||||||
default:
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
bsc := c.BlobScheduleConfig
|
||||||
|
chain := []struct {
|
||||||
|
at forks.Fork
|
||||||
|
cfg *BlobConfig
|
||||||
|
}{
|
||||||
|
{forks.BPO5, bsc.BPO5},
|
||||||
|
{forks.BPO4, bsc.BPO4},
|
||||||
|
{forks.BPO3, bsc.BPO3},
|
||||||
|
{forks.BPO2, bsc.BPO2},
|
||||||
|
{forks.BPO1, bsc.BPO1},
|
||||||
|
{forks.Prague, bsc.Prague},
|
||||||
|
{forks.Cancun, bsc.Cancun},
|
||||||
|
}
|
||||||
|
for _, e := range chain {
|
||||||
|
if e.at <= fork && e.cfg != nil {
|
||||||
|
return e.cfg
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// ActiveSystemContracts returns the currently active system contracts at the
|
// ActiveSystemContracts returns the currently active system contracts at the
|
||||||
|
|
|
||||||
|
|
@ -434,7 +434,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"PragueToOsakaAtTime15k": {
|
"PragueToOsakaAtTime15k": {
|
||||||
|
|
@ -461,7 +460,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"BPO1": {
|
"BPO1": {
|
||||||
|
|
@ -489,7 +487,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
BPO1: bpo1BlobConfig,
|
BPO1: bpo1BlobConfig,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -518,7 +515,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
BPO1: bpo1BlobConfig,
|
BPO1: bpo1BlobConfig,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
@ -548,7 +544,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
BPO1: bpo1BlobConfig,
|
BPO1: bpo1BlobConfig,
|
||||||
BPO2: bpo2BlobConfig,
|
BPO2: bpo2BlobConfig,
|
||||||
},
|
},
|
||||||
|
|
@ -579,7 +574,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
BPO1: bpo1BlobConfig,
|
BPO1: bpo1BlobConfig,
|
||||||
BPO2: bpo2BlobConfig,
|
BPO2: bpo2BlobConfig,
|
||||||
},
|
},
|
||||||
|
|
@ -611,7 +605,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
BPO1: bpo1BlobConfig,
|
BPO1: bpo1BlobConfig,
|
||||||
BPO2: bpo2BlobConfig,
|
BPO2: bpo2BlobConfig,
|
||||||
BPO3: params.DefaultBPO3BlobConfig,
|
BPO3: params.DefaultBPO3BlobConfig,
|
||||||
|
|
@ -644,7 +637,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
BPO1: bpo1BlobConfig,
|
BPO1: bpo1BlobConfig,
|
||||||
BPO2: bpo2BlobConfig,
|
BPO2: bpo2BlobConfig,
|
||||||
BPO3: params.DefaultBPO3BlobConfig,
|
BPO3: params.DefaultBPO3BlobConfig,
|
||||||
|
|
@ -678,7 +670,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
BPO1: bpo1BlobConfig,
|
BPO1: bpo1BlobConfig,
|
||||||
BPO2: bpo2BlobConfig,
|
BPO2: bpo2BlobConfig,
|
||||||
BPO3: params.DefaultBPO3BlobConfig,
|
BPO3: params.DefaultBPO3BlobConfig,
|
||||||
|
|
@ -713,7 +704,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
BPO1: bpo1BlobConfig,
|
BPO1: bpo1BlobConfig,
|
||||||
BPO2: bpo2BlobConfig,
|
BPO2: bpo2BlobConfig,
|
||||||
BPO3: params.DefaultBPO3BlobConfig,
|
BPO3: params.DefaultBPO3BlobConfig,
|
||||||
|
|
@ -747,14 +737,12 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
AmsterdamTime: u64(0),
|
AmsterdamTime: u64(0),
|
||||||
DepositContractAddress: params.MainnetChainConfig.DepositContractAddress,
|
DepositContractAddress: params.MainnetChainConfig.DepositContractAddress,
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
BPO1: bpo1BlobConfig,
|
||||||
BPO1: bpo1BlobConfig,
|
BPO2: bpo2BlobConfig,
|
||||||
BPO2: bpo2BlobConfig,
|
BPO3: params.DefaultBPO3BlobConfig,
|
||||||
BPO3: params.DefaultBPO3BlobConfig,
|
BPO4: params.DefaultBPO4BlobConfig,
|
||||||
BPO4: params.DefaultBPO4BlobConfig,
|
|
||||||
Amsterdam: params.DefaultBPO4BlobConfig, // TODO update when defined
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"Verkle": {
|
"Verkle": {
|
||||||
|
|
@ -801,7 +789,6 @@ var Forks = map[string]*params.ChainConfig{
|
||||||
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
BlobScheduleConfig: ¶ms.BlobScheduleConfig{
|
||||||
Cancun: params.DefaultCancunBlobConfig,
|
Cancun: params.DefaultCancunBlobConfig,
|
||||||
Prague: params.DefaultPragueBlobConfig,
|
Prague: params.DefaultPragueBlobConfig,
|
||||||
Osaka: params.DefaultOsakaBlobConfig,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue