Skip to content

Test a Houdini token payout to an address - #509

Open
j0ntz wants to merge 1 commit into
masterfrom
jon/houdini-token-destinations
Open

j0ntz wants to merge 1 commit into
masterfrom
jon/houdini-token-destinations

Conversation

@j0ntz

@j0ntz j0ntz commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Technical Design Document

stealth-send-swap.md

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

none

Description

Asana task

Test only. A HoudiniSwap swap-to-address order had fixture coverage for chain coins and none for a token payout.

The new case, "orders a token payout to a pasted address", records TRX to USDT on Tron against the live API. It checks that the token is resolved by contract address from the synthetic destination wallet, that the order pays the pasted address, and that the saved action names the token.

The plugin code is unchanged: token payouts already worked, and the app could not ask for one until it had Houdini's token list (the edge-info-server and edge-react-gui PRs of this task).

Testing: test/houdini.test.ts passes with the four new fixtures.


Note

Low Risk
Changes are limited to Houdini acceptance tests and HTTP fixtures; no production swap or wallet logic is modified.

Overview
Test-only: adds acceptance coverage for Houdini swap-to-address when the payout is a token (not just a chain coin).

makeFakeSyntheticDestination now accepts optional tokens on currencyConfig.allTokens, matching how core backs synthetic destination wallets with the chain token list. A new case orders a token payout to a pasted address runs TRX → USDT (Tron) through quote and create-exchange: it asserts the destination token is resolved by contract on the synthetic wallet, addressTo is the pasted Tron address, amounts match the recorded order, and the saved action is swapSend with toAsset.tokenId set to the USDT contract.

Four cached test/houdiniFixtures/ JSON files were added so the flow replays without live API calls. No Houdini plugin or app production code changes.

Reviewed by Cursor Bugbot for commit 947cd65. Bugbot is set up for automated code reviews on this repo. Configure here.

A swap-to-address order had fixture coverage for chain coins only.
This records TRX to USDT on Tron against the live API: the token is
resolved by contract address from the synthetic destination wallet,
the order pays the pasted address, and the saved action names the
token.
@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.

@j0ntz j0ntz left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This branch was self-reviewed before the PR opened (code-review at high effort, then curated).

Fixed before review (1)
  • test/houdini.test.ts:466: toNativeAmount was asserted only as a non-zero string, which a wrong-unit conversion of 6-decimal USDT would pass. It is asserted equal to '325587589' (fixture outAmount 325.587589). Folded into "Test a Houdini token payout to an address".

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.

2 participants