@swype-org/react-sdk 0.1.260 → 0.1.261
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +120 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +120 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2442,13 +2442,37 @@ function applyAction(state, action) {
|
|
|
2442
2442
|
selectedProviderId: action.providerId ?? state.selectedProviderId,
|
|
2443
2443
|
error: action.error ?? null
|
|
2444
2444
|
};
|
|
2445
|
-
case "MOBILE_RESUME_SUCCESS":
|
|
2445
|
+
case "MOBILE_RESUME_SUCCESS": {
|
|
2446
|
+
const guestResume = action.guestCheckoutResume;
|
|
2446
2447
|
return {
|
|
2447
2448
|
...state,
|
|
2448
2449
|
transfer: action.transfer,
|
|
2449
2450
|
error: null,
|
|
2450
2451
|
mobileFlow: false,
|
|
2451
|
-
deeplinkUri: null
|
|
2452
|
+
deeplinkUri: null,
|
|
2453
|
+
...guestResume ? {
|
|
2454
|
+
isGuestFlow: true,
|
|
2455
|
+
guestSessionToken: guestResume.guestSessionToken,
|
|
2456
|
+
guestTransferId: action.transfer.id
|
|
2457
|
+
} : {}
|
|
2458
|
+
};
|
|
2459
|
+
}
|
|
2460
|
+
case "GUEST_PREAUTH_RESUME_WITH_TRANSFER":
|
|
2461
|
+
return {
|
|
2462
|
+
...state,
|
|
2463
|
+
transfer: action.transfer,
|
|
2464
|
+
error: null,
|
|
2465
|
+
mobileFlow: false,
|
|
2466
|
+
deeplinkUri: null,
|
|
2467
|
+
isGuestFlow: true,
|
|
2468
|
+
guestSessionToken: action.guestSessionToken,
|
|
2469
|
+
guestTransferId: action.transfer.id,
|
|
2470
|
+
guestPreauthAccountId: action.guestPreauthAccountId,
|
|
2471
|
+
guestPreauthSessionId: action.guestPreauthSessionId ?? state.guestPreauthSessionId,
|
|
2472
|
+
selectedProviderId: action.selectedProviderId,
|
|
2473
|
+
selectedAccountId: action.guestPreauthAccountId,
|
|
2474
|
+
selectedWalletId: null,
|
|
2475
|
+
selectedTokenSymbol: null
|
|
2452
2476
|
};
|
|
2453
2477
|
case "MOBILE_RESUME_FAILED":
|
|
2454
2478
|
return {
|
|
@@ -8242,6 +8266,38 @@ function usePasskeyCheckEffect(deps) {
|
|
|
8242
8266
|
if (cancelled) return;
|
|
8243
8267
|
if (existingTransfer.status === "COMPLETED") {
|
|
8244
8268
|
clearMobileFlowState();
|
|
8269
|
+
if (persisted.isGuestPreauth && persisted.guestSessionToken) {
|
|
8270
|
+
let guestLookup = null;
|
|
8271
|
+
try {
|
|
8272
|
+
guestLookup = await fetchGuestAccount(
|
|
8273
|
+
apiBaseUrl,
|
|
8274
|
+
persisted.guestSessionToken
|
|
8275
|
+
);
|
|
8276
|
+
} catch {
|
|
8277
|
+
dispatch({ type: "MOBILE_RESUME_SUCCESS", transfer: existingTransfer });
|
|
8278
|
+
onCompleteRef.current?.(existingTransfer);
|
|
8279
|
+
return;
|
|
8280
|
+
}
|
|
8281
|
+
if (guestLookup == null) {
|
|
8282
|
+
dispatch({
|
|
8283
|
+
type: "MOBILE_RESUME_SUCCESS",
|
|
8284
|
+
transfer: existingTransfer,
|
|
8285
|
+
guestCheckoutResume: { guestSessionToken: persisted.guestSessionToken }
|
|
8286
|
+
});
|
|
8287
|
+
onCompleteRef.current?.(existingTransfer);
|
|
8288
|
+
return;
|
|
8289
|
+
}
|
|
8290
|
+
dispatch({
|
|
8291
|
+
type: "GUEST_PREAUTH_RESUME_WITH_TRANSFER",
|
|
8292
|
+
transfer: existingTransfer,
|
|
8293
|
+
guestSessionToken: persisted.guestSessionToken,
|
|
8294
|
+
guestPreauthAccountId: guestLookup.accountId,
|
|
8295
|
+
guestPreauthSessionId: persisted.sessionId ?? null,
|
|
8296
|
+
selectedProviderId: persisted.providerId
|
|
8297
|
+
});
|
|
8298
|
+
onCompleteRef.current?.(existingTransfer);
|
|
8299
|
+
return;
|
|
8300
|
+
}
|
|
8245
8301
|
dispatch({ type: "MOBILE_RESUME_SUCCESS", transfer: existingTransfer });
|
|
8246
8302
|
onCompleteRef.current?.(existingTransfer);
|
|
8247
8303
|
return;
|
|
@@ -8597,9 +8653,11 @@ function useMobilePollingEffect(deps) {
|
|
|
8597
8653
|
reloadAccounts,
|
|
8598
8654
|
apiBaseUrl
|
|
8599
8655
|
} = deps;
|
|
8600
|
-
const { getAccessToken } = reactAuth.usePrivy();
|
|
8656
|
+
const { getAccessToken, authenticated: privyAuthenticated } = reactAuth.usePrivy();
|
|
8601
8657
|
const getAccessTokenRef = react.useRef(getAccessToken);
|
|
8602
8658
|
getAccessTokenRef.current = getAccessToken;
|
|
8659
|
+
const privyAuthenticatedRef = react.useRef(privyAuthenticated);
|
|
8660
|
+
privyAuthenticatedRef.current = privyAuthenticated;
|
|
8603
8661
|
const handleAuthorizedMobileReturnRef = react.useRef(deps.handleAuthorizedMobileReturn);
|
|
8604
8662
|
handleAuthorizedMobileReturnRef.current = deps.handleAuthorizedMobileReturn;
|
|
8605
8663
|
react.useEffect(() => {
|
|
@@ -8632,6 +8690,34 @@ function useMobilePollingEffect(deps) {
|
|
|
8632
8690
|
await reloadAccounts();
|
|
8633
8691
|
} catch {
|
|
8634
8692
|
}
|
|
8693
|
+
const guestToken = state.guestSessionToken;
|
|
8694
|
+
const preauthAccountId = state.guestPreauthAccountId;
|
|
8695
|
+
const preauthSessionId = state.guestPreauthSessionId;
|
|
8696
|
+
if (!guestToken) {
|
|
8697
|
+
dispatch({ type: "MOBILE_SETUP_COMPLETE" });
|
|
8698
|
+
return;
|
|
8699
|
+
}
|
|
8700
|
+
let guestLookup = null;
|
|
8701
|
+
try {
|
|
8702
|
+
guestLookup = await fetchGuestAccount(apiBaseUrl, guestToken);
|
|
8703
|
+
} catch {
|
|
8704
|
+
dispatch({ type: "MOBILE_SETUP_COMPLETE" });
|
|
8705
|
+
return;
|
|
8706
|
+
}
|
|
8707
|
+
if (guestLookup == null) {
|
|
8708
|
+
dispatch({ type: "MOBILE_SETUP_COMPLETE" });
|
|
8709
|
+
return;
|
|
8710
|
+
}
|
|
8711
|
+
if (guestLookup.accountId !== preauthAccountId) {
|
|
8712
|
+
dispatch({
|
|
8713
|
+
type: "GUEST_PREAUTH_DETECTED",
|
|
8714
|
+
accountId: guestLookup.accountId,
|
|
8715
|
+
sessionId: preauthSessionId ?? void 0
|
|
8716
|
+
});
|
|
8717
|
+
}
|
|
8718
|
+
if (!privyAuthenticatedRef.current) {
|
|
8719
|
+
dispatch({ type: "REQUEST_LOGIN" });
|
|
8720
|
+
}
|
|
8635
8721
|
dispatch({ type: "MOBILE_SETUP_COMPLETE" });
|
|
8636
8722
|
};
|
|
8637
8723
|
const pollGuestPreauthSession = async () => {
|
|
@@ -8666,6 +8752,8 @@ function useMobilePollingEffect(deps) {
|
|
|
8666
8752
|
state.activeCredentialId,
|
|
8667
8753
|
state.guestPreauthSessionId,
|
|
8668
8754
|
state.isGuestFlow,
|
|
8755
|
+
state.guestSessionToken,
|
|
8756
|
+
state.guestPreauthAccountId,
|
|
8669
8757
|
apiBaseUrl,
|
|
8670
8758
|
reloadAccounts,
|
|
8671
8759
|
dispatch,
|
|
@@ -8833,11 +8921,38 @@ function useGuestPreauthMobileRestoreEffect(deps) {
|
|
|
8833
8921
|
]);
|
|
8834
8922
|
if (cancelled) return;
|
|
8835
8923
|
const mobileOpen = session.status !== "AUTHORIZED";
|
|
8924
|
+
let guestLookup = null;
|
|
8925
|
+
if (!mobileOpen) {
|
|
8926
|
+
try {
|
|
8927
|
+
guestLookup = await fetchGuestAccount(
|
|
8928
|
+
apiBaseUrl,
|
|
8929
|
+
persisted.guestSessionToken
|
|
8930
|
+
);
|
|
8931
|
+
} catch {
|
|
8932
|
+
dispatch({
|
|
8933
|
+
type: "MOBILE_RESUME_SUCCESS",
|
|
8934
|
+
transfer,
|
|
8935
|
+
guestCheckoutResume: { guestSessionToken: persisted.guestSessionToken }
|
|
8936
|
+
});
|
|
8937
|
+
clearMobileFlowState();
|
|
8938
|
+
return;
|
|
8939
|
+
}
|
|
8940
|
+
if (guestLookup == null) {
|
|
8941
|
+
dispatch({
|
|
8942
|
+
type: "MOBILE_RESUME_SUCCESS",
|
|
8943
|
+
transfer,
|
|
8944
|
+
guestCheckoutResume: { guestSessionToken: persisted.guestSessionToken }
|
|
8945
|
+
});
|
|
8946
|
+
clearMobileFlowState();
|
|
8947
|
+
return;
|
|
8948
|
+
}
|
|
8949
|
+
}
|
|
8950
|
+
const guestPreauthAccountId = !mobileOpen && guestLookup != null ? guestLookup.accountId : persisted.accountId;
|
|
8836
8951
|
dispatch({
|
|
8837
8952
|
type: "RESTORE_GUEST_PREAUTH_MOBILE",
|
|
8838
8953
|
transfer,
|
|
8839
8954
|
guestSessionToken: persisted.guestSessionToken,
|
|
8840
|
-
guestPreauthAccountId
|
|
8955
|
+
guestPreauthAccountId,
|
|
8841
8956
|
guestPreauthSessionId: persisted.sessionId,
|
|
8842
8957
|
selectedProviderId: persisted.providerId,
|
|
8843
8958
|
deeplinkUri: persisted.deeplinkUri,
|
|
@@ -8845,7 +8960,7 @@ function useGuestPreauthMobileRestoreEffect(deps) {
|
|
|
8845
8960
|
});
|
|
8846
8961
|
if (mobileOpen) {
|
|
8847
8962
|
mobileSetupFlowRef.current = true;
|
|
8848
|
-
setupAccountIdRef.current = persisted.accountId;
|
|
8963
|
+
setupAccountIdRef.current = persisted.accountId ?? null;
|
|
8849
8964
|
} else {
|
|
8850
8965
|
clearMobileFlowState();
|
|
8851
8966
|
}
|