Skip to content

Node/EVM: Verify EVM chain ID #4116

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

Conversation

bruce-riley
Copy link
Contributor

@bruce-riley bruce-riley commented Sep 10, 2024

This PR adds a check on start up of the EVM watcher to verify that the EVM chain ID of the RPC endpoint matches what is expected for the configured chain. This is to protect against a guardian connecting to the wrong chain by mistake.

Additionally, the reobservation with custom endpoint feature (#4260) will be updated to perform this check so that a reobservation is not attempted on the wrong chain.

This PR implements two static configuration maps that define information about each EVM watcher (one for mainnet and one for testnet) and adds a utility to verify that the EVM chain IDs specified in the config match what is reported for a well-known public RPC for that chain.

This PR centralizes much of the data associated with an EVM chain, which will simplify the addition of new chains.

@bruce-riley bruce-riley force-pushed the node_evm_verify_evm_chain_id branch 4 times, most recently from dc63747 to b86e837 Compare January 28, 2025 18:21
@bruce-riley bruce-riley force-pushed the node_evm_verify_evm_chain_id branch 4 times, most recently from 099b719 to 5e0d29a Compare February 20, 2025 14:45
@bruce-riley bruce-riley force-pushed the node_evm_verify_evm_chain_id branch from 5e0d29a to b1af0f0 Compare February 20, 2025 15:43
@bruce-riley bruce-riley marked this pull request as ready for review February 20, 2025 16:16
panoel
panoel previously approved these changes Feb 20, 2025
johnsaigle
johnsaigle previously approved these changes Feb 20, 2025
Copy link
Contributor

@johnsaigle johnsaigle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good and i think the reorganization of existing code into chain_config is a great cleanup change. I left a few suggestions that can be ignored.

@bruce-riley bruce-riley dismissed stale reviews from johnsaigle and panoel via cab82a1 February 20, 2025 18:36
@bruce-riley bruce-riley requested a review from panoel February 20, 2025 18:38
@bruce-riley bruce-riley force-pushed the node_evm_verify_evm_chain_id branch from cab82a1 to c28fd39 Compare February 24, 2025 17:41
@bruce-riley bruce-riley merged commit eff59cd into wormhole-foundation:main Feb 25, 2025
31 checks passed
@bruce-riley bruce-riley deleted the node_evm_verify_evm_chain_id branch February 25, 2025 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants