From 73373ccc917bdda53ddf234d294e2fbe84fc32b8 Mon Sep 17 00:00:00 2001 From: Jonathan Tzeng Date: Tue, 18 Aug 2026 13:59:50 -0700 Subject: [PATCH] Register the Swapter swap provider Adds the SWAPTER_INIT env cleaner and the corePlugins entry, which is all the app needs to load the plugin that edge-exchange-plugins now ships. These are the same two edits used locally to exercise Swapter on the simulator, with nothing else from that scratch state. The provider stays dark until the info server serves SWAPTER_INIT: asCorePluginInit resolves to false when the key is absent, so the plugin is registered but never constructed. --- CHANGELOG.md | 1 + src/actions/CategoriesActions.ts | 1 + src/envConfig.ts | 5 +++++ src/util/corePlugins.ts | 1 + 4 files changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cfba92d8c57..f6b2d53ca41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased (develop) - added: App/device attestation for gated info-server requests +- added: Swapter swap provider registration, so the plugin ships in the app once the info server serves its init options - added: "-m" tag on the version number in the Help scene for Maestro test builds - added: Sign Message option in the wallet list menu for Bitcoin-family wallets, letting users prove self-hosted wallet ownership to exchanges by signing an exchange-provided message. - added: `edge://buy` and `edge://sell` deep links (and their `https://deep.edge.app` equivalents) that open the buy/sell flow, optionally pinning a provider and payment method to the top of the quote options for that visit. diff --git a/src/actions/CategoriesActions.ts b/src/actions/CategoriesActions.ts index d00a39a6b15..681bde025b9 100644 --- a/src/actions/CategoriesActions.ts +++ b/src/actions/CategoriesActions.ts @@ -725,6 +725,7 @@ export const pluginIdIcons: Record = { rango: EDGE_CONTENT_SERVER_URI + '/rango.png', sideshift: EDGE_CONTENT_SERVER_URI + '/sideshift-logo.png', simplex: EDGE_CONTENT_SERVER_URI + '/simplex.png', + swapter: EDGE_CONTENT_SERVER_URI + '/exchangeIcons/swapter/icon.png', swapuz: EDGE_CONTENT_SERVER_URI + '/swapuz.png', thorchain: EDGE_CONTENT_SERVER_URI + '/thorchain.png', unizen: EDGE_CONTENT_SERVER_URI + '/unizen.png', diff --git a/src/envConfig.ts b/src/envConfig.ts index f0181d68c3d..0bf1c8e469e 100644 --- a/src/envConfig.ts +++ b/src/envConfig.ts @@ -425,6 +425,11 @@ export const asEnvConfig = asObject({ quiknodeApiKey: asOptional(asString, '') }).withRest ), + SWAPTER_INIT: asCorePluginInit( + asObject({ + apiKey: asOptional(asString, '') + }).withRest + ), SWAPUZ_INIT: asCorePluginInit( asObject({ apiKey: asOptional(asString, '') diff --git a/src/util/corePlugins.ts b/src/util/corePlugins.ts index 55c017dad00..7d0c9b06fdb 100644 --- a/src/util/corePlugins.ts +++ b/src/util/corePlugins.ts @@ -99,6 +99,7 @@ export const swapPlugins = { letsexchange: ENV.LETSEXCHANGE_INIT, nexchange: ENV.NEXCHANGE_INIT, sideshift: ENV.SIDESHIFT_INIT, + swapter: ENV.SWAPTER_INIT, swapuz: ENV.SWAPUZ_INIT, xgram: ENV.XGRAM_INIT, nymswap: ENV.NYM_SWAP_INIT,