|
|
@ -54,6 +54,8 @@ type TransactOpts struct { |
|
|
|
GasLimit uint64 // Gas limit to set for the transaction execution (0 = estimate)
|
|
|
|
GasLimit uint64 // Gas limit to set for the transaction execution (0 = estimate)
|
|
|
|
|
|
|
|
|
|
|
|
Context context.Context // Network context to support cancellation and timeouts (nil = no timeout)
|
|
|
|
Context context.Context // Network context to support cancellation and timeouts (nil = no timeout)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NoSend bool // Do all transact steps but do not send the transaction
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// FilterOpts is the collection of options to fine tune filtering for events
|
|
|
|
// FilterOpts is the collection of options to fine tune filtering for events
|
|
|
@ -260,6 +262,9 @@ func (c *BoundContract) transact(opts *TransactOpts, contract *common.Address, i |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
return nil, err |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if opts.NoSend { |
|
|
|
|
|
|
|
return signedTx, nil |
|
|
|
|
|
|
|
} |
|
|
|
if err := c.transactor.SendTransaction(ensureContext(opts.Context), signedTx); err != nil { |
|
|
|
if err := c.transactor.SendTransaction(ensureContext(opts.Context), signedTx); err != nil { |
|
|
|
return nil, err |
|
|
|
return nil, err |
|
|
|
} |
|
|
|
} |
|
|
|