Documentation
¶
Index ¶
- Constants
- Variables
- func Implementations(ctx context.Context, cfg ImplementationsConfig) (opcm.DeployImplementationsOutput, error)
- func ImplementationsCLI(cliCtx *cli.Context) error
- func Proxy(ctx context.Context, cfg ProxyConfig) (opcm.DeployProxyOutput, error)
- func ProxyCLI(cliCtx *cli.Context) error
- func Superchain(ctx context.Context, cfg SuperchainConfig) (opcm.DeploySuperchainOutput, error)
- func SuperchainCLI(cliCtx *cli.Context) error
- func ValidatorCLI(cliCtx *cli.Context) error
- type ImplementationsConfig
- type ProxyConfig
- type SuperchainConfig
- type ValidatorConfig
- type ValidatorInput
- type ValidatorOutput
Constants ¶
View Source
const ( OutfileFlagName = "outfile" WithdrawalDelaySecondsFlagName = "withdrawal-delay-seconds" MinProposalSizeBytesFlagName = "min-proposal-size-bytes" ChallengePeriodSecondsFlagName = "challenge-period-seconds" ProofMaturityDelaySecondsFlagName = "proof-maturity-delay-seconds" DisputeGameFinalityDelaySecondsFlagName = "dispute-game-finality-delay-seconds" MIPSVersionFlagName = "mips-version" ProxyOwnerFlagName = "proxy-owner" SuperchainProxyAdminOwnerFlagName = "superchain-proxy-admin-owner" L1ContractsReleaseFlagName = "l1-contracts-release" ProtocolVersionsOwnerFlagName = "protocol-versions-owner" GuardianFlagName = "guardian" PausedFlagName = "paused" RequiredProtocolVersionFlagName = "required-protocol-version" RecommendedProtocolVersionFlagName = "recommended-protocol-version" )
Variables ¶
View Source
var ( OutfileFlag = &cli.StringFlag{ Name: OutfileFlagName, Usage: "Output file. Use - for stdout.", EnvVars: deployer.PrefixEnvVar("OUTFILE"), Value: "-", } WithdrawalDelaySecondsFlag = &cli.Uint64Flag{ Name: WithdrawalDelaySecondsFlagName, Usage: "Withdrawal delay in seconds.", EnvVars: deployer.PrefixEnvVar("WITHDRAWAL_DELAY_SECONDS"), Value: standard.WithdrawalDelaySeconds, } MinProposalSizeBytesFlag = &cli.Uint64Flag{ Name: MinProposalSizeBytesFlagName, Usage: "PreimageOracle minimum proposal size in bytes.", EnvVars: deployer.PrefixEnvVar("MIN_PROPOSAL_SIZE_BYTES"), Value: standard.MinProposalSizeBytes, } ChallengePeriodSecondsFlag = &cli.Uint64Flag{ Name: ChallengePeriodSecondsFlagName, Usage: "PreimageOracle challenge period in seconds.", EnvVars: deployer.PrefixEnvVar("CHALLENGE_PERIOD_SECONDS"), Value: standard.ChallengePeriodSeconds, } ProofMaturityDelaySecondsFlag = &cli.Uint64Flag{ Name: ProofMaturityDelaySecondsFlagName, Usage: "Proof maturity delay in seconds.", EnvVars: deployer.PrefixEnvVar("PROOF_MATURITY_DELAY_SECONDS"), Value: standard.ProofMaturityDelaySeconds, } DisputeGameFinalityDelaySecondsFlag = &cli.Uint64Flag{ Name: DisputeGameFinalityDelaySecondsFlagName, Usage: "Dispute game finality delay in seconds.", EnvVars: deployer.PrefixEnvVar("DISPUTE_GAME_FINALITY_DELAY_SECONDS"), Value: standard.DisputeGameFinalityDelaySeconds, } MIPSVersionFlag = &cli.Uint64Flag{ Name: MIPSVersionFlagName, Usage: "MIPS version.", EnvVars: deployer.PrefixEnvVar("MIPS_VERSION"), Value: standard.MIPSVersion, } ProxyOwnerFlag = &cli.StringFlag{ Name: ProxyOwnerFlagName, Usage: "Proxy owner address.", EnvVars: deployer.PrefixEnvVar("PROXY_OWNER"), Value: common.Address{}.Hex(), } SuperchainProxyAdminOwnerFlag = &cli.StringFlag{ Name: SuperchainProxyAdminOwnerFlagName, Usage: "Owner address for the superchain proxy admin", EnvVars: deployer.PrefixEnvVar("SUPERCHAIN_PROXY_ADMIN_OWNER"), Value: common.Address{}.Hex(), } ProtocolVersionsOwnerFlag = &cli.StringFlag{ Name: ProtocolVersionsOwnerFlagName, Usage: "Owner address for protocol versions", EnvVars: deployer.PrefixEnvVar("PROTOCOL_VERSIONS_OWNER"), Value: common.Address{}.Hex(), } GuardianFlag = &cli.StringFlag{ Name: GuardianFlagName, Usage: "Guardian address", EnvVars: deployer.PrefixEnvVar("GUARDIAN"), Value: common.Address{}.Hex(), } PausedFlag = &cli.BoolFlag{ Name: PausedFlagName, Usage: "Initial paused state", EnvVars: deployer.PrefixEnvVar("PAUSED"), } RequiredProtocolVersionFlag = &cli.StringFlag{ Name: RequiredProtocolVersionFlagName, Usage: "Required protocol version (semver)", EnvVars: deployer.PrefixEnvVar("REQUIRED_PROTOCOL_VERSION"), } RecommendedProtocolVersionFlag = &cli.StringFlag{ Name: RecommendedProtocolVersionFlagName, Usage: "Recommended protocol version (semver)", EnvVars: deployer.PrefixEnvVar("RECOMMENDED_PROTOCOL_VERSION"), } L1ContractsReleaseFlag = &cli.StringFlag{ Name: L1ContractsReleaseFlagName, Usage: "Release version to set OPCM implementations for, of the format `op-contracts/vX.Y.Z`.", EnvVars: deployer.PrefixEnvVar("L1_CONTRACTS_RELEASE"), } SuperchainConfigProxyFlag = &cli.StringFlag{ Name: "superchain-config-proxy", Usage: "Superchain config proxy.", EnvVars: deployer.PrefixEnvVar("SUPERCHAIN_CONFIG_PROXY"), } ProtocolVersionsProxyFlag = &cli.StringFlag{ Name: "protocol-versions-proxy", Usage: "Protocol versions proxy.", EnvVars: deployer.PrefixEnvVar("PROTOCOL_VERSIONS_PROXY"), } UpgradeControllerFlag = &cli.StringFlag{ Name: "upgrade-controller", Usage: "Upgrade controller.", EnvVars: deployer.PrefixEnvVar("UPGRADE_CONTROLLER"), } UseInteropFlag = &cli.BoolFlag{ Name: "use-interop", Usage: "If true, deploy Interop implementations.", EnvVars: deployer.PrefixEnvVar("USE_INTEROP"), } ConfigFileFlag = &cli.StringFlag{ Name: "config", Usage: "Path to a JSON file", EnvVars: deployer.PrefixEnvVar("CONFIG"), } )
View Source
var Commands = []*cli.Command{ { Name: "implementations", Usage: "Bootstraps implementations.", Flags: cliapp.ProtectFlags(ImplementationsFlags), Action: ImplementationsCLI, }, { Name: "proxy", Usage: "Bootstrap a ERC-1967 Proxy without an implementation set.", Flags: cliapp.ProtectFlags(ProxyFlags), Action: ProxyCLI, }, { Name: "superchain", Usage: "Bootstrap the Superchain configuration", Flags: cliapp.ProtectFlags(SuperchainFlags), Action: SuperchainCLI, }, { Name: "validator", Usage: "Bootstrap the StandardValidator contracts", Flags: cliapp.ProtectFlags(ValidatorFlags), Action: ValidatorCLI, }, }
View Source
var ImplementationsFlags = []cli.Flag{ deployer.L1RPCURLFlag, deployer.PrivateKeyFlag, OutfileFlag, deployer.ArtifactsLocatorFlag, L1ContractsReleaseFlag, MIPSVersionFlag, WithdrawalDelaySecondsFlag, MinProposalSizeBytesFlag, ChallengePeriodSecondsFlag, ProofMaturityDelaySecondsFlag, DisputeGameFinalityDelaySecondsFlag, SuperchainConfigProxyFlag, ProtocolVersionsProxyFlag, UpgradeControllerFlag, UseInteropFlag, }
View Source
var ProxyFlags = []cli.Flag{ deployer.L1RPCURLFlag, deployer.PrivateKeyFlag, OutfileFlag, deployer.ArtifactsLocatorFlag, ProxyOwnerFlag, }
View Source
var SuperchainFlags = []cli.Flag{ deployer.L1RPCURLFlag, deployer.PrivateKeyFlag, OutfileFlag, deployer.ArtifactsLocatorFlag, SuperchainProxyAdminOwnerFlag, ProtocolVersionsOwnerFlag, GuardianFlag, PausedFlag, RequiredProtocolVersionFlag, RecommendedProtocolVersionFlag, }
View Source
var ValidatorFlags = []cli.Flag{ deployer.L1RPCURLFlag, deployer.PrivateKeyFlag, OutfileFlag, deployer.ArtifactsLocatorFlag, ConfigFileFlag, }
Functions ¶
func Implementations ¶ added in v1.11.0
func Implementations(ctx context.Context, cfg ImplementationsConfig) (opcm.DeployImplementationsOutput, error)
func ImplementationsCLI ¶ added in v1.11.0
func ImplementationsCLI(cliCtx *cli.Context) error
func Proxy ¶ added in v1.11.0
func Proxy(ctx context.Context, cfg ProxyConfig) (opcm.DeployProxyOutput, error)
func Superchain ¶ added in v1.11.0
func Superchain(ctx context.Context, cfg SuperchainConfig) (opcm.DeploySuperchainOutput, error)
func SuperchainCLI ¶ added in v1.11.0
func SuperchainCLI(cliCtx *cli.Context) error
func ValidatorCLI ¶ added in v1.11.2
func ValidatorCLI(cliCtx *cli.Context) error
Types ¶
type ImplementationsConfig ¶ added in v1.11.0
type ImplementationsConfig struct {
L1RPCUrl string `cli:"l1-rpc-url"`
PrivateKey string `cli:"private-key"`
ArtifactsLocator *artifacts.Locator `cli:"artifacts-locator"`
L1ContractsRelease string `cli:"l1-contracts-release"`
MIPSVersion int `cli:"mips-version"`
WithdrawalDelaySeconds uint64 `cli:"withdrawal-delay-seconds"`
MinProposalSizeBytes uint64 `cli:"min-proposal-size-bytes"`
ChallengePeriodSeconds uint64 `cli:"challenge-period-seconds"`
ProofMaturityDelaySeconds uint64 `cli:"proof-maturity-delay-seconds"`
DisputeGameFinalityDelaySeconds uint64 `cli:"dispute-game-finality-delay-seconds"`
SuperchainConfigProxy common.Address `cli:"superchain-config-proxy"`
ProtocolVersionsProxy common.Address `cli:"protocol-versions-proxy"`
UpgradeController common.Address `cli:"upgrade-controller"`
UseInterop bool `cli:"use-interop"`
CacheDir string `cli:"cache-dir"`
Logger log.Logger
// contains filtered or unexported fields
}
func (*ImplementationsConfig) Check ¶ added in v1.11.0
func (c *ImplementationsConfig) Check() error
type ProxyConfig ¶ added in v1.11.0
type ProxyConfig struct {
L1RPCUrl string
PrivateKey string
Logger log.Logger
ArtifactsLocator *artifacts.Locator
CacheDir string
Owner common.Address
// contains filtered or unexported fields
}
func (*ProxyConfig) Check ¶ added in v1.11.0
func (c *ProxyConfig) Check() error
type SuperchainConfig ¶ added in v1.11.0
type SuperchainConfig struct {
L1RPCUrl string
PrivateKey string
Logger log.Logger
ArtifactsLocator *artifacts.Locator
CacheDir string
SuperchainProxyAdminOwner common.Address
ProtocolVersionsOwner common.Address
Guardian common.Address
Paused bool
RequiredProtocolVersion params.ProtocolVersion
RecommendedProtocolVersion params.ProtocolVersion
// contains filtered or unexported fields
}
func (*SuperchainConfig) Check ¶ added in v1.11.0
func (c *SuperchainConfig) Check() error
type ValidatorConfig ¶ added in v1.11.2
type ValidatorConfig struct {
L1RPCUrl string
PrivateKey string
Logger log.Logger
ArtifactsLocator *artifacts.Locator
Input ValidatorInput
CacheDir string
// contains filtered or unexported fields
}
func (*ValidatorConfig) Check ¶ added in v1.11.2
func (c *ValidatorConfig) Check() error
type ValidatorInput ¶ added in v1.11.2
type ValidatorInput struct {
Release string `json:"release"`
SuperchainConfig common.Address `json:"superchainConfig"`
L1PAOMultisig common.Address `json:"l1PAOMultisig"`
MIPS common.Address `json:"mips" evm:"mips"`
Challenger common.Address `json:"challenger"`
SuperchainConfigImpl common.Address `json:"superchainConfigImpl"`
ProtocolVersionsImpl common.Address `json:"protocolVersionsImpl"`
L1ERC721BridgeImpl common.Address `json:"l1ERC721BridgeImpl"`
OptimismPortalImpl common.Address `json:"optimismPortalImpl"`
ETHLockboxImpl common.Address `json:"ethLockboxImpl" evm:"ethLockboxImpl"`
SystemConfigImpl common.Address `json:"systemConfigImpl"`
OptimismMintableERC20FactoryImpl common.Address `json:"optimismMintableERC20FactoryImpl"`
L1CrossDomainMessengerImpl common.Address `json:"l1CrossDomainMessengerImpl"`
L1StandardBridgeImpl common.Address `json:"l1StandardBridgeImpl"`
DisputeGameFactoryImpl common.Address `json:"disputeGameFactoryImpl"`
AnchorStateRegistryImpl common.Address `json:"anchorStateRegistryImpl"`
DelayedWETHImpl common.Address `json:"delayedWETHImpl"`
MIPSImpl common.Address `json:"mipsImpl" evm:"mipsImpl"`
WithdrawalDelaySeconds uint64 `json:"withdrawalDelaySeconds"`
}
type ValidatorOutput ¶ added in v1.11.2
func Validator ¶ added in v1.11.2
func Validator(ctx context.Context, cfg ValidatorConfig) (ValidatorOutput, error)
Click to show internal directories.
Click to hide internal directories.