iotexproject / iotex-core

Official implementation of IoTeX blockchain protocol in Go. An ultra-efficient EVM blockchain offering 1000 TPS with instant 1-block finality. Perfect for DeFi, DePIN tokenomics, Identities, and any trusted logic requiring Web3 composability
https://iotex.io
Apache License 2.0
1.55k stars 324 forks source link

[api] support eth_call by height for Versioned DB #4270

Open Liuhaai opened 4 months ago

Liuhaai commented 4 months ago

Description

The PR, based on the branch https://github.com/iotexproject/iotex-core/tree/archive, is to support historical "eth_call" for API nodes. New methods are added into interfaces in impl ContextAtHeight is added to blockchain module SimulateExecutionAtHeight and ReadContractStorageAtHeight are added to statedb module

Type of change

Please delete options that are not relevant.

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Test Configuration:

Checklist:

sonarcloud[bot] commented 4 months ago

Quality Gate Failed Quality Gate failed

Failed conditions
21.0% Duplication on New Code (required ≤ 3%)
E Security Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint