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