Skip to content
This repository has been archived by the owner on Aug 24, 2023. It is now read-only.

RPCs required for EVM Compatibility #172

Open
Tracked by #46
fuxingloh opened this issue Nov 29, 2022 · 6 comments
Open
Tracked by #46

RPCs required for EVM Compatibility #172

fuxingloh opened this issue Nov 29, 2022 · 6 comments
Assignees
Labels
area/packages kind/chore Non feature change triage/accepted Triage has been accepted

Comments

@fuxingloh
Copy link
Contributor

fuxingloh commented Nov 29, 2022

packages/testsuite-web3-rpc should contain a list of tests for ensuring EVM Compatibility. The definition of EVM Compatibility should be researched. There are a few tests included, however, more is required.

@defichain-bot defichain-bot added needs/triage Waiting for triage to be accepted needs/kind Needs kind label needs/area Needs area label(s) labels Nov 29, 2022
@fuxingloh fuxingloh added triage/accepted Triage has been accepted area/packages and removed needs/triage Waiting for triage to be accepted needs/area Needs area label(s) needs/kind Needs kind label labels Nov 29, 2022
@defichain-bot defichain-bot added the needs/kind Needs kind label label Nov 29, 2022
@fuxingloh fuxingloh removed the needs/kind Needs kind label label Nov 29, 2022
@defichain-bot defichain-bot added the needs/kind Needs kind label label Nov 29, 2022
@fuxingloh fuxingloh added kind/chore Non feature change and removed needs/kind Needs kind label labels Nov 29, 2022
@DeFiCh DeFiCh deleted a comment from defichain-bot Nov 29, 2022
@DeFiCh DeFiCh deleted a comment from defichain-bot Nov 29, 2022
@DieHard073055
Copy link
Contributor

The list of RPCs to test:

  • Accounts:
    • getBalance
    • getCode
    • getStorage
    • getTransactionCount
  • Blocks
    • getBlock
    • getBlockWithTransactions
  • Logs
    • getLogs
  • Network
    • getNetwork
    • getBlockNumber
    • getGasPrice
    • getFeeData
    • ready
  • Transactions
    • call
    • estimateGas
    • getTransaction
    • getTransactionReceipt
    • sendTransaction
    • waitForTransaction

@fuxingloh
Copy link
Contributor Author

The list of RPCs to test:

@weiyuan95 can you review this list of RPCs?

@weiyuan95
Copy link

weiyuan95 commented Nov 30, 2022

Looking at https://github.com/paritytech/frontier/tree/master/ts-tests/tests , it looks like Substrate already has pretty good OOTB testing for compatibility for their EVM pallet, and they use web3 and ethers to test as well, which is essentially the 2 major EVM clients.

We can implement the same test logic on our end and use those tests as a 'snapshot' to guard against any potential regression we might introduce.

@DieHard073055
Copy link
Contributor

Theres quiet a few tests at frontier, should I pick a subset of them which is more meaningful to us?
And do you have any suggestions of what those tests should be?

@weiyuan95
Copy link

TBH, everything looks important/comes from EVM except for

  • deprecated (for obvious reasons)
  • netapi (not execution specific AFAIK)
  • precompiles (i dont think we are using any currently, based on my convo with Webster)
  • RPC constants (looks like some Frontier hardcoded values)
  • web3api (looks frontier specific)

@DieHard073055
Copy link
Contributor

Prasana mentioned that its important to make sure all the calls used by metamask works.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/packages kind/chore Non feature change triage/accepted Triage has been accepted
Projects
None yet
Development

No branches or pull requests

4 participants