From 40ea46620066bd7888b3f9a425fcd6201e0c7320 Mon Sep 17 00:00:00 2001 From: Taylor Gerring Date: Tue, 31 Mar 2015 22:40:12 +0200 Subject: Store and retrieve tx context metadata #608 Improving this in the future will allow for cleaning up a bit of legacy code. --- xeth/xeth.go | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'xeth/xeth.go') diff --git a/xeth/xeth.go b/xeth/xeth.go index 7e1548964..fcc03b85f 100644 --- a/xeth/xeth.go +++ b/xeth/xeth.go @@ -185,12 +185,29 @@ func (self *XEth) EthBlockByHash(strHash string) *types.Block { return block } -func (self *XEth) EthTransactionByHash(hash string) *types.Transaction { +func (self *XEth) EthTransactionByHash(hash string) (tx *types.Transaction, blhash common.Hash, blnum *big.Int, txi uint64) { data, _ := self.backend.ExtraDb().Get(common.FromHex(hash)) if len(data) != 0 { - return types.NewTransactionFromBytes(data) + tx = types.NewTransactionFromBytes(data) } - return nil + + // blockhash + data, _ = self.backend.ExtraDb().Get(append(common.FromHex(hash), 0x0001)) + if len(data) != 0 { + blhash = common.BytesToHash(data) + } + // blocknum + data, _ = self.backend.ExtraDb().Get(append(common.FromHex(hash), 0x0002)) + if len(data) != 0 { + blnum = common.Bytes2Big(data) + } + // txindex + data, _ = self.backend.ExtraDb().Get(append(common.FromHex(hash), 0x0003)) + if len(data) != 0 { + txi = common.BytesToNumber(data) + } + + return } func (self *XEth) BlockByNumber(num int64) *Block { -- cgit