Prototype: Houdini private-send reorg (Proposal A)#6054
Conversation
📸 Test evidence — Houdini send prototype (Proposal A), iOS simagent proof 1216019116944855 01 houdini a scene agent proof 1216019116944855 04 houdini a picker agent proof 1216019116944855 05 houdini a xmr destination tag agent proof 1216019116944855 06 houdini a private on slider agent proof 1216019116944855 02 houdini a success modal agent proof 1216019116944855 07 houdini a swap success agent proof 1216019116944855 03 houdini a tx details Captured by the agent's in-app test run (build-and-test). |
c4a2ca2 to
bf8eef7
Compare
Adds a review-only, fully navigable prototype of the redesigned Houdini private send flow, reachable from a wallet's Send button. The scene reorganizes the send-to-address experience with two linked amounts (You send / Recipient gets) computed from a hard-coded rate, a recipient-asset picker over a hard-coded chain list, a Private send toggle, an inline quote row, a network fee row, and a conditional destination-tag row. Cross-asset or private sends complete on SwapSuccessScene; same-asset sends show the transaction success modal. Nothing talks to Houdini; all values are hard-coded. The card grouping uses Proposal A (From -> To grouping).
Walks the prototype from the wallet Send button through the reorganized scene, recipient-asset picker, cross-asset XMR destination tag, Private send toggle, and both success paths (Transaction Success modal and SwapSuccessScene), capturing review screenshots along the way.
bf8eef7 to
ecd9a88
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 4 total unresolved issues (including 3 from previous reviews).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit ecd9a88. Configure here.








CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
none
Requirements
If you have made any visual changes to the GUI. Make sure you have:
Description
Prototype of the redesigned Houdini "private send" flow — Proposal A (From -> To grouping). Review-only and fully navigable; nothing talks to Houdini and every value (amounts, rate, recipient chains, address, fee, destination tag) is hard-coded so a reviewer can walk the complete flow.
Asana: https://app.asana.com/0/1215088146871429/1216019112895453
What it adds
HoudiniSendScenereachable from a wallet's Send button (the wallet Send button is routed to the prototype on this branch; the production send scene is untouched).You sendandRecipient gets, recomputed from a hard-coded rate (e.g. 1 BTC = 36.5 ETH / 350 XMR / 620 SOL). The edited side is the guaranteed amount; the other shows an estimate (~).Recipient receivesasset picker over a hard-coded chain list (BTC, ETH, XMR, SOL), reusingRadioListModalwithCryptoIcons.Private sendtoggle. Inline quote row (rate, "Houdini private" label, cosmetic expiry countdown), network fee row, and aDestination Tagrow shown only for memoNeeded chains (XMR).AddressTile2reused as-is with a hard-coded filled address.SafeSlideralways submits (no Next, no confirmation scene).SwapSuccessScene.The scene is parameterized by a
layout: 'a' | 'b'param so Proposal A and Proposal B differ only in card grouping. This branch passes'a'.Testing
Driven end to end on the iOS simulator via maestro (
maestro/14-houdini/houdini-send-a.yaml). Screenshots attached below cover: the reorganized scene, the recipient-asset picker, the XMR destination-tag row, Private send on with the slider in its send-privately state, and both success screens (Transaction Success modal and SwapSuccessScene).Note
Medium Risk
Replacing the wallet-screen Send path with a prototype blocks real sends from that button until reverted; funds are not moved, but testers may hit the wrong flow.
Overview
Adds a review-only
HoudiniSendScenethat prototypes the Houdini “private send” UX with hard-coded rates, amounts, address, fee, and recipient chains (BTC/ETH/XMR/SOL). Nothing calls Houdini or broadcasts transactions; sliding completes with a fakeEdgeTransactionfor existing success UIs.Wallet Send from the asset transaction header (
TransactionListTop) is temporarily routed tohoudiniSendwithlayout: 'a'(From → To card grouping) instead ofsend2. Other send entry points still usesend2.The scene supports linked You send / Recipient gets editing (guaranteed vs estimated), recipient asset picker, optional Private send, cosmetic quote countdown, conditional destination tag for XMR, and branches completion to Transaction Success + details (same-asset, non-private) or SwapSuccessScene (cross-asset or private). A Maestro flow documents the walkthrough.
Reviewed by Cursor Bugbot for commit ecd9a88. Bugbot is set up for automated code reviews on this repo. Configure here.