Documentation
¶
Index ¶
- Constants
- Variables
- func DeployConfig(globalState *state.State, chainID common.Hash) (*genesis.DeployConfig, error)
- func DeployConfigCLI(cliCtx *cli.Context) error
- func GenesisAndRollup(globalState *state.State, chainID common.Hash) (*core.Genesis, *rollup.Config, error)
- func GenesisCLI(cliCtx *cli.Context) error
- func L1CLI(cliCtx *cli.Context) error
- func L2SemversCLI(cliCtx *cli.Context) error
- func ReadSemver(host *script.Host, addr common.Address) (string, error)
- func RollupCLI(cliCtx *cli.Context) error
- type ImplementationsDeployment
- type L1Contracts
- type L2PredeploySemvers
- type L2SemversConfig
- type OpChainDeployment
- type SuperchainDeployment
Constants ¶
View Source
const ( SuperchainBundle = "superchain" ImplementationsBundle = "implementations" OpChainBundle = "opchain" )
View Source
const (
OutfileFlagName = "outfile"
)
Variables ¶
View Source
var Commands = []*cli.Command{ { Name: "l1", Usage: "outputs all L1 contract addresses for an L2 chain", Args: true, ArgsUsage: "<l2-chain-id>", Action: L1CLI, Flags: Flags, }, { Name: "genesis", Usage: "outputs the genesis for an L2 chain", Args: true, ArgsUsage: "<l2-chain-id>", Action: GenesisCLI, Flags: Flags, }, { Name: "rollup", Usage: "outputs the rollup config for an L2 chain", Args: true, ArgsUsage: "<l2-chain-id>", Action: RollupCLI, Flags: Flags, }, { Name: "deploy-config", Usage: "outputs the deploy config for an L2 chain", Args: true, ArgsUsage: "<l2-chain-id>", Action: DeployConfigCLI, Flags: Flags, }, { Name: "l2-semvers", Usage: "outputs the semvers for all L2 chains", Args: true, ArgsUsage: "<l2-chain-id>", Action: L2SemversCLI, Flags: Flags, }, }
View Source
var ContractBundles = []string{ SuperchainBundle, ImplementationsBundle, OpChainBundle, }
View Source
var ( FlagOutfile = &cli.StringFlag{ Name: OutfileFlagName, Usage: "output file. set to - to use stdout", Value: "-", } )
View Source
var Flags = []cli.Flag{ deployer.WorkdirFlag, FlagOutfile, }
Functions ¶
func DeployConfig ¶
func DeployConfigCLI ¶
func GenesisAndRollup ¶
func GenesisCLI ¶
func L2SemversCLI ¶
func ReadSemver ¶ added in v1.10.0
Types ¶
type ImplementationsDeployment ¶
type ImplementationsDeployment struct {
OpcmAddress common.Address `json:"opcmAddress"`
DelayedWETHImplAddress common.Address `json:"delayedWETHImplAddress"`
OptimismPortalImplAddress common.Address `json:"optimismPortalImplAddress"`
ETHLockboxImplAddress common.Address `json:"ethLockboxImplAddress"`
PreimageOracleSingletonAddress common.Address `json:"preimageOracleSingletonAddress"`
MipsSingletonAddress common.Address `json:"mipsSingletonAddress"`
SystemConfigImplAddress common.Address `json:"systemConfigImplAddress"`
L1CrossDomainMessengerImplAddress common.Address `json:"l1CrossDomainMessengerImplAddress"`
L1ERC721BridgeImplAddress common.Address `json:"l1ERC721BridgeImplAddress"`
L1StandardBridgeImplAddress common.Address `json:"l1StandardBridgeImplAddress"`
OptimismMintableERC20FactoryImplAddress common.Address `json:"optimismMintableERC20FactoryImplAddress"`
DisputeGameFactoryImplAddress common.Address `json:"disputeGameFactoryImplAddress"`
}
type L1Contracts ¶
type L1Contracts struct {
SuperchainDeployment SuperchainDeployment `json:"superchainDeployment"`
OpChainDeployment OpChainDeployment `json:"opChainDeployment"`
ImplementationsDeployment ImplementationsDeployment `json:"implementationsDeployment"`
}
func (L1Contracts) AsL1Deployments ¶ added in v1.11.0
func (l L1Contracts) AsL1Deployments() *genesis.L1Deployments
func (L1Contracts) GetContractAddress ¶ added in v1.12.0
type L2PredeploySemvers ¶ added in v1.10.0
type L2PredeploySemvers struct {
L2ToL1MessagePasser string
DeployerWhitelist string
WETH string
L2CrossDomainMessenger string
L2StandardBridge string
SequencerFeeVault string
OptimismMintableERC20Factory string
L1BlockNumber string
GasPriceOracle string
L1Block string
LegacyMessagePasser string
L2ERC721Bridge string
OptimismMintableERC721Factory string
BaseFeeVault string
L1FeeVault string
SchemaRegistry string
EAS string
CrossL2Inbox string
L2toL2CrossDomainMessenger string
SuperchainWETH string
ETHLiquidity string
SuperchainTokenBridge string
OptimismMintableERC20 string
OptimismMintableERC721 string
}
func L2Semvers ¶ added in v1.10.0
func L2Semvers(cfg L2SemversConfig) (*L2PredeploySemvers, error)
type L2SemversConfig ¶ added in v1.10.0
type OpChainDeployment ¶
type OpChainDeployment struct {
ProxyAdminAddress common.Address `json:"proxyAdminAddress"`
AddressManagerAddress common.Address `json:"addressManagerAddress"`
L1ERC721BridgeProxyAddress common.Address `json:"l1ERC721BridgeProxyAddress"`
SystemConfigProxyAddress common.Address `json:"systemConfigProxyAddress"`
OptimismMintableERC20FactoryProxyAddress common.Address `json:"optimismMintableERC20FactoryProxyAddress"`
L1StandardBridgeProxyAddress common.Address `json:"l1StandardBridgeProxyAddress"`
L1CrossDomainMessengerProxyAddress common.Address `json:"l1CrossDomainMessengerProxyAddress"`
OptimismPortalProxyAddress common.Address `json:"optimismPortalProxyAddress"`
ETHLockboxProxyAddress common.Address `json:"ethLockboxProxyAddress"`
DisputeGameFactoryProxyAddress common.Address `json:"disputeGameFactoryProxyAddress"`
AnchorStateRegistryProxyAddress common.Address `json:"anchorStateRegistryProxyAddress"`
AnchorStateRegistryImplAddress common.Address `json:"anchorStateRegistryImplAddress"`
FaultDisputeGameAddress common.Address `json:"faultDisputeGameAddress"`
PermissionedDisputeGameAddress common.Address `json:"permissionedDisputeGameAddress"`
DelayedWETHPermissionedGameProxyAddress common.Address `json:"delayedWETHPermissionedGameProxyAddress"`
// DelayedWETHPermissionlessGameProxyAddress common.Address `json:"delayedWETHPermissionlessGameProxyAddress"`
DataAvailabilityChallengeProxyAddress common.Address `json:"dataAvailabilityChallengeProxyAddress"`
DataAvailabilityChallengeImplAddress common.Address `json:"dataAvailabilityChallengeImplAddress"`
}
type SuperchainDeployment ¶
type SuperchainDeployment struct {
ProxyAdminAddress common.Address `json:"proxyAdminAddress"`
SuperchainConfigProxyAddress common.Address `json:"superchainConfigProxyAddress"`
SuperchainConfigImplAddress common.Address `json:"superchainConfigImplAddress"`
ProtocolVersionsProxyAddress common.Address `json:"protocolVersionsProxyAddress"`
ProtocolVersionsImplAddress common.Address `json:"protocolVersionsImplAddress"`
}
Click to show internal directories.
Click to hide internal directories.