Skip to content

Enable WizardSwap swap provider - #6218

Open
j0ntz wants to merge 2 commits into
developfrom
jon/add-wizardswap
Open

j0ntz wants to merge 2 commits into
developfrom
jon/add-wizardswap

Conversation

@j0ntz

@j0ntz j0ntz commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Description

Asana task

Enables the WizardSwap central swap provider added in the exchange-plugins PR. The change registers wizardswap in corePlugins, adds WIZARDSWAP_INIT (affiliate apiKey) to envConfig, and maps its icon in CategoriesActions.

Release-blocking steps (the provider does not ship without both):

  • Add a WIZARDSWAP_INIT entry to the release env.json. Like every asCorePluginInit provider, a missing entry makes the cleaner return false and edge-core-js skips the plugin, so WizardSwap never quotes. Set apiKey to the WizardSwap affiliate id from the team password manager; a blank key still loads the plugin (it quotes and orders without one) but swaps go uncredited. Referral payouts are not active on the account yet, which takes an email to support@wizardswap.io naming the referring site.
  • Upload the provider icon to the content server at /exchangeIcons/wizardswap/icon.png. Until it is uploaded (the URL returns 403), the swap scenes show a blank provider icon.

Tested on the iOS simulator against the linked plugin. Without the affiliate key: a real ZEC to BTC swap of 0.0061844 ZEC ran to completion (order NI53JPQ4), the provider reported finished, and 10285 sats (the quoted 0.00010285 BTC) arrived in the BTC wallet. With WIZARDSWAP_INIT.apiKey set in the build: a real DASH to DOGE swap of 0.0624 DASH reached the success scene (order JGZ0BGYR, deposit tx 5c6cf027...c99a8) against a quote of 37.25881404 DOGE, and the provider reported confirming. The screenshots of the quote, success, transaction details and exchange details below are from the second run.

ZANO is not orderable at WizardSwap in either direction (tested 2026-09-26 UTC). With WizardSwap as the only enabled provider, BTC to ZANO for $20 showed "No enabled exchanges support BTC to ZANO." while BTC to ETH quoted 0.0072707 ETH through WizardSwap in the same session. ZANO to BTC for $20 stopped at "Insufficient Funds" because WizardSwap has no route that can fund a ZANO wallet. The provider's /api/pairs lists zano only as a source coin, and its API answers every zano estimate with "Insufficient liquidity." while other pairs quote within the same seconds, so this is the provider's state and not IP throttling. No ZANO order was created. The exchange-plugins PR carries the API-level detail; the Zano screenshots are in the second evidence batch below.

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

Requirements

If you have made any visual changes to the GUI. Make sure you have:

  • Tested on iOS device
  • Tested on Android device
  • Tested on small-screen device (iPod Touch)
  • Tested on large-screen device (tablet)

Test evidence

3481092
Enable WizardSwap swap provider
2026-09-23

1. wizardswap quote

2. swap success

3. tx details

4. exchange details
953e151
fixup! Enable WizardSwap swap provider
2026-09-26

5. btc to zano error

6. btc to eth control quote

8. zano to btc unfunded

@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.

Comment thread src/envConfig.ts Outdated
Comment thread src/actions/CategoriesActions.ts

@peachbits peachbits left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Requesting changes for the PR body and one cleaner alignment, both inline. The plugin is disabled until the release env has a WIZARDSWAP_INIT entry, which the description currently presents as optional.

Comment thread src/util/corePlugins.ts
Comment thread src/envConfig.ts Outdated
Default the WIZARDSWAP_INIT apiKey to '' like its neighbors; the plugin's asOptionalBlank cleaner now treats the blank key as unset. Answers the envConfig review thread.

Fixup-for: human
@j0ntz

j0ntz commented Sep 26, 2026

Copy link
Copy Markdown
Contributor Author

The PR body lists the WIZARDSWAP_INIT entry in the release env.json and the icon upload as release-blocking steps, and the envConfig cleaner is asOptional(asString, '') to match the other optional init keys. The body also records the Zano finding: ZANO is not orderable at WizardSwap in either direction.

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