f358160cd5
Fixes: #10814 This PR updates the following RPC methods according to EIP-1898 specs. The following RPC methods are affected: - eth_getBalance - eth_getStorageAt - eth_getTransactionCount - eth_getCode - eth_call Note that eth_getBlockByNumber was not included in this list in the spec although it seems it should be affected also? Currently these methods all accept a blkParam string which can be one of "latest", "earliest", "pending", or a block number (decimal or hex). The spec enables caller to additionally specify a json hash which can include the following fields: - blockNumber EthUint64: A block number (decimal or hex) which is similar to the original use of the blkParam string - blockHash EthHash: The block hash - requireCanonical bool) If true we should make sure the block is in the canonical chain Since the blkParam needs to support both being a number/string and a json hash then this to properly work we need to introduce a new struct with pointer fields to check if they exist. This is done in the EthBlockParamByNumberOrHash struct which first tries to unmarshal as a json hash (according to eip-1898) and then fallback to unmarshal as string/number. |
||
---|---|---|
.. | ||
util | ||
auth.go | ||
backup.go | ||
chain_test.go | ||
chain.go | ||
client_retr.go | ||
client.go | ||
cmd.go | ||
disputer.go | ||
evm.go | ||
filplus.go | ||
helper.go | ||
info.go | ||
init_test.go | ||
log.go | ||
mocks_test.go | ||
mpool_manage.go | ||
mpool_test.go | ||
mpool.go | ||
multisig.go | ||
net.go | ||
params.go | ||
paych.go | ||
pprof.go | ||
send_test.go | ||
send.go | ||
sending_ui.go | ||
services_send_test.go | ||
services.go | ||
servicesmock_test.go | ||
state.go | ||
status.go | ||
sync_test.go | ||
sync.go | ||
util.go | ||
version.go | ||
wait.go | ||
wallet_test.go | ||
wallet.go |