forked from cerc-io/plugeth
GetBlockByHashArgs
This commit is contained in:
parent
7e1e264375
commit
c7dc379da5
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user