Compose additional fields
This commit is contained in:
		| @@ -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 | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user