forked from cerc-io/plugeth
Compose additional fields
This commit is contained in:
parent
cd4cc309ae
commit
30afd37604
@ -605,13 +605,18 @@ func (self *ethApi) GetTransactionReceipt(req *shared.Request) (interface{}, err
|
||||
}
|
||||
|
||||
txhash := common.BytesToHash(common.FromHex(args.Hash))
|
||||
tx, bhash, bnum, txi := self.xeth.EthTransactionByHash(args.Hash)
|
||||
rec := self.xeth.GetTxReceipt(txhash)
|
||||
// We could have an error of "not found". Should disambiguate
|
||||
// if err != nil {
|
||||
// return err, nil
|
||||
// }
|
||||
if rec != nil {
|
||||
if rec != nil && tx != nil {
|
||||
v := NewReceiptRes(rec)
|
||||
v.BlockHash = newHexData(bhash)
|
||||
v.BlockNumber = newHexNum(bnum)
|
||||
v.GasUsed = newHexNum(tx.Gas().Bytes())
|
||||
v.TransactionIndex = newHexNum(txi)
|
||||
return v, nil
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/binary"
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
@ -419,11 +420,18 @@ func NewReceiptRes(rec *types.Receipt) *ReceiptRes {
|
||||
}
|
||||
|
||||
var v = new(ReceiptRes)
|
||||
// TODO fill out rest of object
|
||||
// ContractAddress is all 0 when not a creation tx
|
||||
v.ContractAddress = newHexData(rec.ContractAddress)
|
||||
v.CumulativeGasUsed = newHexNum(rec.CumulativeGasUsed)
|
||||
v.TransactionHash = newHexData(rec.TxHash)
|
||||
// v.TransactionIndex = newHexNum(input) // transaction
|
||||
// v.BlockNumber = newHexNum(input) // transaction
|
||||
// v.BlockHash = newHexData(input) //transaction
|
||||
v.CumulativeGasUsed = newHexNum(rec.CumulativeGasUsed)
|
||||
// v.GasUsed = newHexNum(input) // CumulativeGasUsed (blocknum-1)
|
||||
// If the ContractAddress is 20 0x0 bytes, assume it is not a contract creation
|
||||
if bytes.Compare(rec.ContractAddress.Bytes(), bytes.Repeat([]byte{0}, 20)) != 0 {
|
||||
v.ContractAddress = newHexData(rec.ContractAddress)
|
||||
}
|
||||
// v.Logs = rec.Logs()
|
||||
|
||||
return v
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user