Merge pull request #369 from tgerring/issue367

Allow zero and negative block numbers
This commit is contained in:
Jeffrey Wilcke 2015-02-24 17:29:08 +01:00
commit 0b757ad12f
2 changed files with 4 additions and 15 deletions

View File

@ -22,13 +22,6 @@ func (obj *GetBlockArgs) UnmarshalJSON(b []byte) (err error) {
return NewErrorResponse(ErrorDecodeArgs) 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 { type NewTxArgs struct {
From string `json:"from"` From string `json:"from"`
To string `json:"to"` To string `json:"to"`

View File

@ -174,15 +174,11 @@ func (self *EthereumApi) AllLogs(args *FilterOptions, reply *interface{}) error
} }
func (p *EthereumApi) GetBlock(args *GetBlockArgs, reply *interface{}) error { func (p *EthereumApi) GetBlock(args *GetBlockArgs, reply *interface{}) error {
err := args.requirements() // This seems a bit precarious Maybe worth splitting to discrete functions
if err != nil { if len(args.Hash) > 0 {
return err
}
if args.BlockNumber > 0 {
*reply = p.xeth.BlockByNumber(args.BlockNumber)
} else {
*reply = p.xeth.BlockByHash(args.Hash) *reply = p.xeth.BlockByHash(args.Hash)
} else {
*reply = p.xeth.BlockByNumber(args.BlockNumber)
} }
return nil return nil
} }