mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-25 22:26:42 +00:00
* update preconf genesis * . * update genesis * Revert "update genesis" This reverts commit 049e4a22ff0ef9a0e4d01d6da76b1194f093c171. * update genesis * logs * . * update genesis * gen * prep for merge * add logs * bump ws values * build * add masaya * some logs for buildTransactionLists * one more log * rm basefee from logs * add change logs --------- Co-authored-by: David <david@taiko.xyz>
99 lines
3.7 KiB
Go
99 lines
3.7 KiB
Go
package core
|
|
|
|
import (
|
|
"math/big"
|
|
|
|
"github.com/ethereum/go-ethereum/common"
|
|
taikoGenesis "github.com/ethereum/go-ethereum/core/taiko_genesis"
|
|
"github.com/ethereum/go-ethereum/log"
|
|
"github.com/ethereum/go-ethereum/params"
|
|
)
|
|
|
|
var (
|
|
InternalDevnetOntakeBlock = new(big.Int).SetUint64(0)
|
|
PreconfDevnetOntakeBlock = common.Big0
|
|
MasayaDevnetOntakeBlock = common.Big0
|
|
HeklaOntakeBlock = new(big.Int).SetUint64(840_512)
|
|
MainnetOntakeBlock = new(big.Int).SetUint64(538_304)
|
|
|
|
InternalDevnetPacayaBlock = new(big.Int).SetUint64(10)
|
|
PreconfDevnetPacayaBlock = common.Big0
|
|
MasayaDevnetPacayaBlock = common.Big0
|
|
HeklaPacayaBlock = new(big.Int).SetUint64(1_299_888)
|
|
MainnetPacayaBlock = new(big.Int).SetUint64(1_166_000)
|
|
)
|
|
|
|
// TaikoGenesisBlock returns the Taiko network genesis block configs.
|
|
func TaikoGenesisBlock(networkID uint64) *Genesis {
|
|
chainConfig := params.TaikoChainConfig
|
|
|
|
var allocJSON []byte
|
|
switch networkID {
|
|
case params.TaikoMainnetNetworkID.Uint64():
|
|
chainConfig.ChainID = params.TaikoMainnetNetworkID
|
|
chainConfig.OntakeBlock = MainnetOntakeBlock
|
|
chainConfig.PacayaBlock = MainnetPacayaBlock
|
|
allocJSON = taikoGenesis.MainnetGenesisAllocJSON
|
|
case params.TaikoInternalL2ANetworkID.Uint64():
|
|
chainConfig.ChainID = params.TaikoInternalL2ANetworkID
|
|
chainConfig.OntakeBlock = InternalDevnetOntakeBlock
|
|
chainConfig.PacayaBlock = InternalDevnetPacayaBlock
|
|
allocJSON = taikoGenesis.InternalL2AGenesisAllocJSON
|
|
case params.TaikoInternalL2BNetworkID.Uint64():
|
|
chainConfig.ChainID = params.TaikoInternalL2BNetworkID
|
|
allocJSON = taikoGenesis.InternalL2BGenesisAllocJSON
|
|
case params.SnaefellsjokullNetworkID.Uint64():
|
|
chainConfig.ChainID = params.SnaefellsjokullNetworkID
|
|
allocJSON = taikoGenesis.SnaefellsjokullGenesisAllocJSON
|
|
case params.AskjaNetworkID.Uint64():
|
|
chainConfig.ChainID = params.AskjaNetworkID
|
|
allocJSON = taikoGenesis.AskjaGenesisAllocJSON
|
|
case params.GrimsvotnNetworkID.Uint64():
|
|
chainConfig.ChainID = params.GrimsvotnNetworkID
|
|
allocJSON = taikoGenesis.GrimsvotnGenesisAllocJSON
|
|
case params.EldfellNetworkID.Uint64():
|
|
chainConfig.ChainID = params.EldfellNetworkID
|
|
allocJSON = taikoGenesis.EldfellGenesisAllocJSON
|
|
case params.JolnirNetworkID.Uint64():
|
|
chainConfig.ChainID = params.JolnirNetworkID
|
|
allocJSON = taikoGenesis.JolnirGenesisAllocJSON
|
|
case params.KatlaNetworkID.Uint64():
|
|
chainConfig.ChainID = params.KatlaNetworkID
|
|
allocJSON = taikoGenesis.KatlaGenesisAllocJSON
|
|
case params.HeklaNetworkID.Uint64():
|
|
chainConfig.ChainID = params.HeklaNetworkID
|
|
chainConfig.OntakeBlock = HeklaOntakeBlock
|
|
chainConfig.PacayaBlock = HeklaPacayaBlock
|
|
allocJSON = taikoGenesis.HeklaGenesisAllocJSON
|
|
case params.PreconfDevnetNetworkID.Uint64():
|
|
chainConfig.ChainID = params.PreconfDevnetNetworkID
|
|
chainConfig.OntakeBlock = PreconfDevnetOntakeBlock
|
|
chainConfig.PacayaBlock = PreconfDevnetPacayaBlock
|
|
allocJSON = taikoGenesis.PreconfDevnetGenesisAllocJSON
|
|
case params.MasayaDevnetNetworkID.Uint64():
|
|
chainConfig.ChainID = params.MasayaDevnetNetworkID
|
|
chainConfig.OntakeBlock = MasayaDevnetOntakeBlock
|
|
chainConfig.PacayaBlock = MasayaDevnetPacayaBlock
|
|
allocJSON = taikoGenesis.MasayaGenesisAllocJSON
|
|
default:
|
|
chainConfig.ChainID = params.TaikoInternalL2ANetworkID
|
|
chainConfig.OntakeBlock = InternalDevnetOntakeBlock
|
|
chainConfig.PacayaBlock = InternalDevnetPacayaBlock
|
|
allocJSON = taikoGenesis.InternalL2AGenesisAllocJSON
|
|
}
|
|
|
|
var alloc GenesisAlloc
|
|
if err := alloc.UnmarshalJSON(allocJSON); err != nil {
|
|
log.Crit("unmarshal alloc json error", "error", err)
|
|
}
|
|
|
|
return &Genesis{
|
|
Config: chainConfig,
|
|
ExtraData: []byte{},
|
|
GasLimit: uint64(15_000_000),
|
|
Difficulty: common.Big0,
|
|
Alloc: alloc,
|
|
GasUsed: 0,
|
|
BaseFee: new(big.Int).SetUint64(10_000_000),
|
|
}
|
|
}
|