@@ -84,9 +84,9 @@ func (r *request) Format(f fmt.State, c rune) {
8484 switch c {
8585 case 'v' , 's' :
8686 if f .Flag ('+' ) {
87- fmt .Fprintf (f , "request{id=%d txHash=%#x txPendingCount=%d)" , r .ID (), r .txHash , r .txPendingCount )
87+ fmt .Fprintf (f , "request{id=%s txHash=%#x txPendingCount=%d)" , r .ID (), r .txHash , r .txPendingCount )
8888 } else {
89- fmt .Fprintf (f , "request{%d %#x %d)" , r .ID (), r .txHash , r .txPendingCount )
89+ fmt .Fprintf (f , "request{%s %#x %d)" , r .ID (), r .txHash , r .txPendingCount )
9090 }
9191 }
9292}
@@ -103,6 +103,8 @@ type sender struct {
103103 cl * client.ConsensusLayer
104104 el * client.ExecutionLayer
105105 bmc * client.BMCClient
106+
107+ gasLimit uint64
106108}
107109
108110func newSender (src , dst types.BtpAddress , w types.Wallet , endpoint string , opt map [string ]interface {}, l log.Logger ) types.Sender {
@@ -118,15 +120,20 @@ func newSender(src, dst types.BtpAddress, w types.Wallet, endpoint string, opt m
118120 if err != nil {
119121 l .Panicf ("fail to connect to %s, %v" , endpoint , err )
120122 }
121- s .cl , err = client .NewConsensusLayer (opt ["consensus_endpoint" ].(string ), l )
122- if err != nil {
123- l .Panicf ("fail to connect to %s, %v" , opt ["consensus_endpoint" ].(string ), err )
123+ l .Debugf ("Sender options %+v" , opt )
124+ if clEndpoint , ok := opt ["consensus_endpoint" ].(string ); ok {
125+ s .cl , err = client .NewConsensusLayer (clEndpoint , l )
126+ if err != nil {
127+ l .Panicf ("fail to connect to %s, %v" , clEndpoint , err )
128+ }
124129 }
125130 txUrl , _ := opt ["execution_tx_endpoint" ].(string )
126131 s .bmc , err = client .NewBMCClient (common .HexToAddress (s .dst .ContractAddress ()), s .el .GetBackend (), txUrl , l )
127132 if err != nil {
128133 l .Panicf ("fail to connect to BMC %s, %v" , s .dst .ContractAddress (), err )
129134 }
135+ gasLimit , _ := opt ["gas_limit" ].(float64 )
136+ s .gasLimit = uint64 (gasLimit )
130137 return s
131138}
132139
@@ -154,8 +161,8 @@ func (s *sender) Relay(rm types.RelayMessage) (string, error) {
154161}
155162
156163func (s * sender ) relay (rm types.RelayMessage ) (* etypes.Transaction , error ) {
157- s .l .Debugf ("relay src address:%s rm id:%d " , s .src .String (), rm .Id ())
158- t , err := s .el .NewTransactOpts (s .w .(* wallet.EvmWallet ).Skey )
164+ s .l .Debugf ("relay src address:%s rm id:%s " , s .src .String (), rm .Id ())
165+ t , err := s .el .NewTransactOpts (s .w .(* wallet.EvmWallet ).Skey , s . gasLimit )
159166 if err != nil {
160167 return nil , err
161168 }
@@ -243,9 +250,9 @@ func (s *sender) checkRelayResult(to uint64) {
243250 if pending {
244251 s .l .Debugf ("TX %#x is not yet executed." , req .TxHash ())
245252 if req .IncTxPendingCount () == txPendingMAX {
246- s .l .Debugf ("resend rm %d " , req .ID ())
253+ s .l .Debugf ("resend rm %s " , req .ID ())
247254 if tx , err := s .relay (req .RelayMessage ()); err != nil {
248- s .l .Errorf ("fail to resend relay message %d " , req .ID ())
255+ s .l .Errorf ("fail to resend relay message %s " , req .ID ())
249256 } else {
250257 req .SetTxHash (tx .Hash ())
251258 req .SetTxPendingCount (0 )
0 commit comments