Repository navigation
Conversation
A Stealth Swap has a single provider. Declining that provider's terms used to save the decline and switch the provider off in Exchange Settings, then re-quote. Stealth Swap is about to query the provider whatever that setting says, so the re-quote would return the same provider and open the terms modal again, without end. A decline on a Stealth Swap now turns the Stealth toggle off, returns to the swap create scene, and saves nothing: the user's exchange setting stays as they left it, and the terms are offered again on each later Stealth attempt until they are accepted. A swap with Stealth off keeps the existing behavior. The design doc covers the decline, and the request rule the next commit adds.
Stealth Swap got no quote when Houdini was switched off in Exchange Settings, while Stealth Send kept working: only the send scene asked the core to force-enable the provider for its request. makeStealthSwapRequestOptions now force-enables Houdini for every caller, so the opt-in flag goes away. The exchange setting governs which providers the aggregator may pick among for an ordinary swap, and a swap with Stealth off still honors it. A Stealth request names its one provider, so there is nothing for the setting to choose between. The core ranks disabled above forceEnabled, so the info server's kill switches, which reach the request as disabled entries, still stop a Stealth Swap. A new test runs both toggle states through the core's quote fetcher on a fake account.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
Description
The HoudiniSwap switch in Exchange Settings now affects only swaps with Stealth off. A Stealth Swap and every send scene path always use Houdini.
The info server's kill switches (
disabled,disableAssets) still block Houdini in every row.Declining Houdini's terms:
How:
makeStealthSwapRequestOptions(src/util/stealthSwap.ts) always force-enables Houdini, and itsignoreProviderSettingflag is gone.swapVerifyTermstakesdeclineIsCancelOnly, which the confirmation scene sets for a Stealth Swap.Testing:
stealthSwapQuotes.test.tsruns every row of the first table with the switch on and off through the core's quote fetcher, plus the kill switch.SwapConfirmationScene.test.tsxandSwapVerifyTermsModal.test.tsxcover both decline rows.Design doc: stealth-send-swap.md.
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:
Test evidence
05e39c7Ignore the Houdini toggle for Stealth Swap
2026-10-07
🪓 Frame 12 only: a temporary uncommitted edit added an ETH entry to the info server's swap disableAssets list, then was reverted. Frames 1 to 11 are unforced.
1. exchange settings houdini off
2. plain swap providers no houdini
3. stealth on houdini off
4. stealth quote terms modal
5. after decline stealth off
6. stealth again terms modal again
7. stealth quote houdini off
8. stealth swap success
9. stealth swap transaction details
10. accepted user stealth quote no modal
11. exchange settings houdini restored
12. 🪓 stealth swap kill switch