@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.
- package/dist/{chunk-OYE6VAAG.js → chunk-IDQLTS4C.js} +182 -67
- package/dist/components/FunCheckoutHistoryModal/FunCheckoutHistoryDetail.d.ts +1 -1
- package/dist/components/FunCheckoutHistoryModal/FunCheckoutHistoryModal.d.ts +2 -1
- package/dist/components/FunkitProvider/FunkitCheckoutContext.d.ts +2 -2
- package/dist/components/FunkitProvider/ModalContext.d.ts +1 -1
- package/dist/components/index.js +1 -1
- package/dist/hooks/useCheckoutType.d.ts +5 -0
- package/dist/hooks/useFunListeners.d.ts +2 -1
- package/dist/index.js +1 -1
- package/dist/utils/checkout.d.ts +1 -0
- package/dist/wallets/walletConnectors/argentWallet/argentWallet.js +2 -2
- package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
- package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
- package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
- package/dist/wallets/walletConnectors/index.js +49 -49
- package/dist/wallets/walletConnectors/ledgerWallet/ledgerWallet.js +2 -2
- package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
- package/dist/wallets/walletConnectors/oktoWallet/oktoWallet.js +2 -2
- package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
- package/dist/wallets/walletConnectors/omniWallet/omniWallet.js +2 -2
- package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
- package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
- package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
- package/dist/wallets/walletConnectors/walletConnectWallet/walletConnectWallet.js +2 -2
- package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
- package/package.json +4 -4
- package/dist/wallets/walletConnectors/chunk-4W6RLMME.js +0 -117
- package/dist/wallets/walletConnectors/chunk-4WS4ZSRN.js +0 -84
- package/dist/wallets/walletConnectors/{chunk-KUXG7P5Q.js → chunk-3XLDPS4Y.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-JJICTRJY.js → chunk-4EKX7Z25.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-Q6N2YWW4.js → chunk-6FQF7H7H.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-MDDT3PSR.js → chunk-77KYAV4P.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-RL5OHS6R.js → chunk-GHYJ56FA.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-VAR774R5.js → chunk-GLB4HFDR.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-NZ4YUZKF.js → chunk-IEAKLGB6.js} +4 -4
- package/dist/wallets/walletConnectors/{chunk-FTTYELWN.js → chunk-LEWQ7DQV.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-LBSWP7R6.js → chunk-LL6T7V77.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-2XHTO74O.js → chunk-MOWIPEYK.js} +4 -4
- package/dist/wallets/walletConnectors/{chunk-X6A7D2EA.js → chunk-NEDPCNTA.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-BDKAIAQA.js → chunk-VW5SMBMG.js} +3 -3
- package/dist/wallets/walletConnectors/{chunk-DBMFZSXN.js → chunk-XXTDCRCW.js} +3 -3
- 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: {
|
|
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
|
-
|
|
17846
|
-
} from "@
|
|
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 [
|
|
18082
|
+
const [linkConnection, setLinkConnection] = useState15(null);
|
|
18076
18083
|
useEffect17(() => {
|
|
18077
|
-
const
|
|
18084
|
+
const newLinkConnection = createLink({
|
|
18078
18085
|
clientId: "e1880c6d-5af8-4634-3182-08dba58a99a5",
|
|
18079
|
-
|
|
18080
|
-
logger.log("
|
|
18086
|
+
onIntegrationConnected: (brokerData) => {
|
|
18087
|
+
logger.log("meshLink:onBrokerConnected", brokerData);
|
|
18081
18088
|
onFinish(brokerData);
|
|
18082
18089
|
},
|
|
18083
18090
|
onTransferFinished: (payload) => {
|
|
18084
|
-
logger.log("
|
|
18091
|
+
logger.log("meshLink:onTransferFinished", payload);
|
|
18085
18092
|
},
|
|
18086
18093
|
onEvent: (payload) => {
|
|
18087
|
-
logger.log("
|
|
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
|
-
|
|
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 (
|
|
18119
|
+
if (linkConnection && linkToken) {
|
|
18113
18120
|
onSoftHide(true);
|
|
18114
|
-
|
|
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,
|
|
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
|
|
20004
|
+
if (funkitConfig?.apiKey) {
|
|
19995
20005
|
try {
|
|
19996
20006
|
setIsRefreshingCheckoutHistory(true);
|
|
19997
|
-
|
|
19998
|
-
|
|
19999
|
-
|
|
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
|
-
|
|
20017
|
-
|
|
20018
|
-
|
|
20019
|
-
|
|
20020
|
-
|
|
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 {
|
|
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
|
-
}, [
|
|
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?.(
|
|
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
|
-
|
|
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
|
-
|
|
21978
|
-
|
|
21979
|
-
|
|
21980
|
-
|
|
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:
|
|
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:
|
|
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."))),
|
|
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(
|
|
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
|
-
|
|
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
|
-
[
|
|
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
|
-
|
|
24213
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
}),
|
|
24403
|
+
}), depositAddress ? /* @__PURE__ */ React127.createElement(FunCheckoutHistoryModal, {
|
|
24290
24404
|
onClose: closeFunCheckoutHistoryModal,
|
|
24291
24405
|
open: funCheckoutHistoryModalOpen,
|
|
24292
|
-
depositAddress
|
|
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.
|
|
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
|
|
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;
|
package/dist/components/index.js
CHANGED
|
@@ -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
package/dist/utils/checkout.d.ts
CHANGED
|
@@ -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;
|