diff --git a/CHANGELOG.md b/CHANGELOG.md index cfba92d8c57..f096db98940 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ - 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. - added: Provider priority in the buy/sell options for affiliated accounts, configured through the info server promo card data. +- added: StealthEX as a swap provider. - changed: Target Android 16 (API level 36), which Google Play requires for app updates submitted after Aug 30, 2026. Predictive back is opted out of for now, since React Native 0.79 cannot handle it, so the back button behaves exactly as it did before. - changed: Sign MoonPay buy/sell widget URLs and bind them to the customer's IP via the info server, for MoonPay's on-ramp IP-matching security upgrade. - changed: Style the entire "Already have an account? Sign in" line in the getting-started USP carousel with the tertiary link color, not just "Sign in". diff --git a/src/actions/CategoriesActions.ts b/src/actions/CategoriesActions.ts index d00a39a6b15..4c25a2baaf6 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', + stealthex: EDGE_CONTENT_SERVER_URI + '/exchangeIcons/stealthex/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/components/modals/SwapVerifyTermsModal.tsx b/src/components/modals/SwapVerifyTermsModal.tsx index 0b8e0ccb763..390c9da44b4 100644 --- a/src/components/modals/SwapVerifyTermsModal.tsx +++ b/src/components/modals/SwapVerifyTermsModal.tsx @@ -49,6 +49,11 @@ const pluginData: Record = { kycUri: 'https://help.sideshift.ai/en/articles/6230858-sideshift-ai-s-risk-management-policy' }, + stealthex: { + termsUri: 'https://stealthex.io/terms/', + privacyUri: 'https://stealthex.io/privacy-policy/', + kycUri: 'https://stealthex.io/kyc-aml/' + }, swapuz: { termsUri: 'https://swapuz.com/terms-of-use', privacyUri: 'https://swapuz.com/privacy-policy', diff --git a/src/constants/MerchantContacts.ts b/src/constants/MerchantContacts.ts index dafa01582a1..bbd5f752900 100644 --- a/src/constants/MerchantContacts.ts +++ b/src/constants/MerchantContacts.ts @@ -78,6 +78,10 @@ export const MERCHANT_CONTACTS: MerchantContact[] = [ displayName: 'Simplex', thumbnailPath: `${EDGE_CONTENT_SERVER_URI}/simplex.png` }, + { + displayName: 'StealthEX', + thumbnailPath: `${EDGE_CONTENT_SERVER_URI}/exchangeIcons/stealthex/icon.png` + }, { displayName: 'Swapuz', thumbnailPath: `${EDGE_CONTENT_SERVER_URI}/swapuz.png` diff --git a/src/envConfig.ts b/src/envConfig.ts index f0181d68c3d..53adeb16c17 100644 --- a/src/envConfig.ts +++ b/src/envConfig.ts @@ -425,6 +425,11 @@ export const asEnvConfig = asObject({ quiknodeApiKey: asOptional(asString, '') }).withRest ), + STEALTHEX_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..d1df09f2c3e 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, + stealthex: ENV.STEALTHEX_INIT, swapuz: ENV.SWAPUZ_INIT, xgram: ENV.XGRAM_INIT, nymswap: ENV.NYM_SWAP_INIT,