forked from cerc-io/plugeth
Decode full receipt storage
This commit is contained in:
parent
80eb8f46b7
commit
481b221279
@ -54,6 +54,21 @@ func PutReceipts(db common.Database, receipts types.Receipts) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetReceipt returns a receipt by hash
|
||||
func GetFullReceipt(db common.Database, txHash common.Hash) *types.ReceiptForStorage {
|
||||
data, _ := db.Get(append(receiptsPre, txHash[:]...))
|
||||
if len(data) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
var receipt types.ReceiptForStorage
|
||||
err := rlp.DecodeBytes(data, &receipt)
|
||||
if err != nil {
|
||||
glog.V(logger.Error).Infoln("GetReceipt err:", err)
|
||||
}
|
||||
return &receipt
|
||||
}
|
||||
|
||||
// GetReceipt returns a receipt by hash
|
||||
func GetReceipt(db common.Database, txHash common.Hash) *types.Receipt {
|
||||
data, _ := db.Get(append(receiptsPre, txHash[:]...))
|
||||
|
@ -413,15 +413,17 @@ type ReceiptRes struct {
|
||||
Logs *[]interface{} `json:logs`
|
||||
}
|
||||
|
||||
func NewReceiptRes(rec *types.Receipt) *ReceiptRes {
|
||||
func NewReceiptRes(rec *types.ReceiptForStorage) *ReceiptRes {
|
||||
if rec == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
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)
|
||||
return v
|
||||
}
|
||||
|
||||
|
@ -368,8 +368,8 @@ func (self *XEth) GetBlockReceipts(bhash common.Hash) types.Receipts {
|
||||
return self.backend.BlockProcessor().GetBlockReceipts(bhash)
|
||||
}
|
||||
|
||||
func (self *XEth) GetTxReceipt(txhash common.Hash) *types.Receipt {
|
||||
return core.GetReceipt(self.backend.ExtraDb(), txhash)
|
||||
func (self *XEth) GetTxReceipt(txhash common.Hash) *types.ReceiptForStorage {
|
||||
return core.GetFullReceipt(self.backend.ExtraDb(), txhash)
|
||||
}
|
||||
|
||||
func (self *XEth) GasLimit() *big.Int {
|
||||
|
Loading…
Reference in New Issue
Block a user