Open
Description
Required Features
Pricing Verification
-
eth_blobBaseFee
-
eth_gasPrice
-
eth_maxPriorityFeePerGas
Execution Block Header Verification (+ Tx Trie Verification)
Notes: we download execution payload from the beacon light client but they are not verified. Also to maintain memory usage if a block misses the cache we might need to re-download and re-verify the block
-
eth_getBlockByHash
-
eth_getBlockByNumber
-
eth_getUncleCountByBlockHash
-
eth_getUncleCountByBlockNumber
Transaction and Receipt Trie Verification
-
eth_getBlockReceipts
-
eth_getBlockTransactionCountByHash
-
eth_getBlockTransactionCountByNumber
-
eth_getTransactionByBlockHashAndIndex
-
eth_getTransactionByBlockNumberAndIndex
-
eth_getTransactionByHash
-
eth_getTransactionReceipt
-
eth_feeHistory
EVM execution for verification - In Progress
-
eth_call
-
eth_estimateGas
-
eth_sendRawTransaction
-
eth_createAccessList
Account Trie Verification - Complete
-
eth_getBalance
-
eth_getCode
-
eth_getStorageAt
-
eth_getTransactionCount
Methods requiring a wallet
Notes: requires an API so that control can be forwarded to user application
-
eth_accounts
-
eth_coinbase
-
eth_sign
-
eth_signTransaction
-
eth_sendTransaction
Logs Verification
-
eth_getFilterChanges
-
eth_getFilterLogs
-
eth_getLogs
-
eth_newFilter
-
eth_uninstallFilter
stuff that doesn't need verification or is irrelevant
-
eth_blockNumber
-
eth_chainId
-
eth_syncing
-
eth_newBlockFilter
-
eth_newPendingTransactionFilter
Other Improvements
- use hardcoded bootstrapping light client peers for faster startup
- reduce code duplication between fluffy and nimbus verified proxy
- use REST API for light client updates
- better error handling (error codes and json error strings)
- Compilation for different Smartphones OSes and Archs
- Compilation for different Desktop OSes and Archs
- Mocked Integration tests for Wallets
Required Stuff to be Production Ready
- Unit tests for verification (different forks, different transaction types etc.)
- Mocked Integration tests for RPC provider