@@ -65,8 +65,14 @@ func TestRewriteRequest(t *testing.T) {
6565 req : & RPCReq {Method : "eth_getLogs" , Params : mustMarshalJSON ([]map [string ]interface {}{{"fromBlock" : hexutil .Uint64 (111 ).String ()}})},
6666 res : nil ,
6767 },
68- expected : RewriteOverrideError ,
69- expectedErr : ErrRewriteBlockOutOfRange ,
68+ expected : RewriteOverrideRequest ,
69+ check : func (t * testing.T , args args ) {
70+ var p []map [string ]interface {}
71+ err := json .Unmarshal (args .req .Params , & p )
72+ require .Nil (t , err )
73+ require .Equal (t , hexutil .Uint64 (111 ).String (), p [0 ]["fromBlock" ])
74+ require .Equal (t , hexutil .Uint64 (100 ).String (), p [0 ]["toBlock" ])
75+ },
7076 },
7177 {
7278 name : "eth_getLogs toBlock latest" ,
@@ -105,8 +111,14 @@ func TestRewriteRequest(t *testing.T) {
105111 req : & RPCReq {Method : "eth_getLogs" , Params : mustMarshalJSON ([]map [string ]interface {}{{"toBlock" : hexutil .Uint64 (111 ).String ()}})},
106112 res : nil ,
107113 },
108- expected : RewriteOverrideError ,
109- expectedErr : ErrRewriteBlockOutOfRange ,
114+ expected : RewriteOverrideRequest ,
115+ check : func (t * testing.T , args args ) {
116+ var p []map [string ]interface {}
117+ err := json .Unmarshal (args .req .Params , & p )
118+ require .Nil (t , err )
119+ require .Equal (t , hexutil .Uint64 (100 ).String (), p [0 ]["fromBlock" ])
120+ require .Equal (t , hexutil .Uint64 (111 ).String (), p [0 ]["toBlock" ])
121+ },
110122 },
111123 {
112124 name : "eth_getLogs fromBlock, toBlock latest" ,
@@ -147,8 +159,7 @@ func TestRewriteRequest(t *testing.T) {
147159 req : & RPCReq {Method : "eth_getLogs" , Params : mustMarshalJSON ([]map [string ]interface {}{{"fromBlock" : hexutil .Uint64 (111 ).String (), "toBlock" : hexutil .Uint64 (222 ).String ()}})},
148160 res : nil ,
149161 },
150- expected : RewriteOverrideError ,
151- expectedErr : ErrRewriteBlockOutOfRange ,
162+ expected : RewriteNone ,
152163 },
153164 {
154165 name : "eth_getLogs fromBlock -> toBlock above max range" ,
@@ -240,14 +251,13 @@ func TestRewriteRequest(t *testing.T) {
240251 },
241252 },
242253 {
243- name : "debug_getRawReceipts out of range" ,
254+ name : "debug_getRawReceipts out of range passes through to backend " ,
244255 args : args {
245256 rctx : RewriteContext {latest : hexutil .Uint64 (100 ), consensusMode : true },
246257 req : & RPCReq {Method : "debug_getRawReceipts" , Params : mustMarshalJSON ([]string {hexutil .Uint64 (111 ).String ()})},
247258 res : nil ,
248259 },
249- expected : RewriteOverrideError ,
250- expectedErr : ErrRewriteBlockOutOfRange ,
260+ expected : RewriteNone ,
251261 },
252262 {
253263 name : "debug_getRawReceipts missing parameter" ,
@@ -346,14 +356,13 @@ func TestRewriteRequest(t *testing.T) {
346356 },
347357 },
348358 {
349- name : "eth_getCode out of range" ,
359+ name : "eth_getCode out of range passes through to backend " ,
350360 args : args {
351361 rctx : RewriteContext {latest : hexutil .Uint64 (100 ), consensusMode : true },
352362 req : & RPCReq {Method : "eth_getCode" , Params : mustMarshalJSON ([]string {"0x123" , hexutil .Uint64 (111 ).String ()})},
353363 res : nil ,
354364 },
355- expected : RewriteOverrideError ,
356- expectedErr : ErrRewriteBlockOutOfRange ,
365+ expected : RewriteNone ,
357366 },
358367 /* default block parameter, at position 2 */
359368 {
@@ -415,14 +424,13 @@ func TestRewriteRequest(t *testing.T) {
415424 },
416425 },
417426 {
418- name : "eth_getStorageAt out of range" ,
427+ name : "eth_getStorageAt out of range passes through to backend " ,
419428 args : args {
420429 rctx : RewriteContext {latest : hexutil .Uint64 (100 ), consensusMode : true },
421430 req : & RPCReq {Method : "eth_getStorageAt" , Params : mustMarshalJSON ([]string {"0x123" , "5" , hexutil .Uint64 (111 ).String ()})},
422431 res : nil ,
423432 },
424- expected : RewriteOverrideError ,
425- expectedErr : ErrRewriteBlockOutOfRange ,
433+ expected : RewriteNone ,
426434 },
427435 /* default block parameter, at position 0 */
428436 {
@@ -506,14 +514,13 @@ func TestRewriteRequest(t *testing.T) {
506514 },
507515 },
508516 {
509- name : "eth_getBlockByNumber out of range" ,
517+ name : "eth_getBlockByNumber out of range passes through to backend " ,
510518 args : args {
511519 rctx : RewriteContext {latest : hexutil .Uint64 (100 ), consensusMode : true },
512520 req : & RPCReq {Method : "eth_getBlockByNumber" , Params : mustMarshalJSON ([]string {hexutil .Uint64 (111 ).String ()})},
513521 res : nil ,
514522 },
515- expected : RewriteOverrideError ,
516- expectedErr : ErrRewriteBlockOutOfRange ,
523+ expected : RewriteNone ,
517524 },
518525 {
519526 name : "eth_getStorageAt using rpc.BlockNumberOrHash" ,
@@ -595,7 +602,7 @@ func TestRewriteRequest(t *testing.T) {
595602 },
596603 },
597604 {
598- name : "eth_getStorageAt using rpc.BlockNumberOrHash out of range" ,
605+ name : "eth_getStorageAt using rpc.BlockNumberOrHash out of range passes through to backend " ,
599606 args : args {
600607 rctx : RewriteContext {latest : hexutil .Uint64 (100 ), consensusMode : true },
601608 req : & RPCReq {Method : "eth_getStorageAt" , Params : mustMarshalJSON ([]interface {}{
@@ -606,8 +613,7 @@ func TestRewriteRequest(t *testing.T) {
606613 }})},
607614 res : nil ,
608615 },
609- expected : RewriteOverrideError ,
610- expectedErr : ErrRewriteBlockOutOfRange ,
616+ expected : RewriteNone ,
611617 },
612618 }
613619
0 commit comments