Repository navigation
feat(signing): render W addresses and survive undecodable dApp XDR - #3045
Conversation
|
PR Preview build is ready: https://github.com/stellar/freighter/releases/tag/untagged-baab57f4e30ba22855b7 |
f5263a7 to
cae8cdb
Compare
5c3aa2c to
ecf0e6f
Compare
The "Unable to read this transaction" path can't be reached from a dAppMedium — the new branch, strings, and tests describe a failure the background already intercepts. Not a merge blocker, but it changes what this PR should ship. TL;DR: The background message listener parses the dApp's XDR with the same SDK before it ever opens the popup. If that parse throws, the dApp gets an API error and no popup appears. So the popup never receives XDR it can't decode, and the "threw on every render and fell through to Unexpected Error" repro in the description has no path I can find. How was the screenshot reproduced? If it came from a dev-only edit or a deliberately broken fixture, I'd drop the undecodable-XDR half and ship the W-address tests alone. If the real worry is background and popup disagreeing on which SDK to use, the fix belongs in picking the SDK by passphrase in the popup, not in a UI state only the unit test reaches. Detailed explanation (for agents)Root cause: A throw there returns freighter/extension/src/popup/views/SignTransaction/index.tsx Lines 191 to 202 in ecf0e6f Both sides use stellar-sdk 17.4.0 ( Consequences of keeping the branch as-is: the null- Suggested fixes (in increasing order of depth):
|
ecf0e6f to
211047d
Compare
80b90e3 to
09b6444
Compare
* feat(signing): render W addresses and survive undecodable dApp XDR (#3045) * feat(signing): render W addresses and survive undecodable dApp XDR * fix(signing): drop the unreachable undecodable-XDR branch * feat(send): support muxed contract (W) destinations * fix(send): address review on muxed contract destinations
What
Signing screens and muxed contract (
W…) addresses (CAP-84).Wrendering: a dApp SACtransferto aWaddress now renders theW…strkey in the operation parameters and the auth entry parameters. No display code changes for this.SignTransactioncalledTransactionBuilder.fromXdrduring render, before the loading and error checks. XDR that failed to decode threw on every render and fell through to the generic "Unexpected Error" page. The view now catches the error and shows "Unable to read this transaction". Closing that warning rejects the request, so the dApp gets a response.Why
Protocol 30 support. Closes stellar/wallet-eng-monorepo#105.
Screenshots / video
Checklist