From 6e2d0a214848f629da53d676e461a2fb710c8a74 Mon Sep 17 00:00:00 2001 From: Brandon McAnsh Date: Thu, 14 May 2026 20:10:48 -0400 Subject: [PATCH 1/2] feat(onramp): migrate Phantom integration from manual deeplinks to SDK Replace hand-rolled deeplink protocol (URL building, X25519 key exchange, NaCl encryption, callback activity) with phantom-connect-wallet SDK. - PhantomWalletConnector now drives connect and sign in-process - connectAndSign() handles the full ceremony; signAndSend() covers the deferred-amount path (Token.Info / CurrencyCreator) - Remove manual deeplink parsing, BoxKeyPair, and DeeplinkType routing - Update Hilt module to provide SDK-backed connector - Clean up manifest (callback activity, query intent) Signed-off-by: Brandon McAnsh --- apps/flipcash/app/build.gradle.kts | 3 + .../flipcash/app/src/main/AndroidManifest.xml | 48 +--- .../kotlin/com/flipcash/app/FlipcashApp.kt | 2 + .../com/flipcash/app/internal/ui/App.kt | 6 - .../app/core/navigation/DeeplinkAction.kt | 1 - .../app/core/navigation/DeeplinkType.kt | 26 +- .../WalletDeeplinkConnectionResult.kt | 109 -------- .../onramp/ui/ConfirmInWalletButtonLabel.kt | 7 +- .../com/flipcash/app/analytics/Events.kt | 2 - .../shared/onramp/deeplinks/build.gradle.kts | 3 + .../app/onramp/DeeplinkOnRampErrors.kt | 14 -- .../onramp/ExternalWalletOnRampController.kt | 238 ++++++++---------- .../app/onramp/ExternalWalletOnRampHandler.kt | 85 ++----- .../app/onramp/ExternalWalletOnRampState.kt | 2 - .../app/onramp/inject/PhantomWalletModule.kt | 27 ++ .../flipcash/app/onramp/internal/Deeplinks.kt | 98 -------- .../flipcash/app/onramp/DeeplinkErrorTest.kt | 1 - .../ExternalWalletBalanceCheckTest.kt | 17 +- .../ExternalWalletDeeplinkStateErrorTest.kt | 84 ++++--- .../flipcash/app/router/internal/AppRouter.kt | 83 +----- .../app/router/internal/AppRouterTest.kt | 147 +---------- .../com/flipcash/app/userflags/Field.kt | 10 - gradle/libs.versions.toml | 3 + .../internal/domain/UserFlagsMapper.kt | 5 +- .../model/thirdparty/OnRampProvider.kt | 4 - .../internal/domain/UserFlagsMapperTest.kt | 4 +- 26 files changed, 240 insertions(+), 789 deletions(-) create mode 100644 apps/flipcash/shared/onramp/deeplinks/src/main/kotlin/com/flipcash/app/onramp/inject/PhantomWalletModule.kt delete mode 100644 apps/flipcash/shared/onramp/deeplinks/src/main/kotlin/com/flipcash/app/onramp/internal/Deeplinks.kt diff --git a/apps/flipcash/app/build.gradle.kts b/apps/flipcash/app/build.gradle.kts index 1afb1e1d5..47f080f8f 100644 --- a/apps/flipcash/app/build.gradle.kts +++ b/apps/flipcash/app/build.gradle.kts @@ -153,6 +153,9 @@ dependencies { implementation(project(":apps:flipcash:shared:notifications")) implementation(project(":apps:flipcash:shared:onramp:coinbase")) implementation(project(":apps:flipcash:shared:onramp:deeplinks")) + implementation(libs.phantom.connect) { + exclude(group = "com.ionspin.kotlin", module = "multiplatform-crypto-libsodium-bindings-android-debug") + } implementation(project(":apps:flipcash:shared:payments")) implementation(project(":apps:flipcash:shared:permissions")) implementation(project(":apps:flipcash:shared:phone")) diff --git a/apps/flipcash/app/src/main/AndroidManifest.xml b/apps/flipcash/app/src/main/AndroidManifest.xml index 215bf8f4e..6728d3b7b 100644 --- a/apps/flipcash/app/src/main/AndroidManifest.xml +++ b/apps/flipcash/app/src/main/AndroidManifest.xml @@ -28,16 +28,6 @@ - - - - - - - - - - - - @@ -160,29 +148,6 @@ android:scheme="https" /> - - - - - - - - - - - - - - - - - @@ -232,6 +197,19 @@ + + + + + + + + +