rpc: fix GetBlockByHash crash on block not found (#256)

* Fix GetBlockByHash crashed on block not found

* Add and update log message based on review

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
This commit is contained in:
Calvin Lau
2021-07-12 12:45:13 +00:00
committed by GitHub
co-authored by Federico Kunze Küllmer
parent 8bfb6b0a67
commit 8d51a70d6d
2 changed files with 39 additions and 2 deletions
+27
View File
@@ -799,6 +799,33 @@ func TestEth_ExportAccount_WithStorage(t *testing.T) {
require.NotEqual(t, evmtypes.Storage(nil), account.Storage)
}
func TestEth_GetBlockByHash(t *testing.T) {
param := []interface{}{"0x1", false}
rpcRes := call(t, "eth_getBlockByNumber", param)
block := make(map[string]interface{})
err := json.Unmarshal(rpcRes.Result, &block)
blockHash := block["hash"].(string)
param = []interface{}{blockHash, false}
rpcRes = call(t, "eth_getBlockByHash", param)
block = make(map[string]interface{})
err = json.Unmarshal(rpcRes.Result, &block)
require.NoError(t, err)
require.Equal(t, "0x1", block["number"].(string))
}
func TestEth_GetBlockByHash_BlockHashNotFound(t *testing.T) {
anyBlockHash := "0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35"
param := []interface{}{anyBlockHash, false}
rpcRes := call(t, "eth_getBlockByHash", param)
var result interface{}
err := json.Unmarshal(rpcRes.Result, &result)
require.NoError(t, err)
require.Nil(t, result)
}
func TestEth_GetBlockByNumber(t *testing.T) {
param := []interface{}{"0x1", false}
rpcRes := call(t, "eth_getBlockByNumber", param)