Skip to content

Commit 5dcdbae

Browse files
author
colinlyguo
committed
refactor(sender): split signer address checks into gas oracle and rollup-relayer
1 parent fa2401c commit 5dcdbae

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

rollup/internal/controller/relayer/l2_relayer.go

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -71,28 +71,9 @@ type Layer2Relayer struct {
7171

7272
// NewLayer2Relayer will return a new instance of Layer2RelayerClient
7373
func NewLayer2Relayer(ctx context.Context, l2Client *ethclient.Client, db *gorm.DB, cfg *config.RelayerConfig, chainCfg *params.ChainConfig, initGenesis bool, serviceType ServiceType, reg prometheus.Registerer) (*Layer2Relayer, error) {
74-
7574
var gasOracleSender, commitSender, finalizeSender *sender.Sender
7675
var err error
7776

78-
// check that all 3 signer addresses are different, because there will be a problem in managing nonce for different senders
79-
gasOracleSenderAddr, err := addrFromSignerConfig(cfg.GasOracleSenderSignerConfig)
80-
if err != nil {
81-
return nil, fmt.Errorf("failed to parse addr from gas oracle signer config, err: %v", err)
82-
}
83-
commitSenderAddr, err := addrFromSignerConfig(cfg.CommitSenderSignerConfig)
84-
if err != nil {
85-
return nil, fmt.Errorf("failed to parse addr from commit sender config, err: %v", err)
86-
}
87-
finalizeSenderAddr, err := addrFromSignerConfig(cfg.FinalizeSenderSignerConfig)
88-
if err != nil {
89-
return nil, fmt.Errorf("failed to parse addr from finalize sender config, err: %v", err)
90-
}
91-
if gasOracleSenderAddr == commitSenderAddr || gasOracleSenderAddr == finalizeSenderAddr || commitSenderAddr == finalizeSenderAddr {
92-
return nil, fmt.Errorf("gas oracle, commit, and finalize sender addresses must be different. Got: Gas Oracle=%s, Commit=%s, Finalize=%s",
93-
gasOracleSenderAddr.Hex(), commitSenderAddr.Hex(), finalizeSenderAddr.Hex())
94-
}
95-
9677
switch serviceType {
9778
case ServiceTypeL2GasOracle:
9879
gasOracleSender, err = sender.NewSender(ctx, cfg.SenderConfig, cfg.GasOracleSenderSignerConfig, "l2_relayer", "gas_oracle_sender", types.SenderTypeL2GasOracle, db, reg)
@@ -106,6 +87,18 @@ func NewLayer2Relayer(ctx context.Context, l2Client *ethclient.Client, db *gorm.
10687
}
10788

10889
case ServiceTypeL2RollupRelayer:
90+
commitSenderAddr, err := addrFromSignerConfig(cfg.CommitSenderSignerConfig)
91+
if err != nil {
92+
return nil, fmt.Errorf("failed to parse addr from commit sender config, err: %v", err)
93+
}
94+
finalizeSenderAddr, err := addrFromSignerConfig(cfg.FinalizeSenderSignerConfig)
95+
if err != nil {
96+
return nil, fmt.Errorf("failed to parse addr from finalize sender config, err: %v", err)
97+
}
98+
if commitSenderAddr == finalizeSenderAddr {
99+
return nil, fmt.Errorf("commit, and finalize sender addresses must be different. Got: Commit=%s, Finalize=%s", commitSenderAddr.Hex(), finalizeSenderAddr.Hex())
100+
}
101+
109102
commitSender, err = sender.NewSender(ctx, cfg.SenderConfig, cfg.CommitSenderSignerConfig, "l2_relayer", "commit_sender", types.SenderTypeCommitBatch, db, reg)
110103
if err != nil {
111104
return nil, fmt.Errorf("new commit sender failed, err: %w", err)

0 commit comments

Comments
 (0)