Closed sideninja closed 1 month ago
The changes involve significant updates across multiple files in the codebase, focusing on improving naming conventions, enhancing error handling, and refining the blockchain API interactions. Key modifications include renaming network environments in the README, restructuring the BlockChainAPI
for better clarity, introducing a ClientHandler
for EVM operations, and adding new functionalities related to state management and validation. Additionally, the dependency management has been updated, and various tests have been adjusted to reflect these changes.
File(s) | Change Summary |
---|---|
README.md |
Renamed network environments for Flow Testnet and Mainnet for clarity. |
api/api.go |
Updated BlockChainAPI struct and methods for better clarity and error handling; renamed methods. |
api/pull.go |
Replaced LatestEVMHeight with LatestIndexedHeight in multiple functions. |
bootstrap/bootstrap.go |
Added State field to Bootstrap struct and associated methods for state management. |
config/config.go |
Introduced ValidateRegisters boolean field for configuration and command-line flag. |
go.mod |
Updated dependencies, including specific versions for flow-go and protobuf . |
models/block.go |
Removed legacy block event decoding logic for simplification. |
models/block_test.go |
Renamed test function to reflect changes in block event decoding. |
models/errors/errors.go |
Added new error variable ErrStateMismatch for improved error handling. |
models/transaction.go |
Reformatted decodeTransactionEvent for improved readability. |
services/requester/client_handler.go |
Introduced ClientHandler struct for managing EVM operations with local and remote clients. |
services/requester/evm.go |
Defined EVMClient interface for EVM interactions. |
services/requester/local_client.go |
Implemented LocalClient struct for read-only queries on local state. |
services/requester/remote_client.go |
Refactored Requester interface into RemoteClient struct, improving error handling and type safety. |
storage/index.go |
Updated BlockIndexer interface with new methods for managing EVM heights. |
storage/pebble/blocks.go |
Renamed methods for height management and added new functionalities. |
tests/e2e_web3js_test.go |
Added new test case for cadence architecture and modified transaction gas limit. |
tests/web3js/cadence_arch_env_test.js |
Introduced tests for cadence architecture functions and block environment interactions. |
Improvement
, Technical Debt
, EVM
π° In the code where changes abound,
A clearer path has been found.
With names that shine and errors tamed,
The blockchain sings, no longer shamed.
Hops of joy for tests anew,
A brighter future, we pursue! π
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?
This PR improves error handling on the local state and how we handle known errors.
Summary by CodeRabbit
New Features
ClientHandler
for seamless local and remote EVM operations.RegisterValidator
for validating register values during blockchain execution.Bug Fixes
Documentation
Tests