mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-08 04:54:05 -05:00
Set Fulu fork epochs for Holesky, Hoodi, and Sepolia testnets (#15721)
* Set Fulu fork epochs for Holesky, Hoodi, and Sepolia testnets * Update commits * Add fulu.yaml to the presets file path loader * Add the following placeholder fields: - CELLS_PER_EXT_BLOB - FIELD_ELEMENTS_PER_CELL - FIELD_ELEMENTS_PER_EXT_BLOB - KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH --------- Co-authored-by: Preston Van Loon <preston@pvl.dev>
This commit is contained in:
@@ -30,6 +30,7 @@ var placeholderFields = []string{
|
||||
"ATTESTATION_DUE_BPS",
|
||||
"ATTESTATION_DUE_BPS_GLOAS",
|
||||
"BLOB_SIDECAR_SUBNET_COUNT_FULU",
|
||||
"CELLS_PER_EXT_BLOB",
|
||||
"CONTRIBUTION_DUE_BPS",
|
||||
"CONTRIBUTION_DUE_BPS_GLOAS",
|
||||
"EIP6110_FORK_EPOCH",
|
||||
@@ -45,10 +46,13 @@ var placeholderFields = []string{
|
||||
"EIP7928_FORK_EPOCH",
|
||||
"EIP7928_FORK_VERSION",
|
||||
"EPOCHS_PER_SHUFFLING_PHASE",
|
||||
"FIELD_ELEMENTS_PER_CELL", // Configured as a constant in config/fieldparams/mainnet.go
|
||||
"FIELD_ELEMENTS_PER_EXT_BLOB", // Configured in proto/ssz_proto_library.bzl
|
||||
"GLOAS_FORK_EPOCH",
|
||||
"GLOAS_FORK_VERSION",
|
||||
"INCLUSION_LIST_SUBMISSION_DEADLINE",
|
||||
"INCLUSION_LIST_SUBMISSION_DUE_BPS",
|
||||
"KZG_COMMITMENTS_INCLUSION_PROOF_DEPTH", // Configured in proto/ssz_proto_library.bzl
|
||||
"MAX_BYTES_PER_INCLUSION_LIST",
|
||||
"MAX_REQUEST_BLOB_SIDECARS_FULU",
|
||||
"MAX_REQUEST_INCLUSION_LIST",
|
||||
@@ -388,6 +392,7 @@ func presetsFilePath(t *testing.T, config string) []string {
|
||||
path.Join(fPath, "presets", config, "capella.yaml"),
|
||||
path.Join(fPath, "presets", config, "deneb.yaml"),
|
||||
path.Join(fPath, "presets", config, "electra.yaml"),
|
||||
path.Join(fPath, "presets", config, "fulu.yaml"),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package params
|
||||
|
||||
import "math"
|
||||
|
||||
// UseHoleskyNetworkConfig uses the Holesky beacon chain specific network config.
|
||||
func UseHoleskyNetworkConfig() {
|
||||
cfg := BeaconNetworkConfig().Copy()
|
||||
@@ -41,12 +39,21 @@ func HoleskyConfig() *BeaconChainConfig {
|
||||
cfg.DenebForkVersion = []byte{0x05, 0x1, 0x70, 0x0}
|
||||
cfg.ElectraForkEpoch = 115968 // Mon, Feb 24 at 21:55:12 UTC
|
||||
cfg.ElectraForkVersion = []byte{0x06, 0x1, 0x70, 0x0}
|
||||
cfg.FuluForkEpoch = math.MaxUint64
|
||||
cfg.FuluForkVersion = []byte{0x07, 0x1, 0x70, 0x0} // TODO: Define holesky fork version for fulu. This is a placeholder value.
|
||||
cfg.FuluForkEpoch = 165120 // 2025-10-01 08:48:00 UTC
|
||||
cfg.FuluForkVersion = []byte{0x07, 0x1, 0x70, 0x0}
|
||||
cfg.TerminalTotalDifficulty = "0"
|
||||
cfg.DepositContractAddress = "0x4242424242424242424242424242424242424242"
|
||||
cfg.EjectionBalance = 28000000000
|
||||
cfg.BlobSchedule = []BlobScheduleEntry{}
|
||||
cfg.BlobSchedule = []BlobScheduleEntry{
|
||||
{
|
||||
MaxBlobsPerBlock: 15,
|
||||
Epoch: 166400, // 2025-10-07 01:20:00 UTC
|
||||
},
|
||||
{
|
||||
MaxBlobsPerBlock: 21,
|
||||
Epoch: 167936, // 2025-10-13 21:10:24 UTC
|
||||
},
|
||||
}
|
||||
cfg.InitializeForkSchedule()
|
||||
return cfg
|
||||
}
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
package params
|
||||
|
||||
import (
|
||||
"math"
|
||||
)
|
||||
|
||||
// UseHoodiNetworkConfig uses the Hoodi beacon chain specific network config.
|
||||
func UseHoodiNetworkConfig() {
|
||||
cfg := BeaconNetworkConfig().Copy()
|
||||
@@ -49,11 +45,20 @@ func HoodiConfig() *BeaconChainConfig {
|
||||
cfg.DenebForkVersion = []byte{0x50, 0x00, 0x09, 0x10}
|
||||
cfg.ElectraForkEpoch = 2048
|
||||
cfg.ElectraForkVersion = []byte{0x60, 0x00, 0x09, 0x10}
|
||||
cfg.FuluForkEpoch = math.MaxUint64
|
||||
cfg.FuluForkEpoch = 50688 // 2025-10-28 18:53:12 UTC
|
||||
cfg.FuluForkVersion = []byte{0x70, 0x00, 0x09, 0x10}
|
||||
cfg.TerminalTotalDifficulty = "0"
|
||||
cfg.DepositContractAddress = "0x00000000219ab540356cBB839Cbe05303d7705Fa"
|
||||
cfg.BlobSchedule = []BlobScheduleEntry{}
|
||||
cfg.BlobSchedule = []BlobScheduleEntry{
|
||||
{
|
||||
MaxBlobsPerBlock: 15,
|
||||
Epoch: 52480, // 2025-11-05 18:02:00 UTC
|
||||
},
|
||||
{
|
||||
MaxBlobsPerBlock: 21,
|
||||
Epoch: 54016, // 2025-11-12 13:52:24 UTC
|
||||
},
|
||||
}
|
||||
cfg.DefaultBuilderGasLimit = uint64(60000000)
|
||||
cfg.InitializeForkSchedule()
|
||||
return cfg
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package params
|
||||
|
||||
import (
|
||||
"math"
|
||||
|
||||
eth1Params "github.com/ethereum/go-ethereum/params"
|
||||
)
|
||||
|
||||
@@ -46,12 +44,21 @@ func SepoliaConfig() *BeaconChainConfig {
|
||||
cfg.DenebForkVersion = []byte{0x90, 0x00, 0x00, 0x73}
|
||||
cfg.ElectraForkEpoch = 222464 // Wed, Mar 5 at 07:29:36 UTC
|
||||
cfg.ElectraForkVersion = []byte{0x90, 0x00, 0x00, 0x74}
|
||||
cfg.FuluForkEpoch = math.MaxUint64
|
||||
cfg.FuluForkVersion = []byte{0x90, 0x00, 0x00, 0x75} // TODO: Define sepolia fork version for fulu. This is a placeholder value.
|
||||
cfg.FuluForkEpoch = 272640 // 2025-10-14 07:36:00 UTC
|
||||
cfg.FuluForkVersion = []byte{0x90, 0x00, 0x00, 0x75}
|
||||
cfg.TerminalTotalDifficulty = "17000000000000000"
|
||||
cfg.DepositContractAddress = "0x7f02C3E3c98b133055B8B348B2Ac625669Ed295D"
|
||||
cfg.DefaultBuilderGasLimit = uint64(60000000)
|
||||
cfg.BlobSchedule = []BlobScheduleEntry{}
|
||||
cfg.BlobSchedule = []BlobScheduleEntry{
|
||||
{
|
||||
MaxBlobsPerBlock: 15,
|
||||
Epoch: 274176, // 2025-10-21 03:26:24 UTC
|
||||
},
|
||||
{
|
||||
MaxBlobsPerBlock: 21,
|
||||
Epoch: 275712, // 2025-10-27 23:16:48 UTC
|
||||
},
|
||||
}
|
||||
cfg.InitializeForkSchedule()
|
||||
return cfg
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user