Repository navigation
Conversation
A swap into one of the user's wallets saved a plain swap action even when the request demanded a private route. Only the send shape said whether privacy was required, so a transaction list had no way to tell a private swap from a transparent one, and it cannot infer it from the provider: Houdini serves transparent routes too. The flag reaches disk once edge-core-js declares it on EdgeTxActionSwap. An older core drops it in its action cleaner, and the swap keeps its current title.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
1 of 6 tasks
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
privacytoEdgeTxActionSwap. This PR builds and passes tests without it (the field is typed locally insrc/swap/types.ts), but a core without that change drops the flag when it cleans the saved action, so the flag only reaches disk once the app runs a core that carries it.Description
Asana task
Houdini now writes
privacyon the savedswapaction, true when the request asked for a private route (request.privacy === 'required') and false otherwise, the same way it already does onswapSendactions.A Stealth Swap (a private swap between two of the user's own wallets) saved an action identical to a transparent Houdini swap, so the GUI titled it "Swap Funds". The provider id cannot stand in for the flag because Houdini also serves transparent routes.
EdgeTxActionSwapPlugininsrc/swap/types.tsis a local stand-in for the core type and can go once this repo's edge-core-js dev dependency includes the core change.Test:
test/houdini.test.tschecks the flag on a wallet-to-wallet swap with and without a required-privacy request.Note
Low Risk
Metadata-only change on Houdini saved actions with a local type shim; funds routing is unchanged, though the flag only persists on disk once core accepts it.
Overview
Houdini wallet-to-wallet swaps now persist a
privacyflag on the savedswapaction (not only onswapSend), set totruewhenrequest.privacy === 'required'andfalseotherwise. That lets the app distinguish Stealth swaps from transparent Houdini swaps when both wallets are the user’s, since the provider id alone does not imply a private route.Local types add
EdgeTxActionSwapPrivacysoEdgeTxActionSwapPlugincan carry optionalprivacyuntiledge-core-jsincludes the same field onEdgeTxActionSwap. A Houdini test asserts the flag for required vs optional privacy on wallet-to-wallet flows.Reviewed by Cursor Bugbot for commit 2bdc559. Bugbot is set up for automated code reviews on this repo. Configure here.