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
- type ImplementationsConfig
- type ProxyConfig
- type SuperchainConfig
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" DevFeatureBitmapFlagName = "dev-feature-bitmap" ProxyOwnerFlagName = "proxy-owner" SuperchainProxyAdminOwnerFlagName = "superchain-proxy-admin-owner" 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, } DevFeatureBitmapFlag = &cli.StringFlag{ Name: DevFeatureBitmapFlagName, Usage: "Development feature bitmap.", EnvVars: deployer.PrefixEnvVar("DEV_FEATURE_BITMAP"), Value: common.Hash{}.Hex(), } 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"), } 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"), } L1ProxyAdminOwnerFlag = &cli.StringFlag{ Name: "l1-proxy-admin-owner", Aliases: []string{"upgrade-controller"}, Usage: "L1 ProxyAdmin Owner.", EnvVars: append(deployer.PrefixEnvVar("L1_PROXY_ADMIN_OWNER"), deployer.PrefixEnvVar("UPGRADE_CONTROLLER")...), } SuperchainProxyAdminFlag = &cli.StringFlag{ Name: "superchain-proxy-admin", Usage: "Superchain proxy admin.", EnvVars: deployer.PrefixEnvVar("SUPERCHAIN_PROXY_ADMIN"), } ConfigFileFlag = &cli.StringFlag{ Name: "config", Usage: "Path to a JSON file", EnvVars: deployer.PrefixEnvVar("CONFIG"), } ChallengerFlag = &cli.StringFlag{ Name: "challenger", Usage: "Challenger.", EnvVars: deployer.PrefixEnvVar("CHALLENGER"), } )
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, }, }
View Source
var ImplementationsFlags = []cli.Flag{ deployer.L1RPCURLFlag, deployer.PrivateKeyFlag, OutfileFlag, deployer.ArtifactsLocatorFlag, MIPSVersionFlag, DevFeatureBitmapFlag, WithdrawalDelaySecondsFlag, MinProposalSizeBytesFlag, ChallengePeriodSecondsFlag, ProofMaturityDelaySecondsFlag, DisputeGameFinalityDelaySecondsFlag, SuperchainConfigProxyFlag, ProtocolVersionsProxyFlag, L1ProxyAdminOwnerFlag, SuperchainProxyAdminFlag, ChallengerFlag, }
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
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"`
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"`
DevFeatureBitmap common.Hash `cli:"dev-feature-bitmap"`
FaultGameMaxGameDepth uint64 `cli:"fault-game-max-game-depth"`
FaultGameSplitDepth uint64 `cli:"fault-game-split-depth"`
FaultGameClockExtension uint64 `cli:"fault-game-clock-extension"`
FaultGameMaxClockDuration uint64 `cli:"fault-game-max-clock-duration"`
SuperchainConfigProxy common.Address `cli:"superchain-config-proxy"`
ProtocolVersionsProxy common.Address `cli:"protocol-versions-proxy"`
L1ProxyAdminOwner common.Address `cli:"l1-proxy-admin-owner"`
SuperchainProxyAdmin common.Address `cli:"superchain-proxy-admin"`
Challenger common.Address `cli:"challenger"`
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
Click to show internal directories.
Click to hide internal directories.