forked from cerc-io/plugeth
Allow zero and negative block numbers
0 is genesis block. Xeth recognises -1 as current
This commit is contained in:
parent
dd086791ac
commit
6fd894aae0
@ -22,13 +22,6 @@ func (obj *GetBlockArgs) UnmarshalJSON(b []byte) (err error) {
|
||||
return NewErrorResponse(ErrorDecodeArgs)
|
||||
}
|
||||
|
||||
func (obj *GetBlockArgs) requirements() error {
|
||||
if obj.BlockNumber == 0 && obj.Hash == "" {
|
||||
return NewErrorResponse("GetBlock requires either a block 'number' or a block 'hash' as argument")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NewTxArgs struct {
|
||||
From string `json:"from"`
|
||||
To string `json:"to"`
|
||||
|
@ -177,15 +177,11 @@ func (self *EthereumApi) AllLogs(args *FilterOptions, reply *interface{}) error
|
||||
}
|
||||
|
||||
func (p *EthereumApi) GetBlock(args *GetBlockArgs, reply *interface{}) error {
|
||||
err := args.requirements()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if args.BlockNumber > 0 {
|
||||
*reply = p.xeth.BlockByNumber(args.BlockNumber)
|
||||
} else {
|
||||
// This seems a bit precarious Maybe worth splitting to discrete functions
|
||||
if len(args.Hash) > 0 {
|
||||
*reply = p.xeth.BlockByHash(args.Hash)
|
||||
} else {
|
||||
*reply = p.xeth.BlockByNumber(args.BlockNumber)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user