go-ethereum/core/taiko_genesis.go
David 7bf5c0d259
feat(eth): changes based on protocol Pacaya fork (#367)
* chore(taiko_genesis): update devnet Pacaya genesis JSONs

* feat: update ValidateAnchorTx

* feat: update ValidateAnchorTx

* feat: update l1Origin

* Revert "feat: update l1Origin"

This reverts commit 1337b37c051fe06ee87e4b7d6ec2b3857558e218.

* feat: update L1Origin

* feat: update genesis json

* feat: add DepositTxType

* feat: add DepositTxType

* chore: update ci

* feat: new defs

* feat: new defs for op-services

* feat: new defs for op-services

* feat: new defs for op-services

* feat: new defs for op-services

* feat: new defs for op-services

* feat: new defs for op-services

* feat: update L1Origin

* fix: fix lint errors

* add preconf devent configs back in

* Update core/rawdb/taiko_l1_origin.go

Co-authored-by: maskpp <maskpp266@gmail.com>

* feat: two more APIs

* feat: update api backend

* feat: update api backend

* feat: rename an API

* feat: rename an API

* feat: rename an API

* feat: update `BuildPayloadArgs`

* feat: update `BuildPayloadArgs`

* feat: update `BuildPayloadArgs`

* chore: update ci

* update preconf genesis

* build

* feat!: update ci

* feat: update devnet json

---------

Co-authored-by: maskpp <maskpp266@gmail.com>
Co-authored-by: Jeffery Walsh <cyberhorsey@gmail.com>
2025-02-06 05:59:38 +00:00

82 lines
2.9 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
HeklaOntakeBlock = new(big.Int).SetUint64(840_512)
MainnetOntakeBlock = new(big.Int).SetUint64(538_304)
)
// 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
allocJSON = taikoGenesis.MainnetGenesisAllocJSON
case params.TaikoInternalL2ANetworkID.Uint64():
chainConfig.ChainID = params.TaikoInternalL2ANetworkID
chainConfig.OntakeBlock = InternalDevnetOntakeBlock
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
allocJSON = taikoGenesis.HeklaGenesisAllocJSON
case params.PreconfDevnetNetworkID.Uint64():
chainConfig.ChainID = params.PreconfDevnetNetworkID
chainConfig.OntakeBlock = PreconfDevnetOntakeBlock
allocJSON = taikoGenesis.PreconfDevnetGenesisAllocJSON
default:
chainConfig.ChainID = params.TaikoInternalL2ANetworkID
chainConfig.OntakeBlock = InternalDevnetOntakeBlock
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),
}
}