YNU-122: support XRPL EVM network on clearnode#346
Conversation
Summary of ChangesHello @philanton, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request extends the clearnode application's capabilities by integrating support for the XRPL EVM network. The changes involve updating core network configurations to recognize XRPL EVM Mainnet and Testnet, and setting up the necessary contract addresses and Infura endpoint secrets for the testnet environment. This enables clearnode to interact with the XRPL EVM ecosystem. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
|
Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughAdds XRPL EVM mainnet/testnet chain IDs to known networks, introduces new Helm env vars and secret refs for prod and sandbox charts, adds multiple contract deployment metadata JSON artifacts, and updates a comment block in Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant Operator
participant Helm as Helm Chart (prod/sandbox)
participant SecretMgr as GCP Secret Manager
participant App as Application Config Loader
participant Known as knownNetworks
Operator->>Helm: deploy chart (includes extraEnvs + secret refs)
Helm->>App: expose env vars (XRPL_EVM_..._CONTRACT_ADDRESS, BLOCK_STEP)
SecretMgr->>App: provide secret refs (XRPL_EVM_*_INFURA_URL)
Note right of App: reads envs + secret refs
App->>Known: lookup network name (XRPL_EVM_MAINNET / XRPL_EVM_TESTNET)
Known-->>App: return chainId (1440000 / 1449000)
App-->>Operator: report initialized config (envs, secrets, chain IDs)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches🧪 Generate unit tests
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
Tip 👮 Agentic pre-merge checks are now available in preview!Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.
Please see the documentation for more information. Example: reviews:
pre_merge_checks:
custom_checks:
- name: "Undocumented Breaking Changes"
mode: "warning"
instructions: |
Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).Please share your feedback with us on this Discord post. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Code Review
This pull request adds support for the XRPL EVM test network. It introduces configuration for the new network in the sandbox environment and adds the network's chain ID to the list of known networks. My review identified two critical issues: potentially incorrect contract addresses in the YAML configuration which appear to be copied from another network, and a likely incorrect chain ID for the XRPL EVM testnet in the Go configuration. Both issues will prevent the integration from functioning correctly and need to be addressed.
* feat(foundry): add evm_version for xrpl evm * docs(deployments): add xrpl evm deployments
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
clearnode/chart/config/prod/clearnode.yaml (1)
16-23: Confirm intent of disabling WORLD_CHAIN and FLOW in prod.Commenting these out changes prod behavior; ensure services don’t assume these envs exist. Prefer a feature flag or env-scoped values file over ad-hoc comments.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
clearnode/chart/config/prod/clearnode.yaml(2 hunks)clearnode/chart/config/prod/secrets.yaml(1 hunks)clearnode/chart/config/sandbox/clearnode.yaml(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- clearnode/chart/config/sandbox/clearnode.yaml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
- GitHub Check: Build and Publish (Clearnode)
- GitHub Check: Test (Integration) / Test Integration
- GitHub Check: Analyze (go)
🔇 Additional comments (1)
clearnode/chart/config/prod/clearnode.yaml (1)
33-36: Confirm XRPL EVM mainnet addresses & block step
- Custody and Adjudicator in clearnode/chart/config/prod/clearnode.yaml (lines 33–36) match chainId 1440000 deployment artifacts:
- contract/deployments/1440000/Custody.sol/Custody/2025-09-22T14:26:13.json -> deployedTo: 0x6F71a38d919ad713D0AfE0eB712b95064Fc2616f
- contract/deployments/1440000/SimpleConsensus.sol/SimpleConsensus/2025-09-22T14:27:22.json -> deployedTo: 0x14980dF216722f14c42CA7357b06dEa7eB408b10
- Balance-checker address 0x714698e8fe7896bb84A46c0705944c4a48580819 was NOT found under contract/deployments/1440000 — add the deployment JSON path or confirm the correct address.
- Confirm XRPL_EVM_MAINNET_BLOCK_STEP = 499 is intended for XRPL EVM (chainId 1440000); if not, update clearnode/chart/config/prod/clearnode.yaml:33-36.
|
/gemini summary |
Summary of ChangesThis pull request significantly expands the clearnode application's blockchain compatibility by integrating support for the XRPL EVM network. This enables clearnode to interact with both the Mainnet and Testnet environments of XRPL EVM, involving comprehensive updates to network configurations, secret management, and deployment artifacts to ensure seamless operation. Highlights
Changelog
Activity
|
* **XRPL EVM Network Integration**: Full support for XRPL EVM Mainnet and Testnet has been added to clearnode, including their respective chain IDs and contract configurations. * **Configuration Updates**: New public environment variables for XRPL EVM Mainnet/Testnet contract addresses and block-step have been introduced. Additionally, some older WORLD_CHAIN and FLOW entries in the production configuration were deprecated by being commented out. * **Secret Management**: Infura URLs for both XRPL EVM Mainnet and Testnet have been integrated as secrets, ensuring secure access to network endpoints. * **Deployment Records**: New deployment metadata records for Custody, SimpleConsensus, and PremintERC20 contracts have been added for the newly supported XRPL EVM networks.
* **XRPL EVM Network Integration**: Full support for XRPL EVM Mainnet and Testnet has been added to clearnode, including their respective chain IDs and contract configurations. * **Configuration Updates**: New public environment variables for XRPL EVM Mainnet/Testnet contract addresses and block-step have been introduced. Additionally, some older WORLD_CHAIN and FLOW entries in the production configuration were deprecated by being commented out. * **Secret Management**: Infura URLs for both XRPL EVM Mainnet and Testnet have been integrated as secrets, ensuring secure access to network endpoints. * **Deployment Records**: New deployment metadata records for Custody, SimpleConsensus, and PremintERC20 contracts have been added for the newly supported XRPL EVM networks.
Summary by CodeRabbit
New Features
Configuration
Chores