GetBlockByHashArgs

This commit is contained in:
Taylor Gerring 2015-03-26 10:14:52 +01:00
parent 7e1e264375
commit c7dc379da5
4 changed files with 12 additions and 9 deletions

@ -245,7 +245,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
return err
}
block := api.xeth().EthBlockByHash(args.Hash)
block := api.xeth().EthBlockByHexstring(args.Hash)
br := NewBlockRes(block)
br.fullTx = true
@ -273,14 +273,14 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
return err
}
br := NewBlockRes(api.xeth().EthBlockByHash(args.Hash))
br := NewBlockRes(api.xeth().EthBlockByHexstring(args.Hash))
if args.Index > int64(len(br.Uncles)) || args.Index < 0 {
return NewValidationError("Index", "does not exist")
}
uhash := br.Uncles[args.Index].Hex()
uncle := NewBlockRes(api.xeth().EthBlockByHash(uhash))
uncle := NewBlockRes(api.xeth().EthBlockByHexstring(uhash))
*reply = uncle
case "eth_getUncleByBlockNumberAndIndex":
@ -298,7 +298,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
}
uhash := v.Uncles[args.Index].Hex()
uncle := NewBlockRes(api.xeth().EthBlockByHash(uhash))
uncle := NewBlockRes(api.xeth().EthBlockByHexstring(uhash))
*reply = uncle
case "eth_getCompilers":

@ -35,7 +35,7 @@ func blockHeight(raw interface{}, number *int64) (err error) {
}
type GetBlockByHashArgs struct {
BlockHash string
BlockHash common.Hash
IncludeTxs bool
}
@ -54,7 +54,7 @@ func (args *GetBlockByHashArgs) UnmarshalJSON(b []byte) (err error) {
if !ok {
return NewDecodeParamError("BlockHash not a string")
}
args.BlockHash = argstr
args.BlockHash = common.HexToHash(argstr)
if len(obj) > 1 {
args.IncludeTxs = obj[1].(bool)

@ -83,7 +83,7 @@ func TestGetBalanceEmptyArgs(t *testing.T) {
func TestGetBlockByHashArgs(t *testing.T) {
input := `["0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331", true]`
expected := new(GetBlockByHashArgs)
expected.BlockHash = "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
expected.BlockHash = common.HexToHash("0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331")
expected.IncludeTxs = true
args := new(GetBlockByHashArgs)

@ -160,13 +160,16 @@ func (self *XEth) BlockByHash(strHash string) *Block {
return NewBlock(block)
}
func (self *XEth) EthBlockByHash(strHash string) *types.Block {
hash := common.HexToHash(strHash)
func (self *XEth) EthBlockByHash(hash common.Hash) *types.Block {
block := self.backend.ChainManager().GetBlock(hash)
return block
}
func (self *XEth) EthBlockByHexstring(strHash string) *types.Block {
return self.EthBlockByHash(common.HexToHash(strHash))
}
func (self *XEth) EthTransactionByHash(hash string) *types.Transaction {
data, _ := self.backend.ExtraDb().Get(common.FromHex(hash))
if len(data) != 0 {