@@ -553,7 +553,7 @@ func estimateGas(
553
553
logger = & log.RelayLogger {Logger : logger .With (logAttrRawTxData , hex .EncodeToString (rawTxData ))}
554
554
}
555
555
556
- estimatedGas , err := c .client .EstimateGasFromTx (ctx , tx )
556
+ estimatedGas , err := c .client .EstimateGasFromTx (ctx , tx , c . ethereumSigner . Address () )
557
557
if err != nil {
558
558
if revertReason , rawErrorData , err := c .getRevertReasonFromRpcError (err ); err != nil {
559
559
// Raw error data may be available even if revert reason isn't available.
@@ -666,7 +666,9 @@ func (iter *CallIter) buildSingleTx(ctx context.Context, c *Chain) (*CallIterBui
666
666
// gas estimation
667
667
{
668
668
opts .GasLimit = math .MaxUint64
669
+ c .ethereumSigner .NoSign = true
669
670
tx , err := c .BuildMessageTx (opts , iter .Current (), iter .skipUpdateClientCommitment )
671
+ c .ethereumSigner .NoSign = false
670
672
if err != nil {
671
673
logger .Error ("failed to build tx for gas estimation" , err )
672
674
return nil , err
@@ -679,6 +681,7 @@ func (iter *CallIter) buildSingleTx(ctx context.Context, c *Chain) (*CallIterBui
679
681
opts .GasLimit = txGasLimit
680
682
}
681
683
684
+ c .ethereumSigner .NoSign = false
682
685
tx , err := c .BuildMessageTx (opts , iter .Current (), iter .skipUpdateClientCommitment )
683
686
if err != nil {
684
687
logger .Error ("failed to build tx" , err )
@@ -710,7 +713,9 @@ func (iter *CallIter) buildMultiTx(ctx context.Context, c *Chain) (*CallIterBuil
710
713
logger := iter .updateLoggerMessageInfo (logger , i , 1 )
711
714
712
715
// note that its nonce is not checked
716
+ c .ethereumSigner .NoSign = true
713
717
tx , err := c .BuildMessageTx (opts , iter .msgs [i ], iter .skipUpdateClientCommitment )
718
+ c .ethereumSigner .NoSign = false
714
719
if err != nil {
715
720
logger .Error ("failed to build tx for gas estimation" , err )
716
721
return nil , err
@@ -745,7 +750,9 @@ func (iter *CallIter) buildMultiTx(ctx context.Context, c *Chain) (*CallIterBuil
745
750
})
746
751
}
747
752
753
+ c .ethereumSigner .NoSign = true
748
754
multiTx , err := c .multicall3 .Aggregate (opts , calls )
755
+ c .ethereumSigner .NoSign = false
749
756
if err != nil {
750
757
return err
751
758
}
@@ -774,6 +781,7 @@ func (iter *CallIter) buildMultiTx(ctx context.Context, c *Chain) (*CallIterBuil
774
781
opts .GasLimit = lastOkGasLimit
775
782
776
783
// add raw tx to log attribute
784
+ c .ethereumSigner .NoSign = false
777
785
tx , err := c .multicall3 .Aggregate (opts , lastOkCalls )
778
786
if err != nil {
779
787
logger .Error ("failed to build multicall tx with real send parameters" , err )
0 commit comments