Closed sideninja closed 1 week ago
The pull request introduces significant updates across multiple files, primarily focusing on improving the clarity and functionality of the EVM Gateway's public RPC endpoints, refactoring the blockchain API structure, and enhancing state management. Key changes include renaming network environments in documentation, modifying API methods for better data accuracy, and adding new functionalities for state indexing and register validation. Additionally, the dependency versions have been updated, and several tests have been introduced or modified to ensure comprehensive coverage of the new features.
File Path | Change Summary |
---|---|
README.md |
Renamed network environments from "EVM on Flow Testnet" to "Testnet" and "EVM on Flow" to "Mainnet". |
api/api.go |
Refactored BlockChainAPI , changed evm field type, updated method calls, and added new helper methods. |
api/pull.go |
Replaced calls to LatestEVMHeight() with LatestIndexedHeight() in PullAPI methods. |
bootstrap/bootstrap.go |
Added state management functionality, including StartStateIndex and StopStateIndex methods. |
config/config.go |
Introduced ValidateRegisters boolean field and command-line flag for register validation. |
go.mod |
Updated dependencies for flow-go and flow/protobuf , removed indirect dependency on ginkgo . |
models/block.go |
Removed legacy block event decoding logic from decodeBlockEvent . |
models/block_test.go |
Renamed test function decodeLegacyBlockEvent to decodeBlockEvent . |
models/receipt.go |
Added EqualReceipts function for comparing Geth and custom EVM GW receipts. |
services/requester/client_handler.go |
Introduced ClientHandler for managing EVM operations with local and remote clients. |
services/requester/evm.go |
Added EVMClient interface with methods for EVM interactions. |
services/requester/local_client.go |
Defined LocalClient struct implementing EVMClient for read-only queries. |
services/requester/register_validator.go |
Added RegisterValidator for managing and validating register values. |
storage/index.go |
Modified BlockIndexer interface to include new methods for executed height management. |
storage/pebble/blocks.go |
Renamed LatestEVMHeight to LatestIndexedHeight and added methods for executed height. |
tests/e2e_web3js_test.go |
Added new test case for cadence architecture calls and modified gas limit for deployment. |
CadenceEvents.Empty()
function may relate to the overall handling of events in the blockchain context, which could be relevant to the updates in the README.md
regarding network environments and clarity in documentation.evmSign
function's parameters and the increased gas limit for contract deployment may connect with the changes in the README.md
that aim to enhance clarity and standardization in the documentation of RPC endpoints.Improvement
, EVM
🐰 In the meadow where the bunnies play,
New changes hop in, brightening the day!
With clearer paths and structures refined,
The EVM dances, perfectly aligned.
So let us cheer for the code so spry,
With a twitch of our noses, we reach for the sky! 🌼
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Description
This PR adds a wrapper around the atree ledger that validates all set registers against the on-chain state. If a mismatch is found it logs it.
For contributor use:
master
branchFiles changed
in the Github PR explorerSummary by CodeRabbit
Release Notes
New Features
ValidateRegisters
configuration option to enhance data integrity checks.ClientHandler
for improved EVM operations with local and remote client interactions.EqualReceipts
function for detailed comparison of receipt data integrity.Bug Fixes
Documentation
Tests