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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
block := api.xeth().EthBlockByHash(args.Hash)
|
block := api.xeth().EthBlockByHexstring(args.Hash)
|
||||||
br := NewBlockRes(block)
|
br := NewBlockRes(block)
|
||||||
br.fullTx = true
|
br.fullTx = true
|
||||||
|
|
||||||
@ -273,14 +273,14 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
|
|||||||
return 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 {
|
if args.Index > int64(len(br.Uncles)) || args.Index < 0 {
|
||||||
return NewValidationError("Index", "does not exist")
|
return NewValidationError("Index", "does not exist")
|
||||||
}
|
}
|
||||||
|
|
||||||
uhash := br.Uncles[args.Index].Hex()
|
uhash := br.Uncles[args.Index].Hex()
|
||||||
uncle := NewBlockRes(api.xeth().EthBlockByHash(uhash))
|
uncle := NewBlockRes(api.xeth().EthBlockByHexstring(uhash))
|
||||||
|
|
||||||
*reply = uncle
|
*reply = uncle
|
||||||
case "eth_getUncleByBlockNumberAndIndex":
|
case "eth_getUncleByBlockNumberAndIndex":
|
||||||
@ -298,7 +298,7 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
|
|||||||
}
|
}
|
||||||
|
|
||||||
uhash := v.Uncles[args.Index].Hex()
|
uhash := v.Uncles[args.Index].Hex()
|
||||||
uncle := NewBlockRes(api.xeth().EthBlockByHash(uhash))
|
uncle := NewBlockRes(api.xeth().EthBlockByHexstring(uhash))
|
||||||
|
|
||||||
*reply = uncle
|
*reply = uncle
|
||||||
case "eth_getCompilers":
|
case "eth_getCompilers":
|
||||||
|
@ -35,7 +35,7 @@ func blockHeight(raw interface{}, number *int64) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type GetBlockByHashArgs struct {
|
type GetBlockByHashArgs struct {
|
||||||
BlockHash string
|
BlockHash common.Hash
|
||||||
IncludeTxs bool
|
IncludeTxs bool
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ func (args *GetBlockByHashArgs) UnmarshalJSON(b []byte) (err error) {
|
|||||||
if !ok {
|
if !ok {
|
||||||
return NewDecodeParamError("BlockHash not a string")
|
return NewDecodeParamError("BlockHash not a string")
|
||||||
}
|
}
|
||||||
args.BlockHash = argstr
|
args.BlockHash = common.HexToHash(argstr)
|
||||||
|
|
||||||
if len(obj) > 1 {
|
if len(obj) > 1 {
|
||||||
args.IncludeTxs = obj[1].(bool)
|
args.IncludeTxs = obj[1].(bool)
|
||||||
|
@ -83,7 +83,7 @@ func TestGetBalanceEmptyArgs(t *testing.T) {
|
|||||||
func TestGetBlockByHashArgs(t *testing.T) {
|
func TestGetBlockByHashArgs(t *testing.T) {
|
||||||
input := `["0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331", true]`
|
input := `["0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331", true]`
|
||||||
expected := new(GetBlockByHashArgs)
|
expected := new(GetBlockByHashArgs)
|
||||||
expected.BlockHash = "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331"
|
expected.BlockHash = common.HexToHash("0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331")
|
||||||
expected.IncludeTxs = true
|
expected.IncludeTxs = true
|
||||||
|
|
||||||
args := new(GetBlockByHashArgs)
|
args := new(GetBlockByHashArgs)
|
||||||
|
@ -160,13 +160,16 @@ func (self *XEth) BlockByHash(strHash string) *Block {
|
|||||||
return NewBlock(block)
|
return NewBlock(block)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *XEth) EthBlockByHash(strHash string) *types.Block {
|
func (self *XEth) EthBlockByHash(hash common.Hash) *types.Block {
|
||||||
hash := common.HexToHash(strHash)
|
|
||||||
block := self.backend.ChainManager().GetBlock(hash)
|
block := self.backend.ChainManager().GetBlock(hash)
|
||||||
|
|
||||||
return block
|
return block
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (self *XEth) EthBlockByHexstring(strHash string) *types.Block {
|
||||||
|
return self.EthBlockByHash(common.HexToHash(strHash))
|
||||||
|
}
|
||||||
|
|
||||||
func (self *XEth) EthTransactionByHash(hash string) *types.Transaction {
|
func (self *XEth) EthTransactionByHash(hash string) *types.Transaction {
|
||||||
data, _ := self.backend.ExtraDb().Get(common.FromHex(hash))
|
data, _ := self.backend.ExtraDb().Get(common.FromHex(hash))
|
||||||
if len(data) != 0 {
|
if len(data) != 0 {
|
||||||
|
Loading…
Reference in New Issue
Block a user