rpc: fix cumulative gas (#662)

* rpc: fix cumulative gas

* changelog
This commit is contained in:
Federico Kunze
2020-12-15 20:42:58 +01:00
committed by GitHub
parent a1386eec09
commit 602e61adea
3 changed files with 33 additions and 2 deletions
+7 -2
View File
@@ -677,6 +677,11 @@ func (api *PublicEthereumAPI) GetTransactionReceipt(hash common.Hash) (map[strin
return nil, err
}
cumulativeGasUsed := uint64(tx.TxResult.GasUsed)
if tx.Index != 0 {
cumulativeGasUsed += rpctypes.GetBlockCumulativeGas(api.clientCtx.Codec, block.Block, int(tx.Index))
}
// Set status codes based on tx result
var status hexutil.Uint
if tx.TxResult.IsOK() {
@@ -699,7 +704,7 @@ func (api *PublicEthereumAPI) GetTransactionReceipt(hash common.Hash) (map[strin
receipt := map[string]interface{}{
// Consensus fields: These fields are defined by the Yellow Paper
"status": status,
"cumulativeGasUsed": nil, // ignore until needed
"cumulativeGasUsed": hexutil.Uint64(cumulativeGasUsed),
"logsBloom": data.Bloom,
"logs": data.Logs,
@@ -715,7 +720,7 @@ func (api *PublicEthereumAPI) GetTransactionReceipt(hash common.Hash) (map[strin
"blockNumber": hexutil.Uint64(tx.Height),
"transactionIndex": hexutil.Uint64(tx.Index),
// sender and receiver (contract or EOA) addreses
// sender and receiver (contract or EOA) addresses
"from": from,
"to": ethTx.To(),
}