@@ -71,28 +71,9 @@ type Layer2Relayer struct {
7171
7272// NewLayer2Relayer will return a new instance of Layer2RelayerClient
7373func 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