aboutsummaryrefslogtreecommitdiffstats
path: root/rpc/args.go
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-03-27 00:27:29 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-03-27 00:27:29 +0800
commit6661bc35efc9c5d5a874e42558d568d9aa183fee (patch)
treebe70091cea5dbaa0d14095f99274b5018bb5d32b /rpc/args.go
parent745dd5b7a517cf0930f96a9b162821d0d631dea9 (diff)
downloaddexon-6661bc35efc9c5d5a874e42558d568d9aa183fee.tar.gz
dexon-6661bc35efc9c5d5a874e42558d568d9aa183fee.tar.zst
dexon-6661bc35efc9c5d5a874e42558d568d9aa183fee.zip
Accept number or string for BlockFilterArgs to/fromBlock
Diffstat (limited to 'rpc/args.go')
-rw-r--r--rpc/args.go19
1 files changed, 11 insertions, 8 deletions
diff --git a/rpc/args.go b/rpc/args.go
index b23216c98..206472aa2 100644
--- a/rpc/args.go
+++ b/rpc/args.go
@@ -424,17 +424,20 @@ func (args *BlockFilterArgs) UnmarshalJSON(b []byte) (err error) {
return NewInsufficientParamsError(len(obj), 1)
}
- fromstr, ok := obj[0].FromBlock.(string)
- if !ok {
- return NewInvalidTypeError("fromBlock", "is not a string")
+ var num int64
+ if err := blockHeight(obj[0].FromBlock, &num); err != nil {
+ return err
+ }
+ if num < 0 {
+ args.Earliest = -1 //latest block
+ } else {
+ args.Earliest = num
}
- switch fromstr {
- case "latest":
- args.Earliest = -1
- default:
- args.Earliest = int64(common.Big(obj[0].FromBlock.(string)).Int64())
+ if err := blockHeight(obj[0].ToBlock, &num); err != nil {
+ return err
}
+ args.Latest = num
tostr, ok := obj[0].ToBlock.(string)
if !ok {