You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The previous PR #709 incorrectly allowed users to make remote deployments to XRPL. This is fixed in this PR, i.e., the user should never see the option to make a remote deployment to XRPL.
Note
Filters out chains without remote deployment support (e.g., XRPL) from eligible destinations across deployment flows and token details.
Utils:
Add filterEligibleChainsForRemoteDeployment in lib/utils/chains.ts to filter CHAINS_WITHOUT_DEPLOYMENT after filterEligibleChains.
Deployment Flows:
Replace filterEligibleChains with filterEligibleChainsForRemoteDeployment in CanonicalTokenDeployment/.../DeployAndRegister.tsx and InterchainTokenDeployment/.../DeployAndRegister.tsx to hide non-deployable chains from ChainPicker.
Interchain Token Details:
Filter unregistered tokens by CHAINS_WITHOUT_DEPLOYMENT in ConnectedInterchainTokensPage.tsx to prevent showing unsupported chains.
Written by Cursor Bugbot for commit b0b2183. This will update automatically on new commits. Configure here.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
This PR correctly fixes the issue introduced in PR #709 by separating chain filtering concerns into two distinct functions.
Key Changes:
Created new filterEligibleChainsForRemoteDeployment() function that explicitly excludes chains in CHAINS_WITHOUT_DEPLOYMENT (XRPL)
Updated deployment components to use the new function for remote deployments
Reverted let to const in ConnectedInterchainTokensPage.tsx following best practices (rule 587aa4bd)
Maintains filtering of unregistered tokens to exclude non-deployable chains
Why This Approach is Correct:
The previous PR (#709) removed the global exclusion from filterEligibleChains() but only added it to one location. This PR properly separates concerns:
filterEligibleChains() - General chain eligibility for ITS transfers (used in hooks.ts to show registered tokens, including XRPL if already deployed)
filterEligibleChainsForRemoteDeployment() - Specific filtering for remote deployments (excludes XRPL entirely)
This ensures users can view registered XRPL tokens but cannot attempt new remote deployments to XRPL.
Confidence Score: 5/5
This PR is safe to merge - it properly fixes the XRPL remote deployment issue with a clean architectural solution
The implementation correctly separates chain filtering concerns, follows coding best practices (using const instead of let), and maintains backward compatibility. The new function is properly named and documented, and all deployment components are consistently updated.
No files require special attention
Important Files Changed
File Analysis
Filename
Score
Overview
apps/maestro/src/lib/utils/chains.ts
5/5
Adds new filterEligibleChainsForRemoteDeployment function that properly separates remote deployment logic from general chain filtering
Updates import and usage to use new filterEligibleChainsForRemoteDeployment function for proper deployment filtering
Sequence Diagram
sequenceDiagram
participant User
participant DeployComponent as Deploy Component
participant FilterRemote as filterEligibleChainsForRemoteDeployment()
participant FilterBase as filterEligibleChains()
participant TokenDetailsPage as InterchainTokenDetailsPage
User->>DeployComponent: Select remote deployment chains
DeployComponent->>FilterRemote: Get eligible chains for deployment
FilterRemote->>FilterBase: Get eligible chains for ITS transfers
FilterBase-->>FilterRemote: Return eligible chains (VM type, whitelisted)
FilterRemote->>FilterRemote: Filter out CHAINS_WITHOUT_DEPLOYMENT (XRPL)
FilterRemote-->>DeployComponent: Return deployable chains only
DeployComponent-->>User: Show only deployable chains
User->>TokenDetailsPage: View registered tokens
TokenDetailsPage->>TokenDetailsPage: Split tokens into registered/unregistered
TokenDetailsPage->>TokenDetailsPage: Filter unregistered to exclude CHAINS_WITHOUT_DEPLOYMENT
TokenDetailsPage-->>User: Show registered tokens (including XRPL if registered)
TokenDetailsPage-->>User: Show unregistered tokens (excluding XRPL)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The previous PR #709 incorrectly allowed users to make remote deployments to XRPL. This is fixed in this PR, i.e., the user should never see the option to make a remote deployment to XRPL.
Note
Filters out chains without remote deployment support (e.g., XRPL) from eligible destinations across deployment flows and token details.
filterEligibleChainsForRemoteDeploymentinlib/utils/chains.tsto filterCHAINS_WITHOUT_DEPLOYMENTafterfilterEligibleChains.filterEligibleChainswithfilterEligibleChainsForRemoteDeploymentinCanonicalTokenDeployment/.../DeployAndRegister.tsxandInterchainTokenDeployment/.../DeployAndRegister.tsxto hide non-deployable chains fromChainPicker.unregisteredtokens byCHAINS_WITHOUT_DEPLOYMENTinConnectedInterchainTokensPage.tsxto prevent showing unsupported chains.Written by Cursor Bugbot for commit b0b2183. This will update automatically on new commits. Configure here.