This commit is contained in:
Jim McDonald 2017-10-31 07:46:52 +00:00 committed by GitHub
commit 3531b40785

View file

@ -52,7 +52,8 @@ type TransactOpts struct {
GasPrice *big.Int // Gas price to use for the transaction execution (nil = gas price oracle) GasPrice *big.Int // Gas price to use for the transaction execution (nil = gas price oracle)
GasLimit *big.Int // Gas limit to set for the transaction execution (nil = estimate + 10%) GasLimit *big.Int // Gas limit to set for the transaction execution (nil = estimate + 10%)
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)
DoNotSend bool // Do not send the transaction; used for dry runs and offline transaction generation
} }
// BoundContract is the base wrapper object that reflects a contract on the // BoundContract is the base wrapper object that reflects a contract on the
@ -219,8 +220,10 @@ func (c *BoundContract) transact(opts *TransactOpts, contract *common.Address, i
if err != nil { if err != nil {
return nil, err return nil, err
} }
if err := c.transactor.SendTransaction(ensureContext(opts.Context), signedTx); err != nil { if !opts.DoNotSend {
return nil, err if err := c.transactor.SendTransaction(ensureContext(opts.Context), signedTx); err != nil {
return nil, err
}
} }
return signedTx, nil return signedTx, nil
} }