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