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. |
||
---|---|---|
.. | ||
actors | ||
bootstrap | ||
genesis | ||
openrpc | ||
proof-params | ||
bootstrap.go | ||
builtin_actors_gen.go | ||
builtin_actors_test.go | ||
builtin_actors.go | ||
clock.go | ||
drand.go | ||
flags.go | ||
forks.go | ||
genesis.go | ||
isnearupgrade.go | ||
limits.go | ||
openrpc_test.go | ||
openrpc.go | ||
panic_reporter.go | ||
parameters.go | ||
params_2k.go | ||
params_butterfly.go | ||
params_calibnet.go | ||
params_debug.go | ||
params_interop.go | ||
params_mainnet.go | ||
params_shared_funcs.go | ||
params_shared_vals.go | ||
params_testground.go | ||
testing_flags.go | ||
tools.go | ||
version.go |