Documentation ¶
Index ¶
Constants ¶
const ( ProxyAdmin = "0x4200000000000000000000000000000000000000" WETH9 = "0x4200000000000000000000000000000000000001" L1Block = "0x4200000000000000000000000000000000000002" L2ToL1MessagePasser = "0x4200000000000000000000000000000000000003" L2CrossDomainMessenger = "0x4200000000000000000000000000000000000004" GasPriceOracle = "0x4200000000000000000000000000000000000005" ProtocolVault = "0x4200000000000000000000000000000000000006" L1FeeVault = "0x4200000000000000000000000000000000000007" ValidatorRewardVault = "0x4200000000000000000000000000000000000008" L2StandardBridge = "0x4200000000000000000000000000000000000009" L2ERC721Bridge = "0x420000000000000000000000000000000000000A" KromaMintableERC20Factory = "0x420000000000000000000000000000000000000B" KromaMintableERC721Factory = "0x420000000000000000000000000000000000000C" GovernanceToken = "0x42000000000000000000000000000000000000FF" Create2Deployer = "0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2" MultiCall3 = "0xcA11bde05977b3631167028862bE2a173976CA11" Safe_v130 = "0x69f4D1788e39c87893C980c06EdF4b7f686e2938" SafeL2_v130 = "0xfb1bffC9d739B8D520DaF37dF666da4C687191EA" MultiSendCallOnly_v130 = "0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B" SafeSingletonFactory = "0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7" DeterministicDeploymentProxy = "0x4e59b44847b379578588920cA78FbF26c0B4956C" MultiSend_v130 = "0x998739BFdAAdde7C933B942a68053933098f9EDa" Permit2 = "0x000000000022D473030F116dDEE9F6B43aC78BA3" SenderCreator = "0x7fc98430eaedbb6070b35b39d798725049088348" EntryPoint = "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" )
const (
LegacyERC20ETH = "0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000"
)
Variables ¶
var ( ProxyAdminAddr = common.HexToAddress(ProxyAdmin) WETH9Addr = common.HexToAddress(WETH9) L1BlockAddr = common.HexToAddress(L1Block) L2ToL1MessagePasserAddr = common.HexToAddress(L2ToL1MessagePasser) L2CrossDomainMessengerAddr = common.HexToAddress(L2CrossDomainMessenger) GasPriceOracleAddr = common.HexToAddress(GasPriceOracle) ProtocolVaultAddr = common.HexToAddress(ProtocolVault) L1FeeVaultAddr = common.HexToAddress(L1FeeVault) ValidatorRewardVaultAddr = common.HexToAddress(ValidatorRewardVault) L2StandardBridgeAddr = common.HexToAddress(L2StandardBridge) GovernanceTokenAddr = common.HexToAddress(GovernanceToken) L2ERC721BridgeAddr = common.HexToAddress(L2ERC721Bridge) KromaMintableERC20FactoryAddr = common.HexToAddress(KromaMintableERC20Factory) KromaMintableERC721FactoryAddr = common.HexToAddress(KromaMintableERC721Factory) Create2DeployerAddr = common.HexToAddress(Create2Deployer) MultiCall3Addr = common.HexToAddress(MultiCall3) Safe_v130Addr = common.HexToAddress(Safe_v130) SafeL2_v130Addr = common.HexToAddress(SafeL2_v130) MultiSendCallOnly_v130Addr = common.HexToAddress(MultiSendCallOnly_v130) SafeSingletonFactoryAddr = common.HexToAddress(SafeSingletonFactory) DeterministicDeploymentProxyAddr = common.HexToAddress(DeterministicDeploymentProxy) MultiSend_v130Addr = common.HexToAddress(MultiSend_v130) Permit2Addr = common.HexToAddress(Permit2) SenderCreatorAddr = common.HexToAddress(SenderCreator) EntryPointAddr = common.HexToAddress(EntryPoint) Predeploys = make(map[string]*oppredeploys.Predeploy) PredeploysByAddress = make(map[common.Address]*oppredeploys.Predeploy) )
var ( BeaconDepositContractAddr = common.HexToAddress("0x4242424242424242424242424242424242424242") BeaconDepositContractCode = common.FromHex("0x3373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff015500") BeaconDepositContractCodeHash = common.HexToHash("0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470") )
Define the information of the deposit contract on the execution layer for the beacon chain.
var ( EIP4788ContractAddr = common.HexToAddress("0x000F3df6D732807Ef1319fB7B8bB8522d0Beac02") EIP4788ContractCode = common.FromHex("0x3373fffffffffffffffffffffffffffffffffffffffe14604d57602036146024575f5ffd5b5f35801560495762001fff810690815414603c575f5ffd5b62001fff01545f5260205ff35b5f5ffd5b62001fff42064281555f359062001fff015500") EIP4788ContractCodeHash = common.HexToHash("0xf57acd40259872606d76197ef052f3d35588dadf919ee1f0e3cb9b62d3f4b02c") )
EIP-4788 defines a deterministic deployment transaction that deploys the beacon-block-roots contract. To embed the contract in genesis, we want the deployment-result, not the contract-creation tx input code. Since the contract deployment result is deterministic and the same across every chain, the bytecode can be easily verified by comparing it with chains like Goerli. During deployment it does not modify any contract storage, the storage starts empty. See https://goerli.etherscan.io/tx/0xdf52c2d3bbe38820fff7b5eaab3db1b91f8e1412b56497d88388fb5d4ea1fde0 And https://eips.ethereum.org/EIPS/eip-4788
var (
LegacyERC20ETHAddr = common.HexToAddress(LegacyERC20ETH)
)
Functions ¶
Types ¶
This section is empty.