predeploys

package
v1.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProxyAdmin                   = "0x4200000000000000000000000000000000000000"
	WETH9                        = "0x4200000000000000000000000000000000000001"
	L1Block                      = "0x4200000000000000000000000000000000000002"
	L2ToL1MessagePasser          = "0x4200000000000000000000000000000000000003"
	L2CrossDomainMessenger       = "0x4200000000000000000000000000000000000004"
	GasPriceOracle               = "0x4200000000000000000000000000000000000005"
	ProtocolVault                = "0x4200000000000000000000000000000000000006"
	L1FeeVault                   = "0x4200000000000000000000000000000000000007"
	ValidatorRewardVault         = "0x4200000000000000000000000000000000000008"
	L2StandardBridge             = "0x4200000000000000000000000000000000000009"
	GovernanceToken              = "0x4200000000000000000000000000000000000010"
	L2ERC721Bridge               = "0x420000000000000000000000000000000000000A"
	KromaMintableERC20Factory    = "0x420000000000000000000000000000000000000B"
	KromaMintableERC721Factory   = "0x420000000000000000000000000000000000000C"
	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"
)
View Source
const (
	LegacyERC20ETH = "0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000"
)

Variables

View Source
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)
)
View Source
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.

View Source
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

View Source
var (
	LegacyERC20ETHAddr = common.HexToAddress(LegacyERC20ETH)
)

Functions

func IsProxied

func IsProxied(predeployAddr common.Address) bool

IsProxied returns true for predeploys that will sit behind a proxy contract

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL