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 | ||
beacon | ||
consensus | ||
ethhashlookup | ||
events | ||
exchange | ||
gen | ||
index | ||
market | ||
messagepool | ||
messagesigner | ||
rand | ||
state | ||
stmgr | ||
store | ||
sub | ||
types | ||
vectors | ||
vm | ||
wallet | ||
badtscache.go | ||
block_receipt_tracker.go | ||
checkpoint.go | ||
sync_manager_test.go | ||
sync_manager.go | ||
sync_test.go | ||
sync.go | ||
syncstate.go | ||
types_test.go |