Skip to content

Nimbus Verified Proxy #3101

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
19 of 43 tasks
chirag-parmar opened this issue Feb 21, 2025 · 0 comments
Open
19 of 43 tasks

Nimbus Verified Proxy #3101

chirag-parmar opened this issue Feb 21, 2025 · 0 comments
Assignees

Comments

@chirag-parmar
Copy link
Contributor

chirag-parmar commented Feb 21, 2025

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

Required Stuff to be Production Ready

  • Unit tests for verification (different forks, different transaction types etc.)
  • Mocked Integration tests for RPC provider
  • Mocked Integration tests for Wallets
  • Compilation for different Smartphones OSes and Archs
  • Compilation for different Desktop OSes and Archs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants