mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-04 20:21:15 +00:00
rpc: reject block parameter with neither number nor hash (#35271)
This commit is contained in:
parent
3d50e3eb0e
commit
d617f4fcdb
2 changed files with 5 additions and 0 deletions
|
|
@ -158,6 +158,9 @@ func (bnh *BlockNumberOrHash) UnmarshalJSON(data []byte) error {
|
|||
if e.BlockNumber != nil && e.BlockHash != nil {
|
||||
return errors.New("cannot specify both BlockHash and BlockNumber, choose one or the other")
|
||||
}
|
||||
if e.BlockNumber == nil && e.BlockHash == nil {
|
||||
return errors.New("must specify either BlockHash or BlockNumber")
|
||||
}
|
||||
bnh.BlockNumber = e.BlockNumber
|
||||
bnh.BlockHash = e.BlockHash
|
||||
bnh.RequireCanonical = e.RequireCanonical
|
||||
|
|
|
|||
|
|
@ -109,6 +109,8 @@ func TestBlockNumberOrHash_UnmarshalJSON(t *testing.T) {
|
|||
27: {`{"blockNumber":"safe"}`, false, BlockNumberOrHashWithNumber(SafeBlockNumber)},
|
||||
28: {`{"blockNumber":"finalized"}`, false, BlockNumberOrHashWithNumber(FinalizedBlockNumber)},
|
||||
29: {`{"blockNumber":"0x1", "blockHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}`, true, BlockNumberOrHash{}},
|
||||
30: {`{}`, true, BlockNumberOrHash{}},
|
||||
31: {`{"requireCanonical":true}`, true, BlockNumberOrHash{}},
|
||||
}
|
||||
|
||||
for i, test := range tests {
|
||||
|
|
|
|||
Loading…
Reference in a new issue