Commit ec80f9c7 authored by James Kim's avatar James Kim Committed by GitHub

chore: make interopgen deploy step fns public (#12150)

parent 99251ea9
...@@ -39,18 +39,18 @@ func Deploy(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMap ...@@ -39,18 +39,18 @@ func Deploy(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMap
L2s: make(map[string]*L2Deployment), L2s: make(map[string]*L2Deployment),
} }
l1Host := createL1(logger, fa, srcFS, cfg.L1) l1Host := CreateL1(logger, fa, srcFS, cfg.L1)
if err := l1Host.EnableCheats(); err != nil { if err := l1Host.EnableCheats(); err != nil {
return nil, nil, fmt.Errorf("failed to enable cheats in L1 state: %w", err) return nil, nil, fmt.Errorf("failed to enable cheats in L1 state: %w", err)
} }
l1Deployment, err := prepareInitialL1(l1Host, cfg.L1) l1Deployment, err := PrepareInitialL1(l1Host, cfg.L1)
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("failed to deploy initial L1 content: %w", err) return nil, nil, fmt.Errorf("failed to deploy initial L1 content: %w", err)
} }
deployments.L1 = l1Deployment deployments.L1 = l1Deployment
superDeployment, err := deploySuperchainToL1(l1Host, cfg.Superchain) superDeployment, err := DeploySuperchainToL1(l1Host, cfg.Superchain)
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("failed to deploy superchain to L1: %w", err) return nil, nil, fmt.Errorf("failed to deploy superchain to L1: %w", err)
} }
...@@ -62,7 +62,7 @@ func Deploy(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMap ...@@ -62,7 +62,7 @@ func Deploy(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMap
// after creating the final config for any particular L2. Will add comments. // after creating the final config for any particular L2. Will add comments.
for l2ChainID, l2Cfg := range cfg.L2s { for l2ChainID, l2Cfg := range cfg.L2s {
l2Deployment, err := deployL2ToL1(l1Host, cfg.Superchain, superDeployment, l2Cfg) l2Deployment, err := DeployL2ToL1(l1Host, cfg.Superchain, superDeployment, l2Cfg)
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("failed to deploy L2 %d to L1: %w", &l2ChainID, err) return nil, nil, fmt.Errorf("failed to deploy L2 %d to L1: %w", &l2ChainID, err)
} }
...@@ -72,7 +72,7 @@ func Deploy(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMap ...@@ -72,7 +72,7 @@ func Deploy(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMap
out := &WorldOutput{ out := &WorldOutput{
L2s: make(map[string]*L2Output), L2s: make(map[string]*L2Output),
} }
l1Out, err := completeL1(l1Host, cfg.L1) l1Out, err := CompleteL1(l1Host, cfg.L1)
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("failed to complete L1: %w", err) return nil, nil, fmt.Errorf("failed to complete L1: %w", err)
} }
...@@ -83,14 +83,14 @@ func Deploy(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMap ...@@ -83,14 +83,14 @@ func Deploy(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMap
genesisTimestamp := l1Out.Genesis.Timestamp genesisTimestamp := l1Out.Genesis.Timestamp
for l2ChainID, l2Cfg := range cfg.L2s { for l2ChainID, l2Cfg := range cfg.L2s {
l2Host := createL2(logger, fa, srcFS, l2Cfg, genesisTimestamp) l2Host := CreateL2(logger, fa, srcFS, l2Cfg, genesisTimestamp)
if err := l2Host.EnableCheats(); err != nil { if err := l2Host.EnableCheats(); err != nil {
return nil, nil, fmt.Errorf("failed to enable cheats in L2 state %s: %w", l2ChainID, err) return nil, nil, fmt.Errorf("failed to enable cheats in L2 state %s: %w", l2ChainID, err)
} }
if err := genesisL2(l2Host, l2Cfg, deployments.L2s[l2ChainID]); err != nil { if err := GenesisL2(l2Host, l2Cfg, deployments.L2s[l2ChainID]); err != nil {
return nil, nil, fmt.Errorf("failed to apply genesis data to L2 %s: %w", l2ChainID, err) return nil, nil, fmt.Errorf("failed to apply genesis data to L2 %s: %w", l2ChainID, err)
} }
l2Out, err := completeL2(l2Host, l2Cfg, l1GenesisBlock, deployments.L2s[l2ChainID]) l2Out, err := CompleteL2(l2Host, l2Cfg, l1GenesisBlock, deployments.L2s[l2ChainID])
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("failed to complete L2 %s: %w", l2ChainID, err) return nil, nil, fmt.Errorf("failed to complete L2 %s: %w", l2ChainID, err)
} }
...@@ -99,7 +99,7 @@ func Deploy(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMap ...@@ -99,7 +99,7 @@ func Deploy(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMap
return deployments, out, nil return deployments, out, nil
} }
func createL1(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMapFS, cfg *L1Config) *script.Host { func CreateL1(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMapFS, cfg *L1Config) *script.Host {
l1Context := script.Context{ l1Context := script.Context{
ChainID: cfg.ChainID, ChainID: cfg.ChainID,
Sender: sysGenesisDeployer, Sender: sysGenesisDeployer,
...@@ -115,7 +115,7 @@ func createL1(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceM ...@@ -115,7 +115,7 @@ func createL1(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceM
return l1Host return l1Host
} }
func createL2(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMapFS, l2Cfg *L2Config, genesisTimestamp uint64) *script.Host { func CreateL2(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceMapFS, l2Cfg *L2Config, genesisTimestamp uint64) *script.Host {
l2Context := script.Context{ l2Context := script.Context{
ChainID: new(big.Int).SetUint64(l2Cfg.L2ChainID), ChainID: new(big.Int).SetUint64(l2Cfg.L2ChainID),
Sender: sysGenesisDeployer, Sender: sysGenesisDeployer,
...@@ -134,7 +134,7 @@ func createL2(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceM ...@@ -134,7 +134,7 @@ func createL2(logger log.Logger, fa *foundry.ArtifactsFS, srcFS *foundry.SourceM
} }
// prepareInitialL1 deploys basics such as preinstalls to L1 (incl. EIP-4788) // prepareInitialL1 deploys basics such as preinstalls to L1 (incl. EIP-4788)
func prepareInitialL1(l1Host *script.Host, cfg *L1Config) (*L1Deployment, error) { func PrepareInitialL1(l1Host *script.Host, cfg *L1Config) (*L1Deployment, error) {
l1Host.SetTxOrigin(sysGenesisDeployer) l1Host.SetTxOrigin(sysGenesisDeployer)
if err := deployers.InsertPreinstalls(l1Host); err != nil { if err := deployers.InsertPreinstalls(l1Host); err != nil {
...@@ -145,7 +145,7 @@ func prepareInitialL1(l1Host *script.Host, cfg *L1Config) (*L1Deployment, error) ...@@ -145,7 +145,7 @@ func prepareInitialL1(l1Host *script.Host, cfg *L1Config) (*L1Deployment, error)
return &L1Deployment{}, nil return &L1Deployment{}, nil
} }
func deploySuperchainToL1(l1Host *script.Host, superCfg *SuperchainConfig) (*SuperchainDeployment, error) { func DeploySuperchainToL1(l1Host *script.Host, superCfg *SuperchainConfig) (*SuperchainDeployment, error) {
l1Host.SetTxOrigin(superCfg.Deployer) l1Host.SetTxOrigin(superCfg.Deployer)
superDeployment, err := opcm.DeploySuperchain(l1Host, opcm.DeploySuperchainInput{ superDeployment, err := opcm.DeploySuperchain(l1Host, opcm.DeploySuperchainInput{
...@@ -189,7 +189,7 @@ func deploySuperchainToL1(l1Host *script.Host, superCfg *SuperchainConfig) (*Sup ...@@ -189,7 +189,7 @@ func deploySuperchainToL1(l1Host *script.Host, superCfg *SuperchainConfig) (*Sup
}, nil }, nil
} }
func deployL2ToL1(l1Host *script.Host, superCfg *SuperchainConfig, superDeployment *SuperchainDeployment, cfg *L2Config) (*L2Deployment, error) { func DeployL2ToL1(l1Host *script.Host, superCfg *SuperchainConfig, superDeployment *SuperchainDeployment, cfg *L2Config) (*L2Deployment, error) {
if cfg.UseAltDA { if cfg.UseAltDA {
return nil, errors.New("alt-da mode not supported yet") return nil, errors.New("alt-da mode not supported yet")
} }
...@@ -218,7 +218,7 @@ func deployL2ToL1(l1Host *script.Host, superCfg *SuperchainConfig, superDeployme ...@@ -218,7 +218,7 @@ func deployL2ToL1(l1Host *script.Host, superCfg *SuperchainConfig, superDeployme
}, nil }, nil
} }
func genesisL2(l2Host *script.Host, cfg *L2Config, deployment *L2Deployment) error { func GenesisL2(l2Host *script.Host, cfg *L2Config, deployment *L2Deployment) error {
if err := opcm.L2Genesis(l2Host, &opcm.L2GenesisInput{ if err := opcm.L2Genesis(l2Host, &opcm.L2GenesisInput{
L1Deployments: opcm.L1Deployments{ L1Deployments: opcm.L1Deployments{
L1CrossDomainMessengerProxy: deployment.L1CrossDomainMessengerProxy, L1CrossDomainMessengerProxy: deployment.L1CrossDomainMessengerProxy,
...@@ -233,7 +233,7 @@ func genesisL2(l2Host *script.Host, cfg *L2Config, deployment *L2Deployment) err ...@@ -233,7 +233,7 @@ func genesisL2(l2Host *script.Host, cfg *L2Config, deployment *L2Deployment) err
return nil return nil
} }
func completeL1(l1Host *script.Host, cfg *L1Config) (*L1Output, error) { func CompleteL1(l1Host *script.Host, cfg *L1Config) (*L1Output, error) {
l1Genesis, err := genesis.NewL1Genesis(&genesis.DeployConfig{ l1Genesis, err := genesis.NewL1Genesis(&genesis.DeployConfig{
L2InitializationConfig: genesis.L2InitializationConfig{ L2InitializationConfig: genesis.L2InitializationConfig{
L2CoreDeployConfig: genesis.L2CoreDeployConfig{ L2CoreDeployConfig: genesis.L2CoreDeployConfig{
...@@ -276,7 +276,7 @@ func completeL1(l1Host *script.Host, cfg *L1Config) (*L1Output, error) { ...@@ -276,7 +276,7 @@ func completeL1(l1Host *script.Host, cfg *L1Config) (*L1Output, error) {
}, nil }, nil
} }
func completeL2(l2Host *script.Host, cfg *L2Config, l1Block *types.Block, deployment *L2Deployment) (*L2Output, error) { func CompleteL2(l2Host *script.Host, cfg *L2Config, l1Block *types.Block, deployment *L2Deployment) (*L2Output, error) {
deployCfg := &genesis.DeployConfig{ deployCfg := &genesis.DeployConfig{
L2InitializationConfig: cfg.L2InitializationConfig, L2InitializationConfig: cfg.L2InitializationConfig,
L1DependenciesConfig: genesis.L1DependenciesConfig{ L1DependenciesConfig: genesis.L1DependenciesConfig{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment