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))
|
txhash := common.BytesToHash(common.FromHex(args.Hash))
|
||||||
|
tx, bhash, bnum, txi := self.xeth.EthTransactionByHash(args.Hash)
|
||||||
rec := self.xeth.GetTxReceipt(txhash)
|
rec := self.xeth.GetTxReceipt(txhash)
|
||||||
// We could have an error of "not found". Should disambiguate
|
// We could have an error of "not found". Should disambiguate
|
||||||
// if err != nil {
|
// if err != nil {
|
||||||
// return err, nil
|
// return err, nil
|
||||||
// }
|
// }
|
||||||
if rec != nil {
|
if rec != nil && tx != nil {
|
||||||
v := NewReceiptRes(rec)
|
v := NewReceiptRes(rec)
|
||||||
|
v.BlockHash = newHexData(bhash)
|
||||||
|
v.BlockNumber = newHexNum(bnum)
|
||||||
|
v.GasUsed = newHexNum(tx.Gas().Bytes())
|
||||||
|
v.TransactionIndex = newHexNum(txi)
|
||||||
return v, nil
|
return v, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package api
|
package api
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
@ -419,11 +420,18 @@ func NewReceiptRes(rec *types.Receipt) *ReceiptRes {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var v = new(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.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
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user