inspect

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2024 License: MIT Imports: 30 Imported by: 0

Documentation

Index

Constants

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,
	},
	{
		Name:      "superchain-registry",
		Usage:     "outputs the .env file expected by superchain-registry add-chain tool",
		Args:      true,
		ArgsUsage: "<l2-chain-id>",
		Action:    SuperchainRegistryCLI,
		Flags:     Flags,
	},
}
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 DeployConfig(globalState *state.State, chainID common.Hash) (*genesis.DeployConfig, error)

func DeployConfigCLI

func DeployConfigCLI(cliCtx *cli.Context) error

func GenesisAndRollup

func GenesisAndRollup(globalState *state.State, chainID common.Hash) (*core.Genesis, *rollup.Config, error)

func GenesisCLI

func GenesisCLI(cliCtx *cli.Context) error

func L1CLI

func L1CLI(cliCtx *cli.Context) error

func L2SemversCLI

func L2SemversCLI(cliCtx *cli.Context) error

func ReadSemver added in v1.10.0

func ReadSemver(host *script.Host, addr common.Address) (string, error)

func RollupCLI

func RollupCLI(cliCtx *cli.Context) error

func SuperchainRegistryCLI

func SuperchainRegistryCLI(cliCtx *cli.Context) error

Types

type ImplementationsDeployment

type ImplementationsDeployment struct {
	OpcmAddress                             common.Address `json:"opcmAddress"`
	DelayedWETHImplAddress                  common.Address `json:"delayedWETHImplAddress"`
	OptimismPortalImplAddress               common.Address `json:"optimismPortalImplAddress"`
	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 L1

func L1(globalState *state.State, chainID common.Hash) (*L1Contracts, error)

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 L2SemversConfig struct {
	Lgr        log.Logger
	Artifacts  foundry.StatDirFs
	ChainState *state.ChainState
}

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"`
	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"`
}

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"`
}

Jump to

Keyboard shortcuts

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