diff options
author | Dragan Milic <dragan@netice9.com> | 2019-01-03 19:54:24 +0800 |
---|---|---|
committer | Guillaume Ballet <gballet@gmail.com> | 2019-01-03 19:54:24 +0800 |
commit | 27913dd226e391b5260ab3b66ce7b75610a07ab7 (patch) | |
tree | 104eb5ed575105ad53237eab7401d1a392175fc6 /accounts/abi/bind/base.go | |
parent | ddaf48bf84b3ac54681b09d9dfbf439f6053cbc8 (diff) | |
download | dexon-27913dd226e391b5260ab3b66ce7b75610a07ab7.tar dexon-27913dd226e391b5260ab3b66ce7b75610a07ab7.tar.gz dexon-27913dd226e391b5260ab3b66ce7b75610a07ab7.tar.bz2 dexon-27913dd226e391b5260ab3b66ce7b75610a07ab7.tar.lz dexon-27913dd226e391b5260ab3b66ce7b75610a07ab7.tar.xz dexon-27913dd226e391b5260ab3b66ce7b75610a07ab7.tar.zst dexon-27913dd226e391b5260ab3b66ce7b75610a07ab7.zip |
accounts/abi/bind: add optional block number for calls (#17942)
Diffstat (limited to 'accounts/abi/bind/base.go')
-rw-r--r-- | accounts/abi/bind/base.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/accounts/abi/bind/base.go b/accounts/abi/bind/base.go index 83ad1c8ae..c37bdf11d 100644 --- a/accounts/abi/bind/base.go +++ b/accounts/abi/bind/base.go @@ -36,10 +36,10 @@ type SignerFn func(types.Signer, common.Address, *types.Transaction) (*types.Tra // CallOpts is the collection of options to fine tune a contract call request. type CallOpts struct { - Pending bool // Whether to operate on the pending state or the last known one - From common.Address // Optional the sender address, otherwise the first account is used - - Context context.Context // Network context to support cancellation and timeouts (nil = no timeout) + Pending bool // Whether to operate on the pending state or the last known one + From common.Address // Optional the sender address, otherwise the first account is used + BlockNumber *big.Int // Optional the block number on which the call should be performed + Context context.Context // Network context to support cancellation and timeouts (nil = no timeout) } // TransactOpts is the collection of authorization data required to create a @@ -148,10 +148,10 @@ func (c *BoundContract) Call(opts *CallOpts, result interface{}, method string, } } } else { - output, err = c.caller.CallContract(ctx, msg, nil) + output, err = c.caller.CallContract(ctx, msg, opts.BlockNumber) if err == nil && len(output) == 0 { // Make sure we have a contract to operate on, and bail out otherwise. - if code, err = c.caller.CodeAt(ctx, c.address, nil); err != nil { + if code, err = c.caller.CodeAt(ctx, c.address, opts.BlockNumber); err != nil { return err } else if len(code) == 0 { return ErrNoCode |