diff --git a/Navigation.js b/Navigation.js
index ee528953d..30109faa6 100644
--- a/Navigation.js
+++ b/Navigation.js
@@ -211,18 +211,6 @@ const ScanLndInvoiceRoot = () => (
);
-const HandleOffchainAndOnChainStack = createStackNavigator();
-const HandleOffchainAndOnChain = () => (
-
- {/* screens */}
-
-
- {/* stacks */}
-
-
-
-);
-
const AztecoRedeemStack = createStackNavigator();
const AztecoRedeemRoot = () => (
@@ -247,7 +235,6 @@ const Navigation = () => (
-
- completionHandler(DeeplinkSchemaMatch.isBothBitcoinAndLightningOnWalletSelect(wallet, isBothBitcoinAndLightning)),
+ onWalletSelect: (wallet, { navigation }) => {
+ navigation.pop(); // close select wallet screen
+ navigation.navigate(...DeeplinkSchemaMatch.isBothBitcoinAndLightningOnWalletSelect(wallet, isBothBitcoinAndLightning));
},
},
]);
@@ -206,18 +205,24 @@ class DeeplinkSchemaMatch {
static isBothBitcoinAndLightningOnWalletSelect(wallet, uri) {
if (wallet.chain === Chain.ONCHAIN) {
return [
- 'SendDetails',
+ 'SendDetailsRoot',
{
- uri: uri.bitcoin,
- fromWallet: wallet,
+ screen: 'SendDetails',
+ params: {
+ uri: uri.bitcoin,
+ fromWallet: wallet,
+ },
},
];
} else if (wallet.chain === Chain.OFFCHAIN) {
return [
- 'ScanLndInvoice',
+ 'ScanLndInvoiceRoot',
{
- uri: uri.lndInvoice,
- fromSecret: wallet.getSecret(),
+ screen: 'ScanLndInvoice',
+ params: {
+ uri: uri.lndInvoice,
+ fromSecret: wallet.getSecret(),
+ },
},
];
}
diff --git a/screen/wallets/selectWallet.js b/screen/wallets/selectWallet.js
index 962af80fe..772b56fef 100644
--- a/screen/wallets/selectWallet.js
+++ b/screen/wallets/selectWallet.js
@@ -75,7 +75,7 @@ const styles = StyleSheet.create({
},
});
-const SelectWallet = () => {
+const SelectWallet = ({ navigation }) => {
const { chainType, onWalletSelect, availableWallets } = useRoute().params;
const [isLoading, setIsLoading] = useState(true);
let data = chainType
@@ -96,7 +96,7 @@ const SelectWallet = () => {
{
ReactNativeHapticFeedback.trigger('selection', { ignoreAndroidSystemSettings: false });
- onWalletSelect(item);
+ onWalletSelect(item, { navigation });
}}
>
diff --git a/tests/unit/deeplink-schema-match.test.js b/tests/unit/deeplink-schema-match.test.js
index eab09e680..b96c34be1 100644
--- a/tests/unit/deeplink-schema-match.test.js
+++ b/tests/unit/deeplink-schema-match.test.js
@@ -165,6 +165,17 @@ describe('unit - DeepLinkSchemaMatch', function () {
const navValue = await asyncNavigationRouteFor(event.argument);
assert.deepStrictEqual(navValue, event.expected);
}
+
+ // BIP21 w/BOLT11 support
+ assert.equal(
+ (
+ await asyncNavigationRouteFor({
+ url:
+ 'bitcoin:1DamianM2k8WfNEeJmyqSe2YW1upB7UATx?amount=0.000001&lightning=lnbc1u1pwry044pp53xlmkghmzjzm3cljl6729cwwqz5hhnhevwfajpkln850n7clft4sdqlgfy4qv33ypmj7sj0f32rzvfqw3jhxaqcqzysxq97zvuq5zy8ge6q70prnvgwtade0g2k5h2r76ws7j2926xdjj2pjaq6q3r4awsxtm6k5prqcul73p3atveljkn6wxdkrcy69t6k5edhtc6q7lgpe4m5k4',
+ })
+ )[0],
+ 'SelectWallet',
+ );
});
it('decodes bip21', () => {