Skip to content

Warn on cross-chain gateway and legacy codes - #6286

Open
j0ntz wants to merge 1 commit into
developfrom
jon/fix/cross-chain-address-warnings
Open

j0ntz wants to merge 1 commit into
developfrom
jon/fix/cross-chain-address-warnings

Conversation

@j0ntz

@j0ntz j0ntz commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Technical Design Document

stealth-send-swap.md

Description

Asana task

Follow-up to EdgeApp/edge-react-gui#6253, addressing its open security review thread on src/util/paymentUri.ts.

parseCrossChainPayment dropped the parser's metadata and legacyAddress. A code for another network entered on the Send scene (through the address tile or detection in handleUnparsedAddress) was therefore adopted without the gateway (<pluginId>://) and legacy-address confirmations that every same-chain path shows.

CrossChainPayment now carries the payout asset's currencyCode, metadata and legacyAddress, and both cross-chain paths call addressWarnings before adopting the address. Declining a warning adopts nothing and shows no invalid-address error.

Tests: paymentUri.test.ts covers the carried fields; SendScene2.recipientNetwork.ui.test.tsx and a new AddressTile2 suite cover decline (nothing adopted) and accept. Both decline tests fail with the two addressWarnings calls removed. On the iOS sim, entering ethereum://0x... from a BTC Send shows the ETH gateway warning; declining keeps the recipient empty, and accepting adopts the address with the network-changed toast.

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

none

Requirements

If you have made any visual changes to the GUI. Make sure you have:

  • Tested on iOS device
  • Tested on Android device
  • Tested on small-screen device (iPod Touch)
  • Tested on large-screen device (tablet)

Test evidence

73d7407
Warn on cross-chain gateway and legacy codes
2026-10-24

1. eth gateway warning on btc send

2. declined recipient stays empty

3. accepted address adopted on ethereum

parseCrossChainPayment dropped the parser's metadata and legacyAddress.
The tile's cross-chain accept path and detection's adoption in
handleUnparsedAddress therefore took a gateway (<pluginId>://) or
legacy address without the confirmations every same-chain path shows.

CrossChainPayment now carries the payout's currencyCode, metadata and
legacyAddress, and both cross-chain paths run addressWarnings before
adopting. A declined warning adopts nothing and reports no invalid
address.
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-24T22:36:20.589469Z
We couldn’t complete this review. Comment @codex review to try again.
73d7407 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

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.

1 participant