@funkit/connect 0.1.14 → 0.1.15

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.
Files changed (42) hide show
  1. package/dist/{chunk-OYE6VAAG.js → chunk-IDQLTS4C.js} +182 -67
  2. package/dist/components/FunCheckoutHistoryModal/FunCheckoutHistoryDetail.d.ts +1 -1
  3. package/dist/components/FunCheckoutHistoryModal/FunCheckoutHistoryModal.d.ts +2 -1
  4. package/dist/components/FunkitProvider/FunkitCheckoutContext.d.ts +2 -2
  5. package/dist/components/FunkitProvider/ModalContext.d.ts +1 -1
  6. package/dist/components/index.js +1 -1
  7. package/dist/hooks/useCheckoutType.d.ts +5 -0
  8. package/dist/hooks/useFunListeners.d.ts +2 -1
  9. package/dist/index.js +1 -1
  10. package/dist/utils/checkout.d.ts +1 -0
  11. package/dist/wallets/walletConnectors/argentWallet/argentWallet.js +2 -2
  12. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  13. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  14. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  15. package/dist/wallets/walletConnectors/index.js +49 -49
  16. package/dist/wallets/walletConnectors/ledgerWallet/ledgerWallet.js +2 -2
  17. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  18. package/dist/wallets/walletConnectors/oktoWallet/oktoWallet.js +2 -2
  19. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  20. package/dist/wallets/walletConnectors/omniWallet/omniWallet.js +2 -2
  21. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  22. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  23. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  24. package/dist/wallets/walletConnectors/walletConnectWallet/walletConnectWallet.js +2 -2
  25. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  26. package/package.json +4 -4
  27. package/dist/wallets/walletConnectors/chunk-4W6RLMME.js +0 -117
  28. package/dist/wallets/walletConnectors/chunk-4WS4ZSRN.js +0 -84
  29. package/dist/wallets/walletConnectors/{chunk-KUXG7P5Q.js → chunk-3XLDPS4Y.js} +3 -3
  30. package/dist/wallets/walletConnectors/{chunk-JJICTRJY.js → chunk-4EKX7Z25.js} +3 -3
  31. package/dist/wallets/walletConnectors/{chunk-Q6N2YWW4.js → chunk-6FQF7H7H.js} +3 -3
  32. package/dist/wallets/walletConnectors/{chunk-MDDT3PSR.js → chunk-77KYAV4P.js} +3 -3
  33. package/dist/wallets/walletConnectors/{chunk-RL5OHS6R.js → chunk-GHYJ56FA.js} +3 -3
  34. package/dist/wallets/walletConnectors/{chunk-VAR774R5.js → chunk-GLB4HFDR.js} +3 -3
  35. package/dist/wallets/walletConnectors/{chunk-NZ4YUZKF.js → chunk-IEAKLGB6.js} +4 -4
  36. package/dist/wallets/walletConnectors/{chunk-FTTYELWN.js → chunk-LEWQ7DQV.js} +3 -3
  37. package/dist/wallets/walletConnectors/{chunk-LBSWP7R6.js → chunk-LL6T7V77.js} +3 -3
  38. package/dist/wallets/walletConnectors/{chunk-2XHTO74O.js → chunk-MOWIPEYK.js} +4 -4
  39. package/dist/wallets/walletConnectors/{chunk-X6A7D2EA.js → chunk-NEDPCNTA.js} +3 -3
  40. package/dist/wallets/walletConnectors/{chunk-BDKAIAQA.js → chunk-VW5SMBMG.js} +3 -3
  41. package/dist/wallets/walletConnectors/{chunk-DBMFZSXN.js → chunk-XXTDCRCW.js} +3 -3
  42. package/dist/wallets/walletConnectors/{chunk-TORM2ZGA.js → chunk-YWKKNHO3.js} +4 -4
@@ -14929,6 +14929,7 @@ import {
14929
14929
  getCheckoutByDepositAddress,
14930
14930
  getCheckoutQuote as getApiCheckoutQuote,
14931
14931
  getCheckoutsByFunWalletAddress,
14932
+ getCheckoutsByRecipientAddress,
14932
14933
  getMoonpayBuyQuoteForCreditCard,
14933
14934
  initializeCheckout as postApiInitializeCheckout,
14934
14935
  isAddress as isAddress3,
@@ -15294,11 +15295,13 @@ function generateDefaultCheckoutHistoryStateMap() {
15294
15295
  function categorizeCheckoutHistories(checkoutHistoryList) {
15295
15296
  const stateMap = generateDefaultCheckoutHistoryStateMap();
15296
15297
  const depositAddrMap = {};
15298
+ const currentDepositAddrMap = {};
15297
15299
  checkoutHistoryList.forEach((item) => {
15298
15300
  depositAddrMap[item.depositAddr] = item;
15301
+ currentDepositAddrMap[item.currentDepositAddr] = item;
15299
15302
  stateMap[item.state].push(item);
15300
15303
  });
15301
- return { stateMap, depositAddrMap };
15304
+ return { stateMap, depositAddrMap, currentDepositAddrMap };
15302
15305
  }
15303
15306
  function getCheckoutStateStepNumber(state) {
15304
15307
  if (FROM_PROGRESS_CHECKOUT_STATES.includes(state)) {
@@ -17370,7 +17373,11 @@ function FunTransactionSummary({
17370
17373
  src: CHECKOUT_ASSET[symbol.toLowerCase()].icon,
17371
17374
  height: 16,
17372
17375
  width: 16,
17373
- style: { marginRight: "6px" }
17376
+ style: {
17377
+ maxHeight: 16,
17378
+ maxWidth: 16,
17379
+ marginRight: "6px"
17380
+ }
17374
17381
  }), /* @__PURE__ */ React56.createElement(Text, {
17375
17382
  weight: "medium",
17376
17383
  color: "modalText",
@@ -17842,8 +17849,8 @@ import React75 from "react";
17842
17849
 
17843
17850
  // src/components/FunPayments/FunPaymentMeshType.tsx
17844
17851
  import {
17845
- createFrontConnection
17846
- } from "@front-finance/link";
17852
+ createLink
17853
+ } from "@meshconnect/web-link-sdk";
17847
17854
  import React66, { useCallback as useCallback10, useEffect as useEffect17, useMemo as useMemo12, useState as useState15 } from "react";
17848
17855
 
17849
17856
  // src/components/FunSelect/FunSelect.tsx
@@ -18072,19 +18079,19 @@ function FunPaymentMeshType({
18072
18079
  const [meshPreError, setMeshPreError] = useState15("");
18073
18080
  const funkitConfig = useFunkitConfig();
18074
18081
  const { options } = useMeshExchanges({ fullInfo: true });
18075
- const [frontConnection, setFrontConnection] = useState15(null);
18082
+ const [linkConnection, setLinkConnection] = useState15(null);
18076
18083
  useEffect17(() => {
18077
- const frontConnect = createFrontConnection({
18084
+ const newLinkConnection = createLink({
18078
18085
  clientId: "e1880c6d-5af8-4634-3182-08dba58a99a5",
18079
- onBrokerConnected: (brokerData) => {
18080
- logger.log(">onBrokerConnected", brokerData);
18086
+ onIntegrationConnected: (brokerData) => {
18087
+ logger.log("meshLink:onBrokerConnected", brokerData);
18081
18088
  onFinish(brokerData);
18082
18089
  },
18083
18090
  onTransferFinished: (payload) => {
18084
- logger.log(">onTransferFinished", payload);
18091
+ logger.log("meshLink:onTransferFinished", payload);
18085
18092
  },
18086
18093
  onEvent: (payload) => {
18087
- logger.log(">onEvent", payload);
18094
+ logger.log("meshLink:onEvent", payload);
18088
18095
  },
18089
18096
  onExit: (error) => {
18090
18097
  onSoftHide(false);
@@ -18095,7 +18102,7 @@ function FunPaymentMeshType({
18095
18102
  },
18096
18103
  accessTokens: []
18097
18104
  });
18098
- setFrontConnection({ ...frontConnect });
18105
+ setLinkConnection({ ...newLinkConnection });
18099
18106
  }, [onFinish, onSoftHide]);
18100
18107
  const onClickContinue = useCallback10(async () => {
18101
18108
  try {
@@ -18109,9 +18116,9 @@ function FunPaymentMeshType({
18109
18116
  }
18110
18117
  const response = await fetchMeshLinkToken(exchange, funkitConfig.apiKey);
18111
18118
  const linkToken = response.linkToken;
18112
- if (frontConnection && linkToken) {
18119
+ if (linkConnection && linkToken) {
18113
18120
  onSoftHide(true);
18114
- frontConnection.openLink(linkToken);
18121
+ linkConnection.openLink(linkToken);
18115
18122
  }
18116
18123
  } catch (err) {
18117
18124
  logger.error("Unable to fetch link token", err);
@@ -18122,7 +18129,7 @@ function FunPaymentMeshType({
18122
18129
  } finally {
18123
18130
  setIsLoadingMeshModal(false);
18124
18131
  }
18125
- }, [exchange, frontConnection, funkitConfig?.apiKey, onSoftHide]);
18132
+ }, [exchange, linkConnection, funkitConfig?.apiKey, onSoftHide]);
18126
18133
  const canContinue = useMemo12(() => isNotNullish(exchange), [exchange]);
18127
18134
  const hasMeshPreError = useMemo12(() => meshPreError !== "", [meshPreError]);
18128
18135
  const filteredOptions = useMemo12(
@@ -19962,6 +19969,7 @@ var FunkitCheckoutContext = createContext12({
19962
19969
  checkoutHistoryList: [],
19963
19970
  checkoutHistoryStateMap: {},
19964
19971
  checkoutHistoryDepositAddrMap: {},
19972
+ checkoutHistoryCurrentDepositAddrMap: {},
19965
19973
  isCheckoutHistoryInited: false,
19966
19974
  isRefreshingCheckoutHistory: true,
19967
19975
  _startCheckoutHistoryListener: () => void 0,
@@ -19981,23 +19989,36 @@ function FunkitCheckoutProvider({ children }) {
19981
19989
  const [checkoutHistoryList, setCheckoutHistoryList] = useState22([]);
19982
19990
  const {
19983
19991
  stateMap: checkoutHistoryStateMap,
19984
- depositAddrMap: checkoutHistoryDepositAddrMap
19992
+ depositAddrMap: checkoutHistoryDepositAddrMap,
19993
+ currentDepositAddrMap: checkoutHistoryCurrentDepositAddrMap
19985
19994
  } = useMemo18(() => {
19986
19995
  return categorizeCheckoutHistories(checkoutHistoryList);
19987
19996
  }, [checkoutHistoryList]);
19988
19997
  const [activeCheckouts, setActiveCheckouts] = useState22({});
19989
19998
  const [refreshSymbol, triggerRefreshSymbol] = useSymbolRefresh_default();
19999
+ const [historyRecipientAddress, setHistoryRecipientAddress] = useState22();
19990
20000
  const [isCheckoutHistoryInited, setIsCheckoutHistoryInited] = useState22(false);
19991
20001
  const [isRefreshingCheckoutHistory, setIsRefreshingCheckoutHistory] = useState22(true);
19992
20002
  const _refreshCheckoutHistory = useCallback15(async () => {
19993
20003
  const funWalletAddress = await funWallet?.getAddress();
19994
- if (funkitConfig?.apiKey && funWalletAddress) {
20004
+ if (funkitConfig?.apiKey) {
19995
20005
  try {
19996
20006
  setIsRefreshingCheckoutHistory(true);
19997
- const newCheckoutHistoryList = await getCheckoutsByFunWalletAddress({
19998
- funWalletAddress,
19999
- apiKey: funkitConfig?.apiKey
20000
- });
20007
+ let newCheckoutHistoryList = [];
20008
+ if (funWalletAddress) {
20009
+ logger.log("getCheckoutsByFunWalletAddress");
20010
+ newCheckoutHistoryList = await getCheckoutsByFunWalletAddress({
20011
+ funWalletAddress,
20012
+ apiKey: funkitConfig?.apiKey
20013
+ });
20014
+ } else if (historyRecipientAddress) {
20015
+ logger.log("getCheckoutsByRecipientAddress");
20016
+ newCheckoutHistoryList = await getCheckoutsByRecipientAddress({
20017
+ recipientAddress: historyRecipientAddress,
20018
+ apiKey: funkitConfig?.apiKey
20019
+ });
20020
+ }
20021
+ logger.log("newCheckoutHistoryList", newCheckoutHistoryList);
20001
20022
  setCheckoutHistoryList(
20002
20023
  newCheckoutHistoryList.sort((a, b) => b.createdTimeMs - a.createdTimeMs)
20003
20024
  );
@@ -20008,16 +20029,20 @@ function FunkitCheckoutProvider({ children }) {
20008
20029
  setIsRefreshingCheckoutHistory(false);
20009
20030
  }
20010
20031
  }
20011
- }, [funWallet, funkitConfig?.apiKey]);
20032
+ }, [funWallet, funkitConfig?.apiKey, historyRecipientAddress]);
20012
20033
  useEffect21(() => {
20013
20034
  _refreshCheckoutHistory();
20014
20035
  }, [refreshSymbol]);
20015
- const _startCheckoutHistoryListener = useCallback15(() => {
20016
- clearInterval(intervalRef.current);
20017
- intervalRef.current = setInterval(() => {
20018
- triggerRefreshSymbol();
20019
- }, CHECKOUT_HISTORY_REFETCH_INTERVAL_MS);
20020
- }, [triggerRefreshSymbol]);
20036
+ const _startCheckoutHistoryListener = useCallback15(
20037
+ (recipientAddr) => {
20038
+ setHistoryRecipientAddress(recipientAddr);
20039
+ clearInterval(intervalRef.current);
20040
+ intervalRef.current = setInterval(() => {
20041
+ triggerRefreshSymbol();
20042
+ }, CHECKOUT_HISTORY_REFETCH_INTERVAL_MS);
20043
+ },
20044
+ [triggerRefreshSymbol]
20045
+ );
20021
20046
  const _stopCheckoutHistoryListener = useCallback15(() => {
20022
20047
  clearInterval(intervalRef.current);
20023
20048
  }, []);
@@ -20345,6 +20370,7 @@ function FunkitCheckoutProvider({ children }) {
20345
20370
  checkoutHistoryList,
20346
20371
  checkoutHistoryStateMap,
20347
20372
  checkoutHistoryDepositAddrMap,
20373
+ checkoutHistoryCurrentDepositAddrMap,
20348
20374
  isCheckoutHistoryInited,
20349
20375
  isRefreshingCheckoutHistory,
20350
20376
  _startCheckoutHistoryListener,
@@ -20396,9 +20422,12 @@ var useFunkitPreCheckoutInternal = (checkoutId) => {
20396
20422
  getCheckoutDraftDollarValue: async () => await _getCheckoutDraftDollarValue(checkoutId)
20397
20423
  };
20398
20424
  };
20399
- var useFunkitPostCheckoutInternal = (depositAddress) => {
20425
+ var useFunkitPostCheckoutInternal = (depositAddress, isCheckoutSpecialCrFlow) => {
20400
20426
  const funkitConfig = useFunkitConfig();
20401
- const { checkoutHistoryDepositAddrMap } = useContext11(FunkitCheckoutContext);
20427
+ const {
20428
+ checkoutHistoryDepositAddrMap,
20429
+ checkoutHistoryCurrentDepositAddrMap
20430
+ } = useContext11(FunkitCheckoutContext);
20402
20431
  const [checkoutHistoryInfo, setCheckoutHistoryInfo] = useState22();
20403
20432
  const [isLoading, setIsLoading] = useState22(false);
20404
20433
  if (!depositAddress || !isAddress3(depositAddress)) {
@@ -20409,20 +20438,41 @@ var useFunkitPostCheckoutInternal = (depositAddress) => {
20409
20438
  setIsLoading(true);
20410
20439
  let checkoutHistory;
20411
20440
  if (checkoutHistoryDepositAddrMap?.[depositAddress]) {
20441
+ logger.log("setupCheckoutHistory:checkoutHistoryDepositAddrMap");
20412
20442
  checkoutHistory = checkoutHistoryDepositAddrMap[depositAddress];
20443
+ } else if (checkoutHistoryCurrentDepositAddrMap?.[depositAddress]) {
20444
+ logger.log("setupCheckoutHistory:checkoutHistoryCurrentDepositAddrMap");
20445
+ checkoutHistory = checkoutHistoryCurrentDepositAddrMap[depositAddress];
20446
+ } else if (isCheckoutSpecialCrFlow) {
20447
+ logger.log("setupCheckoutHistory:getCheckoutsByRecipientAddress");
20448
+ const historyList = await getCheckoutsByRecipientAddress({
20449
+ recipientAddress: depositAddress,
20450
+ apiKey: funkitConfig?.apiKey
20451
+ });
20452
+ checkoutHistory = historyList.sort(
20453
+ (a, b) => b.createdTimeMs - a.createdTimeMs
20454
+ )[0];
20413
20455
  } else {
20456
+ logger.log("setupCheckoutHistory:getCheckoutByDepositAddress");
20414
20457
  checkoutHistory = await getCheckoutByDepositAddress({
20415
20458
  depositAddress,
20416
20459
  apiKey: funkitConfig?.apiKey
20417
20460
  });
20418
20461
  }
20462
+ logger.log("setupCheckoutHistory:checkoutHistory", checkoutHistory);
20419
20463
  setCheckoutHistoryInfo(checkoutHistory);
20420
20464
  } catch (err) {
20421
20465
  logger.error("setupCheckoutHistory:error", err);
20422
20466
  } finally {
20423
20467
  setIsLoading(false);
20424
20468
  }
20425
- }, [checkoutHistoryDepositAddrMap, depositAddress, funkitConfig?.apiKey]);
20469
+ }, [
20470
+ checkoutHistoryCurrentDepositAddrMap,
20471
+ checkoutHistoryDepositAddrMap,
20472
+ depositAddress,
20473
+ funkitConfig?.apiKey,
20474
+ isCheckoutSpecialCrFlow
20475
+ ]);
20426
20476
  useEffect21(() => {
20427
20477
  setupCheckoutHistory().catch(logger.warn);
20428
20478
  }, [depositAddress, checkoutHistoryDepositAddrMap]);
@@ -20533,14 +20583,14 @@ var useFunkitCheckout = (props) => {
20533
20583
  };
20534
20584
 
20535
20585
  // src/hooks/useFunListeners.ts
20536
- function useCheckoutHistoryListener(activate = true) {
20586
+ function useCheckoutHistoryListener(activate = true, recipientAddr) {
20537
20587
  const { startCheckoutHistoryListener, stopCheckoutHistoryListener } = useFunkitAllPostCheckoutsInternal();
20538
20588
  useEffect22(() => {
20539
20589
  if (activate) {
20540
- startCheckoutHistoryListener();
20590
+ startCheckoutHistoryListener(recipientAddr);
20541
20591
  }
20542
20592
  return () => stopCheckoutHistoryListener();
20543
- }, []);
20593
+ }, [activate]);
20544
20594
  }
20545
20595
  function useWalletAssetsListener(activate = true) {
20546
20596
  const { startAssetsListener, stopAssetsListener } = useGeneralWallet();
@@ -20549,7 +20599,7 @@ function useWalletAssetsListener(activate = true) {
20549
20599
  startAssetsListener();
20550
20600
  }
20551
20601
  return () => stopAssetsListener();
20552
- }, []);
20602
+ }, [activate]);
20553
20603
  }
20554
20604
 
20555
20605
  // src/components/FunNotification/FunCheckoutNotification.tsx
@@ -20574,6 +20624,22 @@ function useCheckoutStateBooleans(checkoutState) {
20574
20624
  };
20575
20625
  }
20576
20626
 
20627
+ // src/hooks/useCheckoutType.ts
20628
+ function useCheckoutType(checkoutItem) {
20629
+ if (!checkoutItem) {
20630
+ return {
20631
+ isCheckoutCrFlow: false,
20632
+ isCheckoutSpecialCrFlow: false
20633
+ };
20634
+ }
20635
+ const isCheckoutCrFlow = checkoutItem.initSettings.config.customRecipient;
20636
+ const isCheckoutSpecialCrFlow = isCheckoutCrFlow && checkoutItem.selectedSourceAssetInfo.chainId === checkoutItem.initSettings.config.targetChain && checkoutItem.selectedSourceAssetInfo.address.toLowerCase() === checkoutItem.initSettings.config.targetAsset.toLowerCase();
20637
+ return {
20638
+ isCheckoutCrFlow,
20639
+ isCheckoutSpecialCrFlow
20640
+ };
20641
+ }
20642
+
20577
20643
  // src/components/FunButton/FunViewTxButton.tsx
20578
20644
  import React86 from "react";
20579
20645
  function FunViewTxButton({ onClick }) {
@@ -20631,6 +20697,9 @@ function FunCheckoutNotification({
20631
20697
  checkoutHistoryItem,
20632
20698
  onBeforeRedirect
20633
20699
  }) {
20700
+ const { isCheckoutSpecialCrFlow } = useCheckoutType(
20701
+ checkoutHistoryItem.clientMetadata
20702
+ );
20634
20703
  const { openFunCheckoutHistoryModal } = useFunCheckoutHistoryModal();
20635
20704
  const { isProcessing, isCompleted, isError, isExpired, isTerminal } = useCheckoutStateBooleans(checkoutHistoryItem.state);
20636
20705
  const titleVerb = useMemo19(() => {
@@ -20695,7 +20764,10 @@ function FunCheckoutNotification({
20695
20764
  onClick: () => {
20696
20765
  if (checkoutHistoryItem.depositAddr) {
20697
20766
  onBeforeRedirect?.();
20698
- openFunCheckoutHistoryModal?.(checkoutHistoryItem.depositAddr);
20767
+ openFunCheckoutHistoryModal?.(
20768
+ checkoutHistoryItem.depositAddr,
20769
+ isCheckoutSpecialCrFlow
20770
+ );
20699
20771
  }
20700
20772
  }
20701
20773
  })));
@@ -21946,6 +22018,7 @@ function FunCheckoutHistoryDetail({
21946
22018
  checkoutHistoryInfo
21947
22019
  }) {
21948
22020
  const checkoutItem = checkoutHistoryInfo.clientMetadata;
22021
+ const { isCheckoutCrFlow, isCheckoutSpecialCrFlow } = useCheckoutType(checkoutItem);
21949
22022
  const {
21950
22023
  isProcessing,
21951
22024
  isCompleted,
@@ -21954,7 +22027,11 @@ function FunCheckoutHistoryDetail({
21954
22027
  isExpired,
21955
22028
  isTerminal
21956
22029
  } = useCheckoutStateBooleans(checkoutHistoryInfo.state);
21957
- useCheckoutHistoryListener(isProcessing);
22030
+ const isFailedFinal = isFailed && !isCheckoutSpecialCrFlow;
22031
+ useCheckoutHistoryListener(
22032
+ isProcessing && !isCheckoutSpecialCrFlow,
22033
+ isCheckoutCrFlow ? checkoutHistoryInfo.recipientAddr : void 0
22034
+ );
21958
22035
  useWalletAssetsListener(isProcessing || isCompleted);
21959
22036
  const timelineLabels = useMemo25(() => {
21960
22037
  const explorerInfo = FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO6[checkoutHistoryInfo.fromChainId].explorerInfo;
@@ -21966,26 +22043,34 @@ function FunCheckoutHistoryDetail({
21966
22043
  )
21967
22044
  },
21968
22045
  {
21969
- text: "Order Processing",
22046
+ text: isCheckoutSpecialCrFlow ? "Order Funded" : "Order Processing",
21970
22047
  description: formatTimestamp(
21971
22048
  new Date(checkoutHistoryInfo.createdTimeMs + FAKE_DELAY_MS)
21972
22049
  ),
21973
22050
  linkText: `View on ${explorerInfo.name}`,
21974
- linkUrl: `${explorerInfo.url}/address/${checkoutHistoryInfo.depositAddr}`
21975
- },
21976
- {
21977
- text: `Order ${isError ? "Failed" : isExpired ? "Expired" : "Delivered"}`,
21978
- description: isExpired ? formatTimestamp(
21979
- new Date(checkoutHistoryInfo.expirationTimestampSeconds * 1e3)
21980
- ) : isTerminal ? formatTimestamp(new Date(checkoutHistoryInfo.lastUpdatedTimeMs)) : ""
21981
- }
22051
+ linkUrl: `${explorerInfo.url}/address/${isCheckoutSpecialCrFlow ? checkoutHistoryInfo.recipientAddr : checkoutHistoryInfo.depositAddr}`
22052
+ },
22053
+ ...isCheckoutSpecialCrFlow ? [] : [
22054
+ {
22055
+ text: `Order ${isError ? "Failed" : isExpired ? "Expired" : "Delivered"}`,
22056
+ description: isExpired ? formatTimestamp(
22057
+ new Date(
22058
+ checkoutHistoryInfo.expirationTimestampSeconds * 1e3
22059
+ )
22060
+ ) : isTerminal ? formatTimestamp(
22061
+ new Date(checkoutHistoryInfo.lastUpdatedTimeMs)
22062
+ ) : ""
22063
+ }
22064
+ ]
21982
22065
  ];
21983
22066
  }, [
22067
+ checkoutHistoryInfo.fromChainId,
21984
22068
  checkoutHistoryInfo.createdTimeMs,
22069
+ checkoutHistoryInfo.recipientAddr,
21985
22070
  checkoutHistoryInfo.depositAddr,
21986
22071
  checkoutHistoryInfo.expirationTimestampSeconds,
21987
- checkoutHistoryInfo.fromChainId,
21988
22072
  checkoutHistoryInfo.lastUpdatedTimeMs,
22073
+ isCheckoutSpecialCrFlow,
21989
22074
  isError,
21990
22075
  isExpired,
21991
22076
  isTerminal
@@ -21999,17 +22084,17 @@ function FunCheckoutHistoryDetail({
21999
22084
  display: "flex",
22000
22085
  flexDirection: "column",
22001
22086
  gap: "24",
22002
- style: { opacity: isFailed ? 0.5 : 1 }
22087
+ style: { opacity: isFailedFinal ? 0.5 : 1 }
22003
22088
  }, /* @__PURE__ */ React106.createElement(CheckoutPrimaryInfoSnapshot, {
22004
22089
  checkoutItem,
22005
22090
  isLoading: false
22006
- }), isTerminal ? null : /* @__PURE__ */ React106.createElement(FunNotification, {
22091
+ }), isCheckoutSpecialCrFlow || isTerminal ? null : /* @__PURE__ */ React106.createElement(FunNotification, {
22007
22092
  description: "We are currently processing your order."
22008
22093
  }), /* @__PURE__ */ React106.createElement(FunVerticalProgressBar, {
22009
- step: isTerminal ? 3 : 2,
22010
- totalSteps: 3,
22094
+ step: isCheckoutSpecialCrFlow ? 2 : isTerminal ? 3 : 2,
22095
+ totalSteps: timelineLabels.length,
22011
22096
  labels: timelineLabels
22012
- }), isTerminal ? null : /* @__PURE__ */ React106.createElement(Box, {
22097
+ }), isCheckoutSpecialCrFlow || isTerminal ? null : /* @__PURE__ */ React106.createElement(Box, {
22013
22098
  display: "flex",
22014
22099
  flexDirection: "column",
22015
22100
  alignItems: "center",
@@ -22017,7 +22102,7 @@ function FunCheckoutHistoryDetail({
22017
22102
  }, /* @__PURE__ */ React106.createElement(Text, {
22018
22103
  size: "12",
22019
22104
  color: "modalTextDim"
22020
- }, "You will receive a notification when your order has finished."))), isFailed ? /* @__PURE__ */ React106.createElement(FunToast, {
22105
+ }, "You will receive a notification when your order has finished."))), isFailedFinal ? /* @__PURE__ */ React106.createElement(FunToast, {
22021
22106
  type: 1 /* ERROR */,
22022
22107
  title: "Order Failed",
22023
22108
  isDescriptionText: false,
@@ -22045,14 +22130,18 @@ function FunCheckoutHistoryDetail({
22045
22130
  function FunCheckoutHistoryModal({
22046
22131
  onClose,
22047
22132
  open,
22048
- depositAddress
22133
+ depositAddress,
22134
+ isCheckoutSpecialCrFlow
22049
22135
  }) {
22050
22136
  if (open && !depositAddress) {
22051
22137
  throw new Error(
22052
22138
  "Unable to open checkout history modal without a depositAddress"
22053
22139
  );
22054
22140
  }
22055
- const { checkoutHistoryInfo, isLoading } = useFunkitPostCheckoutInternal(depositAddress);
22141
+ const { checkoutHistoryInfo, isLoading } = useFunkitPostCheckoutInternal(
22142
+ depositAddress,
22143
+ isCheckoutSpecialCrFlow
22144
+ );
22056
22145
  return /* @__PURE__ */ React107.createElement(Dialog, {
22057
22146
  open,
22058
22147
  onClose,
@@ -22498,6 +22587,7 @@ function FunCheckoutModal({
22498
22587
  checkoutItem?.initSettings?.onClose?.();
22499
22588
  onClose?.();
22500
22589
  }, [checkoutItem?.initSettings, onClose]);
22590
+ const { isCheckoutSpecialCrFlow } = useCheckoutType(checkoutItem);
22501
22591
  const redirectToCheckoutHistory = useCallback17(
22502
22592
  (depositAddress) => {
22503
22593
  if (depositAddress) {
@@ -22507,16 +22597,17 @@ function FunCheckoutModal({
22507
22597
  metadata: {}
22508
22598
  });
22509
22599
  onCloseWrapper?.();
22510
- if (depositAddress === checkoutItem?.initSettings?.config?.customRecipient) {
22511
- logger.log("Skipping checkout history detail");
22512
- } else {
22513
- openFunCheckoutHistoryModal?.(depositAddress);
22514
- }
22600
+ openFunCheckoutHistoryModal?.(depositAddress, isCheckoutSpecialCrFlow);
22515
22601
  } else {
22516
22602
  logger.warn("No depositAddress generated");
22517
22603
  }
22518
22604
  },
22519
- [checkoutItem?.initSettings, onCloseWrapper, openFunCheckoutHistoryModal]
22605
+ [
22606
+ checkoutItem?.initSettings,
22607
+ isCheckoutSpecialCrFlow,
22608
+ onCloseWrapper,
22609
+ openFunCheckoutHistoryModal
22610
+ ]
22520
22611
  );
22521
22612
  const [isSourceAssetConfirming, setIsSourceAssetConfirming] = useState30(false);
22522
22613
  const onSourceAssetConfirmed = useCallback17(async () => {
@@ -24175,6 +24266,26 @@ function useModalStateValueWithId() {
24175
24266
  }, [])
24176
24267
  };
24177
24268
  }
24269
+ function useCheckoutHistoryModalState() {
24270
+ const [isModalOpen, setModalOpen] = useState36(false);
24271
+ const [depositAddress, setDepositAddress] = useState36(null);
24272
+ const [isCheckoutSpecialCrFlow, setIsCheckoutSpecialCrFlow] = useState36(false);
24273
+ return {
24274
+ closeModal: useCallback21(() => {
24275
+ setDepositAddress(null);
24276
+ setIsCheckoutSpecialCrFlow(false);
24277
+ setModalOpen(false);
24278
+ }, []),
24279
+ isModalOpen,
24280
+ depositAddress,
24281
+ isCheckoutSpecialCrFlow,
24282
+ openModal: useCallback21((id, isCheckoutSpecialCrFlow2) => {
24283
+ setDepositAddress(id);
24284
+ setIsCheckoutSpecialCrFlow(isCheckoutSpecialCrFlow2);
24285
+ setModalOpen(true);
24286
+ }, [])
24287
+ };
24288
+ }
24178
24289
  var ModalContext = createContext14({
24179
24290
  accountModalOpen: false,
24180
24291
  chainModalOpen: false,
@@ -24209,8 +24320,9 @@ function ModalProvider({ children }) {
24209
24320
  closeModal: closeFunCheckoutHistoryModal,
24210
24321
  isModalOpen: funCheckoutHistoryModalOpen,
24211
24322
  openModal: openFunCheckoutHistoryModal,
24212
- modalId: funCheckoutHistoryModalId
24213
- } = useModalStateValueWithId();
24323
+ depositAddress,
24324
+ isCheckoutSpecialCrFlow
24325
+ } = useCheckoutHistoryModalState();
24214
24326
  const {
24215
24327
  closeModal: closeFunDevTestModal,
24216
24328
  isModalOpen: funDevTestModalOpen,
@@ -24244,7 +24356,8 @@ function ModalProvider({ children }) {
24244
24356
  funCheckoutModalOpen,
24245
24357
  funCheckoutModalId,
24246
24358
  funCheckoutHistoryModalOpen,
24247
- funCheckoutHistoryModalId,
24359
+ depositAddress,
24360
+ isCheckoutSpecialCrFlow,
24248
24361
  openFunCheckoutModal,
24249
24362
  openFunCheckoutHistoryModal,
24250
24363
  funDevTestModalOpen,
@@ -24260,7 +24373,8 @@ function ModalProvider({ children }) {
24260
24373
  funCheckoutModalOpen,
24261
24374
  funCheckoutModalId,
24262
24375
  funCheckoutHistoryModalOpen,
24263
- funCheckoutHistoryModalId,
24376
+ depositAddress,
24377
+ isCheckoutSpecialCrFlow,
24264
24378
  openFunCheckoutModal,
24265
24379
  openFunCheckoutHistoryModal,
24266
24380
  funDevTestModalOpen,
@@ -24286,10 +24400,11 @@ function ModalProvider({ children }) {
24286
24400
  open: funCheckoutModalOpen,
24287
24401
  checkoutId: funCheckoutModalId,
24288
24402
  key: funCheckoutModalId
24289
- }), funCheckoutHistoryModalId ? /* @__PURE__ */ React127.createElement(FunCheckoutHistoryModal, {
24403
+ }), depositAddress ? /* @__PURE__ */ React127.createElement(FunCheckoutHistoryModal, {
24290
24404
  onClose: closeFunCheckoutHistoryModal,
24291
24405
  open: funCheckoutHistoryModalOpen,
24292
- depositAddress: funCheckoutHistoryModalId
24406
+ depositAddress,
24407
+ isCheckoutSpecialCrFlow
24293
24408
  }) : null, /* @__PURE__ */ React127.createElement(FunDevTestModal, {
24294
24409
  onClose: closeFunDevTestModal,
24295
24410
  open: funDevTestModalOpen
@@ -24888,7 +25003,7 @@ function setRainbowKitVersion({ version }) {
24888
25003
  }
24889
25004
  function useFingerprint() {
24890
25005
  const fingerprint = useCallback22(() => {
24891
- setRainbowKitVersion({ version: "0.1.14" });
25006
+ setRainbowKitVersion({ version: "0.1.15" });
24892
25007
  }, []);
24893
25008
  useEffect33(() => {
24894
25009
  fingerprint();
@@ -1,7 +1,7 @@
1
1
  import { CheckoutHistoryItem } from '@funkit/core';
2
2
  import React from 'react';
3
3
  /**
4
- * Processing info about a checkout history item (already created in backed)
4
+ * Processing info about a checkout history item (already created in backend)
5
5
  */
6
6
  export declare function FunCheckoutHistoryDetail({ checkoutHistoryInfo, }: {
7
7
  checkoutHistoryInfo: CheckoutHistoryItem;
@@ -3,6 +3,7 @@ interface FunCheckoutHistoryModalProps {
3
3
  open: boolean;
4
4
  onClose: () => void;
5
5
  depositAddress: string;
6
+ isCheckoutSpecialCrFlow: boolean;
6
7
  }
7
- export declare function FunCheckoutHistoryModal({ onClose, open, depositAddress, }: FunCheckoutHistoryModalProps): React.JSX.Element;
8
+ export declare function FunCheckoutHistoryModal({ onClose, open, depositAddress, isCheckoutSpecialCrFlow, }: FunCheckoutHistoryModalProps): React.JSX.Element;
8
9
  export {};
@@ -122,7 +122,7 @@ export declare const useFunkitPreCheckoutInternal: (checkoutId: string | null) =
122
122
  /**
123
123
  * Internal hook to handle post-checkout, PER-BACKEND-CHECKOUT ITEM.
124
124
  */
125
- export declare const useFunkitPostCheckoutInternal: (depositAddress: Address) => {
125
+ export declare const useFunkitPostCheckoutInternal: (depositAddress: Address, isCheckoutSpecialCrFlow: boolean) => {
126
126
  isLoading: boolean;
127
127
  checkoutHistoryInfo: CheckoutHistoryItem | undefined;
128
128
  };
@@ -134,7 +134,7 @@ export declare const useFunkitAllPostCheckoutsInternal: () => {
134
134
  checkoutHistoryStateMap: CheckoutHistoryStateMap;
135
135
  isCheckoutHistoryInited: boolean;
136
136
  isRefreshingCheckoutHistory: boolean;
137
- startCheckoutHistoryListener: () => void;
137
+ startCheckoutHistoryListener: (recipientAddr?: Address | undefined) => void;
138
138
  stopCheckoutHistoryListener: () => void;
139
139
  };
140
140
  /**
@@ -28,7 +28,7 @@ export declare function useFunCheckoutModal(): {
28
28
  };
29
29
  export declare function useFunCheckoutHistoryModal(): {
30
30
  funCheckoutHistoryModalOpen: boolean;
31
- openFunCheckoutHistoryModal: ((depositAddress: string) => void) | undefined;
31
+ openFunCheckoutHistoryModal: ((depositAddress: string, isCheckoutSpecialCrFlow: boolean) => void) | undefined;
32
32
  };
33
33
  export declare function useFunDevTestModal(): {
34
34
  funDevTestModalOpen: boolean;
@@ -4,7 +4,7 @@ import {
4
4
  FunkitProvider,
5
5
  NATIVE_TOKEN,
6
6
  useFunkitCheckout
7
- } from "../chunk-OYE6VAAG.js";
7
+ } from "../chunk-IDQLTS4C.js";
8
8
  import "../chunk-47OHV4T2.js";
9
9
  import "../chunk-C2QHNJBG.js";
10
10
  import "../chunk-VP4CAK4A.js";
@@ -0,0 +1,5 @@
1
+ import { FunkitActiveCheckoutItem } from '../components/FunkitProvider/FunkitCheckoutContext';
2
+ export declare function useCheckoutType(checkoutItem: FunkitActiveCheckoutItem | null): {
3
+ isCheckoutCrFlow: any;
4
+ isCheckoutSpecialCrFlow: any;
5
+ };
@@ -1,7 +1,8 @@
1
+ import { Address } from 'viem';
1
2
  /**
2
3
  * Handles the starting and stopping of checkout history listeners based on the calling component's mount/unmount status
3
4
  */
4
- export declare function useCheckoutHistoryListener(activate?: boolean): void;
5
+ export declare function useCheckoutHistoryListener(activate?: boolean, recipientAddr?: Address | undefined): void;
5
6
  /**
6
7
  * Handles the starting and stopping of asset listeners based on the calling component's mount/unmount status
7
8
  */
package/dist/index.js CHANGED
@@ -31,7 +31,7 @@ import {
31
31
  useFunCheckoutModal,
32
32
  useFunkitCheckout,
33
33
  useWalletConnectors
34
- } from "./chunk-OYE6VAAG.js";
34
+ } from "./chunk-IDQLTS4C.js";
35
35
  import {
36
36
  darkTheme
37
37
  } from "./chunk-47OHV4T2.js";
@@ -99,6 +99,7 @@ export interface CheckoutHistoryStateMap {
99
99
  export declare function categorizeCheckoutHistories(checkoutHistoryList: CheckoutHistoryItem[]): {
100
100
  stateMap: CheckoutHistoryStateMap;
101
101
  depositAddrMap: CheckoutHistoryDepositAddrMap;
102
+ currentDepositAddrMap: CheckoutHistoryDepositAddrMap;
102
103
  };
103
104
  export declare function getCheckoutStateStepNumber(state: CheckoutState): 0 | 1 | 3 | 2;
104
105
  export declare function formatTokenAmountForMoonpay(amount: number): string;
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  argentWallet
4
- } from "../chunk-FTTYELWN.js";
5
- import "../chunk-6T5K52ZY.js";
4
+ } from "../chunk-LEWQ7DQV.js";
6
5
  import "../chunk-ZOLACFTK.js";
6
+ import "../chunk-6T5K52ZY.js";
7
7
  export {
8
8
  argentWallet
9
9
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  bifrostWallet
4
- } from "../chunk-LBSWP7R6.js";
5
- import "../chunk-6T5K52ZY.js";
4
+ } from "../chunk-LL6T7V77.js";
6
5
  import "../chunk-ZOLACFTK.js";
6
+ import "../chunk-6T5K52ZY.js";
7
7
  export {
8
8
  bifrostWallet
9
9
  };