mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 23:26:44 +00:00
Merge d6149a790d into 80f7c6c299
This commit is contained in:
commit
7d191cf7c7
1 changed files with 5 additions and 0 deletions
|
|
@ -659,6 +659,11 @@ func (s *PublicBlockChainAPI) Call(ctx context.Context, args CallArgs, blockNr r
|
||||||
|
|
||||||
// EstimateGas returns an estimate of the amount of gas needed to execute the given transaction.
|
// EstimateGas returns an estimate of the amount of gas needed to execute the given transaction.
|
||||||
func (s *PublicBlockChainAPI) EstimateGas(ctx context.Context, args CallArgs) (*hexutil.Big, error) {
|
func (s *PublicBlockChainAPI) EstimateGas(ctx context.Context, args CallArgs) (*hexutil.Big, error) {
|
||||||
|
if args.To == nil { // contract creation, doCall returns immediately the used gas.
|
||||||
|
_, gas, err := s.doCall(ctx, args, rpc.PendingBlockNumber, vm.Config{})
|
||||||
|
return (*hexutil.Big)(gas), err
|
||||||
|
}
|
||||||
|
|
||||||
// Binary search the gas requirement, as it may be higher than the amount used
|
// Binary search the gas requirement, as it may be higher than the amount used
|
||||||
var lo, hi uint64
|
var lo, hi uint64
|
||||||
if (*big.Int)(&args.Gas).Sign() != 0 {
|
if (*big.Int)(&args.Gas).Sign() != 0 {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue