@funkit/connect 3.4.1 → 3.4.3
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/CHANGELOG.md +31 -0
- package/dist/consts/mesh.d.ts +1 -1
- package/dist/index.css +2 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +164 -112
- package/dist/modals/CheckoutModal/LoadingAccount.d.ts +1 -1
- package/dist/modals/CheckoutModal/TransferToken.d.ts +4 -5
- package/dist/utils/assets.d.ts +15 -1
- package/dist/wallets/walletConnectors/index.js +53 -53
- package/package.json +4 -4
- package/dist/wallets/walletConnectors/chunk-25VW5TZP.js +0 -92
- package/dist/wallets/walletConnectors/chunk-4HKPVECK.js +0 -95
- package/dist/wallets/walletConnectors/chunk-4K3EKHXR.js +0 -71
- package/dist/wallets/walletConnectors/chunk-57UUMOOZ.js +0 -95
- package/dist/wallets/walletConnectors/chunk-5MVCKMZT.js +0 -94
- package/dist/wallets/walletConnectors/chunk-5NZLWT3Y.js +0 -73
- package/dist/wallets/walletConnectors/chunk-B5D7DYVV.js +0 -101
- package/dist/wallets/walletConnectors/chunk-HCKLWBE5.js +0 -98
- package/dist/wallets/walletConnectors/chunk-HLH777AC.js +0 -108
- package/dist/wallets/walletConnectors/chunk-HMDUVRZP.js +0 -98
- package/dist/wallets/walletConnectors/chunk-IR3YKU2N.js +0 -103
- package/dist/wallets/walletConnectors/chunk-J2BF4L2V.js +0 -87
- package/dist/wallets/walletConnectors/chunk-KDGMYRMC.js +0 -102
- package/dist/wallets/walletConnectors/chunk-OKUX4BC4.js +0 -66
- package/dist/wallets/walletConnectors/chunk-VU6B3HMD.js +0 -96
- package/dist/wallets/walletConnectors/chunk-WAMHUVNP.js +0 -96
- package/dist/wallets/walletConnectors/chunk-YRK6XWL6.js +0 -149
- package/dist/wallets/walletConnectors/chunk-ZCKNEKQQ.js +0 -110
package/dist/index.js
CHANGED
|
@@ -508,7 +508,7 @@ import PrivyJS, {
|
|
|
508
508
|
} from "@privy-io/js-sdk-core";
|
|
509
509
|
import React188, {
|
|
510
510
|
createContext as createContext16,
|
|
511
|
-
useCallback as
|
|
511
|
+
useCallback as useCallback35,
|
|
512
512
|
useContext as useContext18,
|
|
513
513
|
useEffect as useEffect37,
|
|
514
514
|
useMemo as useMemo35,
|
|
@@ -1021,7 +1021,7 @@ var useInitialChainId = () => useContext4(FunkitConnectChainContext).initialChai
|
|
|
1021
1021
|
// src/providers/ModalContext.tsx
|
|
1022
1022
|
import React187, {
|
|
1023
1023
|
createContext as createContext15,
|
|
1024
|
-
useCallback as
|
|
1024
|
+
useCallback as useCallback34,
|
|
1025
1025
|
useContext as useContext17,
|
|
1026
1026
|
useEffect as useEffect36,
|
|
1027
1027
|
useMemo as useMemo34,
|
|
@@ -1635,7 +1635,7 @@ var MeshExchanges = /* @__PURE__ */ ((MeshExchanges4) => {
|
|
|
1635
1635
|
MeshExchanges4["Bitfinex"] = "Bitfinex";
|
|
1636
1636
|
MeshExchanges4["KrakenDirect"] = "KrakenDirect";
|
|
1637
1637
|
MeshExchanges4["Vanguard"] = "Vanguard";
|
|
1638
|
-
MeshExchanges4["BitfinexDirect"] = "
|
|
1638
|
+
MeshExchanges4["BitfinexDirect"] = "Bitfinex (beta)";
|
|
1639
1639
|
MeshExchanges4["Bybit"] = "Bybit";
|
|
1640
1640
|
return MeshExchanges4;
|
|
1641
1641
|
})(MeshExchanges || {});
|
|
@@ -1670,7 +1670,7 @@ var EXCHANGE_NAME_TO_TYPE = {
|
|
|
1670
1670
|
["KrakenDirect" /* KrakenDirect */]: "krakenDirect",
|
|
1671
1671
|
["Vanguard" /* Vanguard */]: "vanguard",
|
|
1672
1672
|
["Bybit" /* Bybit */]: "bybit",
|
|
1673
|
-
["
|
|
1673
|
+
["Bitfinex (beta)" /* BitfinexDirect */]: "bitfinexDirect"
|
|
1674
1674
|
};
|
|
1675
1675
|
|
|
1676
1676
|
// src/utils/flags/config.ts
|
|
@@ -1688,7 +1688,7 @@ var flagConfig = {
|
|
|
1688
1688
|
default_value: [
|
|
1689
1689
|
"Coinbase" /* Coinbase */,
|
|
1690
1690
|
"Binance" /* Binance */,
|
|
1691
|
-
"Bitfinex" /*
|
|
1691
|
+
"Bitfinex (beta)" /* BitfinexDirect */
|
|
1692
1692
|
].join(",")
|
|
1693
1693
|
},
|
|
1694
1694
|
["blocked_countries" /* BlockedCountries */]: {
|
|
@@ -3131,25 +3131,29 @@ var PENDING_QUOTE_MESSAGE_GENERATOR = {
|
|
|
3131
3131
|
[2 /* ESTIMATING_GAS */]: () => "Estimating gas...",
|
|
3132
3132
|
[3 /* FINALIZING */]: () => "Finalizing your quote..."
|
|
3133
3133
|
};
|
|
3134
|
-
var DEFAULT_QUOTE_ERROR = "
|
|
3134
|
+
var DEFAULT_QUOTE_ERROR = "An error occurred during quote generation. Please retry.";
|
|
3135
3135
|
var QUOTE_API_ERROR_STRING_INFO = {
|
|
3136
|
-
[0 /*
|
|
3136
|
+
[0 /* NO_ROUTE_FOUND_1 */]: {
|
|
3137
3137
|
check: "No available route found",
|
|
3138
3138
|
display: DEFAULT_QUOTE_ERROR
|
|
3139
3139
|
},
|
|
3140
|
-
[1 /*
|
|
3140
|
+
[1 /* NO_ROUTE_FOUND_2 */]: {
|
|
3141
|
+
check: "Error estimating checkout cost and time",
|
|
3142
|
+
display: DEFAULT_QUOTE_ERROR
|
|
3143
|
+
},
|
|
3144
|
+
[2 /* INSUFFICIENT_AMOUNT_GENERAL_1 */]: {
|
|
3141
3145
|
check: "try to increase the amount",
|
|
3142
3146
|
display: "Checkout amount is too low. Please retry."
|
|
3143
3147
|
},
|
|
3144
|
-
[
|
|
3148
|
+
[3 /* INSUFFICIENT_AMOUNT_GENERAL_2 */]: {
|
|
3145
3149
|
check: "try increase the amount",
|
|
3146
3150
|
display: "Checkout amount is too low. Please retry."
|
|
3147
3151
|
},
|
|
3148
|
-
[
|
|
3152
|
+
[4 /* INSUFFICIENT_AMOUNT_FOR_BRDIGE_1 */]: {
|
|
3149
3153
|
check: "target token must be at least",
|
|
3150
3154
|
display: "Checkout amount is too low. Please retry."
|
|
3151
3155
|
},
|
|
3152
|
-
[
|
|
3156
|
+
[5 /* INSUFFICIENT_AMOUNT_FOR_BRDIGE_2 */]: {
|
|
3153
3157
|
check: "Bridge min amount not met",
|
|
3154
3158
|
display: "Checkout amount is too low. Please retry."
|
|
3155
3159
|
}
|
|
@@ -3855,13 +3859,13 @@ function hackTimeEstimationForImportantCustomer(originalTimeEstimation, paymentM
|
|
|
3855
3859
|
}
|
|
3856
3860
|
switch (paymentMethod) {
|
|
3857
3861
|
case "balance" /* ACCOUNT_BALANCE */:
|
|
3858
|
-
return
|
|
3862
|
+
return 1 * 60;
|
|
3859
3863
|
case "brokerage" /* BROKERAGE */:
|
|
3860
3864
|
return 4 * 60;
|
|
3861
3865
|
case "card" /* CARD */:
|
|
3862
3866
|
return 5 * 60;
|
|
3863
3867
|
case "token_transfer" /* TOKEN_TRANSFER */:
|
|
3864
|
-
return
|
|
3868
|
+
return 2 * 60;
|
|
3865
3869
|
default:
|
|
3866
3870
|
return exhaustiveCheck(paymentMethod);
|
|
3867
3871
|
}
|
|
@@ -9221,7 +9225,7 @@ var MESH_EXCHANGE_ICON_MAP = {
|
|
|
9221
9225
|
["CexIo" /* CexIo */]: (size) => /* @__PURE__ */ React97.createElement(CexloIcon, { size }),
|
|
9222
9226
|
["OKX" /* Okx */]: (size) => /* @__PURE__ */ React97.createElement(OkxIcon, { size }),
|
|
9223
9227
|
["Bitfinex" /* Bitfinex */]: (size) => /* @__PURE__ */ React97.createElement(BitfinexIcon, { size }),
|
|
9224
|
-
["
|
|
9228
|
+
["Bitfinex (beta)" /* BitfinexDirect */]: (size) => /* @__PURE__ */ React97.createElement(BitfinexIcon, { size }),
|
|
9225
9229
|
["ETrade" /* ETrade */]: (size) => /* @__PURE__ */ React97.createElement(EtradeIcon, { size }),
|
|
9226
9230
|
["Kraken" /* Kraken */]: (size) => /* @__PURE__ */ React97.createElement(KrakenIcon, { size }),
|
|
9227
9231
|
["KrakenDirect" /* KrakenDirect */]: (size) => /* @__PURE__ */ React97.createElement(KrakenIcon, { size }),
|
|
@@ -9565,7 +9569,10 @@ var statusNamingMap = {
|
|
|
9565
9569
|
function StatusTag({ state, refundState, isDelayed }) {
|
|
9566
9570
|
const { status, isCompleted } = useCheckoutStateBooleans(state);
|
|
9567
9571
|
const color = isCompleted ? "success" : "secondaryText";
|
|
9568
|
-
return /* @__PURE__ */ React99.createElement(Text, { color, size: "12", weight: "medium" }, refundState === "REFUNDED" ? "Refunded" :
|
|
9572
|
+
return /* @__PURE__ */ React99.createElement(Text, { color, size: "12", weight: "medium" }, refundState === "REFUNDED" ? "Refunded" : (
|
|
9573
|
+
// With some hardcoded timings in `FunCheckoutStatus`, it is possible for isDelayed to stay true while isCompleted is already true
|
|
9574
|
+
isDelayed && !isCompleted ? "Pending" : statusNamingMap[status]
|
|
9575
|
+
));
|
|
9569
9576
|
}
|
|
9570
9577
|
var ReceivedAmount = ({ config }) => {
|
|
9571
9578
|
const targetAmount = getCheckoutItemDisplay(config);
|
|
@@ -11476,13 +11483,36 @@ var getAssetSymbolWithMaxUsdValue = ({
|
|
|
11476
11483
|
var L1_FEES_ESTIMATE = 20;
|
|
11477
11484
|
var L2_FEES_ESTIMATE = 1;
|
|
11478
11485
|
var L2_COST_MARGIN_MULTIPLIER = 1.2;
|
|
11479
|
-
var
|
|
11486
|
+
var MESH_L1_FEES_ESTIMATE = 8;
|
|
11487
|
+
var MESH_L2_FEES_ESTIMATE = 2;
|
|
11488
|
+
var MESH_CUSTOM_CLIENT_FEE_PERCENT = 0.055;
|
|
11489
|
+
var getMeshFeesUsdEstimate = (asset) => {
|
|
11490
|
+
let meshFeeEstimate = 0;
|
|
11491
|
+
meshFeeEstimate += (asset.usdAmount || 0) * MESH_CUSTOM_CLIENT_FEE_PERCENT;
|
|
11492
|
+
const sourceChainId = asset.pickedChainId;
|
|
11493
|
+
if (sourceChainId === mainnet4.id.toString()) {
|
|
11494
|
+
meshFeeEstimate += MESH_L1_FEES_ESTIMATE;
|
|
11495
|
+
} else {
|
|
11496
|
+
meshFeeEstimate += MESH_L2_FEES_ESTIMATE;
|
|
11497
|
+
}
|
|
11498
|
+
return meshFeeEstimate;
|
|
11499
|
+
};
|
|
11500
|
+
var getBaseFeeUsdEstimate = (checkoutItem, asset) => {
|
|
11480
11501
|
const targetChainId = checkoutItem.initSettings.config.targetChain;
|
|
11481
11502
|
const sourceChainId = asset.pickedChainId;
|
|
11482
11503
|
if (targetChainId !== mainnet4.id.toString() && sourceChainId !== mainnet4.id.toString()) {
|
|
11483
11504
|
return L2_FEES_ESTIMATE;
|
|
11505
|
+
} else {
|
|
11506
|
+
return L1_FEES_ESTIMATE;
|
|
11507
|
+
}
|
|
11508
|
+
};
|
|
11509
|
+
var getFeesUsdEstimate = (checkoutItem, asset) => {
|
|
11510
|
+
let feeEstimate = 0;
|
|
11511
|
+
feeEstimate += getBaseFeeUsdEstimate(checkoutItem, asset);
|
|
11512
|
+
if (checkoutItem.selectedPaymentMethodInfo?.paymentMethod === "brokerage" /* BROKERAGE */) {
|
|
11513
|
+
feeEstimate += getMeshFeesUsdEstimate(asset);
|
|
11484
11514
|
}
|
|
11485
|
-
return
|
|
11515
|
+
return feeEstimate;
|
|
11486
11516
|
};
|
|
11487
11517
|
var isAssetUsdAmountSufficient = (checkoutItem, asset) => {
|
|
11488
11518
|
if (!isNotNullish(asset?.usdAmount)) {
|
|
@@ -12537,10 +12567,10 @@ import { getRiskAssessmentForAddress } from "@funkit/api-base";
|
|
|
12537
12567
|
import { useQuery as useQuery4 } from "@tanstack/react-query";
|
|
12538
12568
|
var BLOCKED_RISK_LEVELS = ["Severe", "High"];
|
|
12539
12569
|
var hasRisk = async (apiKey, walletAddress, customRecipient) => {
|
|
12540
|
-
const getUserWalletRisk = getRiskAssessmentForAddress({
|
|
12570
|
+
const getUserWalletRisk = walletAddress ? getRiskAssessmentForAddress({
|
|
12541
12571
|
address: walletAddress,
|
|
12542
12572
|
apiKey
|
|
12543
|
-
}).then((assessment) => assessment?.risk);
|
|
12573
|
+
}).then((assessment) => assessment?.risk) : null;
|
|
12544
12574
|
const getRecipientWalletRisk = customRecipient ? getRiskAssessmentForAddress({
|
|
12545
12575
|
address: customRecipient,
|
|
12546
12576
|
apiKey
|
|
@@ -12549,8 +12579,14 @@ var hasRisk = async (apiKey, walletAddress, customRecipient) => {
|
|
|
12549
12579
|
getUserWalletRisk,
|
|
12550
12580
|
getRecipientWalletRisk
|
|
12551
12581
|
]);
|
|
12552
|
-
|
|
12553
|
-
|
|
12582
|
+
const isCheckoutRisky = addressRisks.some(
|
|
12583
|
+
(risk) => BLOCKED_RISK_LEVELS.includes(risk || "")
|
|
12584
|
+
);
|
|
12585
|
+
logger.log("riskAssessment_isCheckoutRisky", {
|
|
12586
|
+
isCheckoutRisky,
|
|
12587
|
+
addressRisks
|
|
12588
|
+
});
|
|
12589
|
+
return isCheckoutRisky;
|
|
12554
12590
|
};
|
|
12555
12591
|
var useIsCheckoutRisky = (checkoutItem) => {
|
|
12556
12592
|
const { walletAddress } = useGeneralWallet();
|
|
@@ -12841,7 +12877,7 @@ function CheckoutComplete({ modalState, onClose }) {
|
|
|
12841
12877
|
|
|
12842
12878
|
// src/modals/CheckoutModal/ConfirmationStep.tsx
|
|
12843
12879
|
import { ClientError as ClientError3, meshPreviewTransfer as meshPreviewTransfer2 } from "@funkit/api-base";
|
|
12844
|
-
import React182, { useCallback as
|
|
12880
|
+
import React182, { useCallback as useCallback33, useEffect as useEffect35, useMemo as useMemo33, useState as useState49 } from "react";
|
|
12845
12881
|
import { createPortal as createPortal9 } from "react-dom";
|
|
12846
12882
|
import { isAddress as isAddress3 } from "viem";
|
|
12847
12883
|
|
|
@@ -14350,6 +14386,9 @@ function FunPaymentMethods({
|
|
|
14350
14386
|
if (selectablePaymentMethods.includes("balance" /* ACCOUNT_BALANCE */) && hasSufficientBalance2) {
|
|
14351
14387
|
return "balance" /* ACCOUNT_BALANCE */;
|
|
14352
14388
|
}
|
|
14389
|
+
if (selectablePaymentMethods.includes("token_transfer" /* TOKEN_TRANSFER */)) {
|
|
14390
|
+
return "token_transfer" /* TOKEN_TRANSFER */;
|
|
14391
|
+
}
|
|
14353
14392
|
if (selectablePaymentMethods.includes("card" /* CARD */)) {
|
|
14354
14393
|
return "card" /* CARD */;
|
|
14355
14394
|
}
|
|
@@ -14381,7 +14420,7 @@ function FunPaymentMethods({
|
|
|
14381
14420
|
const { textCustomizations } = useFunkitConfig();
|
|
14382
14421
|
const onClickContinue = useCallback20(async () => {
|
|
14383
14422
|
setIsContinuing(true);
|
|
14384
|
-
const executeContinue =
|
|
14423
|
+
const executeContinue = () => {
|
|
14385
14424
|
if (canContinue && selectedOption === "card" /* CARD */ && apiKey === POLYMARKET_API_KEY) {
|
|
14386
14425
|
onPolymarketCardSwitchWrapper();
|
|
14387
14426
|
return;
|
|
@@ -14419,7 +14458,7 @@ function FunPaymentMethods({
|
|
|
14419
14458
|
}
|
|
14420
14459
|
};
|
|
14421
14460
|
try {
|
|
14422
|
-
|
|
14461
|
+
executeContinue();
|
|
14423
14462
|
} finally {
|
|
14424
14463
|
setIsContinuing(false);
|
|
14425
14464
|
}
|
|
@@ -14758,7 +14797,7 @@ function CheckoutPrimaryInfo({
|
|
|
14758
14797
|
}
|
|
14759
14798
|
|
|
14760
14799
|
// src/modals/CheckoutModal/stepTransition.ts
|
|
14761
|
-
import { useCallback as
|
|
14800
|
+
import { useCallback as useCallback31, useRef as useRef15, useState as useState48 } from "react";
|
|
14762
14801
|
|
|
14763
14802
|
// src/hooks/useCheckoutQuoteNotification.ts
|
|
14764
14803
|
import { useMemo as useMemo22 } from "react";
|
|
@@ -15800,6 +15839,7 @@ function InputAmountLoaded({
|
|
|
15800
15839
|
inputProps: {
|
|
15801
15840
|
type: isInputInUsd ? "text" : "number",
|
|
15802
15841
|
autoFocus: true,
|
|
15842
|
+
disabled: isQuoting,
|
|
15803
15843
|
// get ios to use numpad key with period
|
|
15804
15844
|
inputMode: "decimal"
|
|
15805
15845
|
},
|
|
@@ -15828,6 +15868,7 @@ function InputAmountLoaded({
|
|
|
15828
15868
|
FunIconButton,
|
|
15829
15869
|
{
|
|
15830
15870
|
icon: /* @__PURE__ */ React154.createElement(SwitchIcon, null),
|
|
15871
|
+
isDisabled: isQuoting,
|
|
15831
15872
|
paddingY: "1",
|
|
15832
15873
|
paddingX: "6",
|
|
15833
15874
|
color: { base: "actionColor", hover: "actionColorHover" },
|
|
@@ -15842,6 +15883,7 @@ function InputAmountLoaded({
|
|
|
15842
15883
|
!!usdAvailableAmount && USD_AMOUNT_OPTIONS_PCT.map((percent) => /* @__PURE__ */ React154.createElement(
|
|
15843
15884
|
FunIconButton,
|
|
15844
15885
|
{
|
|
15886
|
+
isDisabled: isQuoting,
|
|
15845
15887
|
fontSize: "14",
|
|
15846
15888
|
fontWeight: "medium",
|
|
15847
15889
|
icon: null,
|
|
@@ -16333,11 +16375,6 @@ function loadingAccountNext(state, payload) {
|
|
|
16333
16375
|
step: "select_asset" /* SELECT_ASSET */,
|
|
16334
16376
|
paymentMethodInfo: payload.paymentMethodInfo
|
|
16335
16377
|
};
|
|
16336
|
-
case "token_transfer" /* TOKEN_TRANSFER */:
|
|
16337
|
-
return {
|
|
16338
|
-
...state,
|
|
16339
|
-
step: "transfer_token" /* TRANSFER_TOKEN */
|
|
16340
|
-
};
|
|
16341
16378
|
default:
|
|
16342
16379
|
return {
|
|
16343
16380
|
...state,
|
|
@@ -16359,7 +16396,6 @@ function LoadingAccount({
|
|
|
16359
16396
|
onNext
|
|
16360
16397
|
}) {
|
|
16361
16398
|
const { apiKey } = useFunkitConfig();
|
|
16362
|
-
const { isLoading: isLoadingFlags, flags } = useFlags();
|
|
16363
16399
|
const { walletAddress } = useGeneralWallet();
|
|
16364
16400
|
const { targetChainId } = modalState;
|
|
16365
16401
|
const { isLoading: isFetchingAssets, totalWalletAssetsUsd } = useWalletAssets(
|
|
@@ -16372,9 +16408,7 @@ function LoadingAccount({
|
|
|
16372
16408
|
connection
|
|
16373
16409
|
);
|
|
16374
16410
|
const { updateSelectedPaymentMethodInfo } = useCheckoutContext();
|
|
16375
|
-
const isTokenTransferEnabled = flags?.["enable_token_transfer" /* EnableTokenTransfer */];
|
|
16376
16411
|
useEffect30(() => {
|
|
16377
|
-
if (isLoadingFlags) return;
|
|
16378
16412
|
if (totalWalletAssetsUsd >= USABLE_AMOUNT) {
|
|
16379
16413
|
const paymentMethodInfo = createPaymentMethodInfo({
|
|
16380
16414
|
paymentMethod: "balance" /* ACCOUNT_BALANCE */,
|
|
@@ -16386,7 +16420,9 @@ function LoadingAccount({
|
|
|
16386
16420
|
usablePaymentMethod: "balance" /* ACCOUNT_BALANCE */,
|
|
16387
16421
|
paymentMethodInfo
|
|
16388
16422
|
});
|
|
16389
|
-
|
|
16423
|
+
return;
|
|
16424
|
+
}
|
|
16425
|
+
if (connection && hasNonZeroDollarToken(data)) {
|
|
16390
16426
|
const paymentMethodInfo = createPaymentMethodInfo({
|
|
16391
16427
|
paymentMethod: "brokerage" /* BROKERAGE */,
|
|
16392
16428
|
brokerage: connection.brokerage,
|
|
@@ -16398,27 +16434,19 @@ function LoadingAccount({
|
|
|
16398
16434
|
usablePaymentMethod: "brokerage" /* BROKERAGE */,
|
|
16399
16435
|
paymentMethodInfo
|
|
16400
16436
|
});
|
|
16401
|
-
|
|
16402
|
-
|
|
16403
|
-
|
|
16404
|
-
|
|
16405
|
-
updateSelectedPaymentMethodInfo(paymentMethodInfo);
|
|
16406
|
-
onNext({
|
|
16407
|
-
step: "loading_account" /* LOADING_ACCOUNT */,
|
|
16408
|
-
usablePaymentMethod: "token_transfer" /* TOKEN_TRANSFER */
|
|
16409
|
-
});
|
|
16410
|
-
} else if (!isLoadingMesh && !isFetchingAssets) {
|
|
16411
|
-
onNext({
|
|
16412
|
-
step: "loading_account" /* LOADING_ACCOUNT */,
|
|
16413
|
-
usablePaymentMethod: null
|
|
16414
|
-
});
|
|
16437
|
+
return;
|
|
16438
|
+
}
|
|
16439
|
+
if (isLoadingMesh || isFetchingAssets) {
|
|
16440
|
+
return;
|
|
16415
16441
|
}
|
|
16442
|
+
onNext({
|
|
16443
|
+
step: "loading_account" /* LOADING_ACCOUNT */,
|
|
16444
|
+
usablePaymentMethod: null
|
|
16445
|
+
});
|
|
16416
16446
|
}, [
|
|
16417
16447
|
walletAddress,
|
|
16418
16448
|
isLoadingMesh,
|
|
16419
|
-
isLoadingFlags,
|
|
16420
16449
|
apiKey,
|
|
16421
|
-
isTokenTransferEnabled,
|
|
16422
16450
|
isFetchingAssets,
|
|
16423
16451
|
data,
|
|
16424
16452
|
onNext,
|
|
@@ -16616,6 +16644,7 @@ function MeshVerification({
|
|
|
16616
16644
|
setExecutionError(transferResponse.errorMessage || "");
|
|
16617
16645
|
break;
|
|
16618
16646
|
case MeshExecuteTransferStatus.emailConfirmationRequired:
|
|
16647
|
+
case MeshExecuteTransferStatus.emailConfirmationApprovalRequired:
|
|
16619
16648
|
setScreen(3 /* EMAIL_CONFIRMATION */);
|
|
16620
16649
|
break;
|
|
16621
16650
|
case MeshExecuteTransferStatus.deviceConfirmationRequired:
|
|
@@ -16659,6 +16688,7 @@ function MeshVerification({
|
|
|
16659
16688
|
case MeshExecuteTransferStatus.deviceConfirmationRequired:
|
|
16660
16689
|
return "Device confirmation required";
|
|
16661
16690
|
case MeshExecuteTransferStatus.emailConfirmationRequired:
|
|
16691
|
+
case MeshExecuteTransferStatus.emailConfirmationApprovalRequired:
|
|
16662
16692
|
return "Email confirmation required";
|
|
16663
16693
|
case MeshExecuteTransferStatus.addressWhitelistRequired:
|
|
16664
16694
|
return "Manual whitelist required";
|
|
@@ -16675,6 +16705,7 @@ function MeshVerification({
|
|
|
16675
16705
|
case MeshExecuteTransferStatus.deviceConfirmationRequired:
|
|
16676
16706
|
return `Open the ${exchange} app and verify your transaction. After you've approved this transaction, click \u201CContinue.\u201D`;
|
|
16677
16707
|
case MeshExecuteTransferStatus.emailConfirmationRequired:
|
|
16708
|
+
case MeshExecuteTransferStatus.emailConfirmationApprovalRequired:
|
|
16678
16709
|
return `Click the link sent to your email to confirm this transaction. Click \u201CContinue\u201D after you've approved this transaction.`;
|
|
16679
16710
|
case MeshExecuteTransferStatus.addressWhitelistRequired:
|
|
16680
16711
|
return `Go to ${exchange} to manually whitelist your address. After you've whitelisted this address you can retry your transaction.`;
|
|
@@ -17641,7 +17672,8 @@ var sourceChangeNext = (state, payload) => {
|
|
|
17641
17672
|
if (payload.paymentMethod === "token_transfer" /* TOKEN_TRANSFER */) {
|
|
17642
17673
|
return {
|
|
17643
17674
|
...common,
|
|
17644
|
-
step: "transfer_token" /* TRANSFER_TOKEN
|
|
17675
|
+
step: "transfer_token" /* TRANSFER_TOKEN */,
|
|
17676
|
+
prevPaymentMethodInfo: state.paymentMethodInfo
|
|
17645
17677
|
};
|
|
17646
17678
|
}
|
|
17647
17679
|
throw new Error("Invalid payment method");
|
|
@@ -17826,7 +17858,7 @@ function useRemainingMeshExchangeConnections(selected) {
|
|
|
17826
17858
|
}
|
|
17827
17859
|
|
|
17828
17860
|
// src/modals/CheckoutModal/TransferToken.tsx
|
|
17829
|
-
import React181, { useState as useState47 } from "react";
|
|
17861
|
+
import React181, { useCallback as useCallback30, useState as useState47 } from "react";
|
|
17830
17862
|
import { mainnet as mainnet6, polygon as polygon3 } from "viem/chains";
|
|
17831
17863
|
|
|
17832
17864
|
// src/components/Dropdown/TokenDropdown.tsx
|
|
@@ -18205,13 +18237,13 @@ var useCheckoutTransferDepositAddress = (checkoutItem, userId, recipientAddr) =>
|
|
|
18205
18237
|
};
|
|
18206
18238
|
|
|
18207
18239
|
// src/modals/CheckoutModal/TransferToken.tsx
|
|
18208
|
-
function transferTokenNext(state,
|
|
18240
|
+
function transferTokenNext(state, _) {
|
|
18209
18241
|
const common = extractCommonState(state);
|
|
18210
|
-
if (
|
|
18242
|
+
if (state.prevPaymentMethodInfo) {
|
|
18211
18243
|
return {
|
|
18212
18244
|
...common,
|
|
18213
18245
|
step: "source_change" /* SOURCE_CHANGE */,
|
|
18214
|
-
paymentMethodInfo:
|
|
18246
|
+
paymentMethodInfo: state.prevPaymentMethodInfo
|
|
18215
18247
|
};
|
|
18216
18248
|
}
|
|
18217
18249
|
return {
|
|
@@ -18267,21 +18299,28 @@ function CircleWithText({ text }) {
|
|
|
18267
18299
|
/* @__PURE__ */ React181.createElement(Text, { size: "13", color: "accentColor", weight: "bold" }, text)
|
|
18268
18300
|
);
|
|
18269
18301
|
}
|
|
18270
|
-
|
|
18302
|
+
var TRANSFER_TOKEN_LOG_PREFIX = "transferToken";
|
|
18303
|
+
function TransferToken({ onBack }) {
|
|
18271
18304
|
const filteredAssets = useEnabledTokenTransferChainTokens();
|
|
18272
|
-
const { textCustomizations } = useFunkitConfig();
|
|
18273
18305
|
const [selectedChainId, setSelectedChainId] = useState47(polygon3.id);
|
|
18274
18306
|
const selectedChainInfo = chainMetadataById[selectedChainId];
|
|
18275
18307
|
const [selectedToken, setSelectedToken] = useState47(
|
|
18276
18308
|
filteredAssets?.[selectedChainId]?.[0] || ""
|
|
18277
18309
|
);
|
|
18278
|
-
const {
|
|
18279
|
-
depositAddress,
|
|
18280
|
-
minTransferUsd,
|
|
18281
|
-
showOriginalRecipient,
|
|
18282
|
-
recipientAddr
|
|
18283
|
-
} = useTokenTransfer(selectedChainId, selectedToken);
|
|
18310
|
+
const { depositAddress, minTransferUsd, showOriginalRecipient } = useTokenTransfer(selectedChainId, selectedToken);
|
|
18284
18311
|
const isLoadingDepositAddress = depositAddress === void 0;
|
|
18312
|
+
const onHelp = useCallback30(() => {
|
|
18313
|
+
logger.log(`${TRANSFER_TOKEN_LOG_PREFIX}_getHelpClicked`, {
|
|
18314
|
+
selectedChainId,
|
|
18315
|
+
selectedToken,
|
|
18316
|
+
depositAddress
|
|
18317
|
+
});
|
|
18318
|
+
window.open(
|
|
18319
|
+
"https://intercom.help/funxyz/en/articles/10003876-direct-deposit-guide-faqs",
|
|
18320
|
+
"_blank",
|
|
18321
|
+
"noopener,noreferrer"
|
|
18322
|
+
);
|
|
18323
|
+
}, [depositAddress, selectedChainId, selectedToken]);
|
|
18285
18324
|
return /* @__PURE__ */ React181.createElement(Box, { id: "token-transfer-page" }, /* @__PURE__ */ React181.createElement(
|
|
18286
18325
|
Box,
|
|
18287
18326
|
{
|
|
@@ -18291,16 +18330,6 @@ function TransferToken({ onNext }) {
|
|
|
18291
18330
|
justifyContent: "center",
|
|
18292
18331
|
gap: "14"
|
|
18293
18332
|
},
|
|
18294
|
-
/* @__PURE__ */ React181.createElement(Box, { display: "flex", flexDirection: "column", width: "full" }, /* @__PURE__ */ React181.createElement(
|
|
18295
|
-
FunPaymentMethodItem,
|
|
18296
|
-
{
|
|
18297
|
-
isSource: true,
|
|
18298
|
-
keyText: textCustomizations.transferTokens,
|
|
18299
|
-
disclaimerText: "No limit",
|
|
18300
|
-
keyIcon: /* @__PURE__ */ React181.createElement(LightningBoltIcon, null),
|
|
18301
|
-
onClick: () => onNext({ step: "transfer_token" /* TRANSFER_TOKEN */ })
|
|
18302
|
-
}
|
|
18303
|
-
)),
|
|
18304
18333
|
/* @__PURE__ */ React181.createElement(Box, { display: "flex", alignItems: "center", justifyContent: "center" }, isLoadingDepositAddress ? /* @__PURE__ */ React181.createElement(
|
|
18305
18334
|
Box,
|
|
18306
18335
|
{
|
|
@@ -18367,7 +18396,15 @@ function TransferToken({ onNext }) {
|
|
|
18367
18396
|
ChainDropdown_default,
|
|
18368
18397
|
{
|
|
18369
18398
|
assets: filteredAssets,
|
|
18370
|
-
onChainSelected: (chainId) =>
|
|
18399
|
+
onChainSelected: (chainId) => {
|
|
18400
|
+
logger.log(`${TRANSFER_TOKEN_LOG_PREFIX}_changeChain`, {
|
|
18401
|
+
previousChainId: selectedChainId,
|
|
18402
|
+
newChainId: chainId,
|
|
18403
|
+
selectedToken,
|
|
18404
|
+
depositAddress
|
|
18405
|
+
});
|
|
18406
|
+
setSelectedChainId(chainId);
|
|
18407
|
+
}
|
|
18371
18408
|
}
|
|
18372
18409
|
)
|
|
18373
18410
|
),
|
|
@@ -18386,7 +18423,15 @@ function TransferToken({ onNext }) {
|
|
|
18386
18423
|
{
|
|
18387
18424
|
selectedChainId,
|
|
18388
18425
|
assets: filteredAssets,
|
|
18389
|
-
onTokenSelected: (token) =>
|
|
18426
|
+
onTokenSelected: (token) => {
|
|
18427
|
+
logger.log(`${TRANSFER_TOKEN_LOG_PREFIX}_changeToken`, {
|
|
18428
|
+
previousToken: selectedToken,
|
|
18429
|
+
newToken: token,
|
|
18430
|
+
selectedChainId,
|
|
18431
|
+
depositAddress
|
|
18432
|
+
});
|
|
18433
|
+
setSelectedToken(token);
|
|
18434
|
+
}
|
|
18390
18435
|
}
|
|
18391
18436
|
)
|
|
18392
18437
|
),
|
|
@@ -18403,7 +18448,13 @@ function TransferToken({ onNext }) {
|
|
|
18403
18448
|
/* @__PURE__ */ React181.createElement(Text, { size: "12", color: "primaryText", weight: "medium" }, minTransferUsd === 0 ? "No minimum" : formatCurrencyAndStringify(minTransferUsd))
|
|
18404
18449
|
)
|
|
18405
18450
|
),
|
|
18406
|
-
showOriginalRecipient ? null : /* @__PURE__ */ React181.createElement(Box, { display: "flex", flexDirection: "column", gap: "14" }, /* @__PURE__ */ React181.createElement(Text, { size: "12", color: "secondaryText", weight: "medium" }, "Transfer ", selectedToken, " (", selectedChainInfo.name, ") to the deposit address above. The equivalent USD value (minus fees) will be automatically deposited into your account within ~60 seconds."), /* @__PURE__ */ React181.createElement(
|
|
18451
|
+
showOriginalRecipient ? null : /* @__PURE__ */ React181.createElement(Box, { display: "flex", flexDirection: "column", gap: "14", width: "full" }, /* @__PURE__ */ React181.createElement(Text, { size: "12", color: "secondaryText", weight: "medium" }, "Transfer ", selectedToken, " (", selectedChainInfo.name, ") to the deposit address above. The equivalent USD value (minus fees) will be automatically deposited into your account within ~60 seconds."), /* @__PURE__ */ React181.createElement(
|
|
18452
|
+
FunAlert,
|
|
18453
|
+
{
|
|
18454
|
+
icon: /* @__PURE__ */ React181.createElement(FunInfoIcon, null),
|
|
18455
|
+
description: /* @__PURE__ */ React181.createElement(Box, { display: "flex" }, /* @__PURE__ */ React181.createElement(Text, { size: "10", color: "secondaryText" }, "Experiencing problems?"), /* @__PURE__ */ React181.createElement(FunLinkButton, { text: "Get help.", onClick: onHelp }))
|
|
18456
|
+
}
|
|
18457
|
+
), /* @__PURE__ */ React181.createElement(
|
|
18407
18458
|
Text,
|
|
18408
18459
|
{
|
|
18409
18460
|
size: "10",
|
|
@@ -18492,7 +18543,7 @@ function initialState(checkoutItem) {
|
|
|
18492
18543
|
function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
18493
18544
|
const [modalState, setModalState] = useState48(() => initialState(checkoutItem));
|
|
18494
18545
|
const { clearCheckoutQuoteMessages } = useCheckoutQuoteNotification();
|
|
18495
|
-
const onCloseWrapper =
|
|
18546
|
+
const onCloseWrapper = useCallback31(() => {
|
|
18496
18547
|
checkoutItem.initSettings.onClose?.();
|
|
18497
18548
|
logger.log("closingCheckoutModal", {
|
|
18498
18549
|
checkoutStep: modalState.step,
|
|
@@ -18503,7 +18554,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
18503
18554
|
}, [checkoutItem, modalState.step, onClose]);
|
|
18504
18555
|
const { animateOut, navigateTo } = useAnimatedNavigation(setModalState);
|
|
18505
18556
|
const stateHistory = useRef15([]);
|
|
18506
|
-
const onNext =
|
|
18557
|
+
const onNext = useCallback31(
|
|
18507
18558
|
(payload) => {
|
|
18508
18559
|
clearCheckoutQuoteMessages();
|
|
18509
18560
|
stateHistory.current.push(modalState);
|
|
@@ -18512,7 +18563,7 @@ function useCheckoutModalTransition(checkoutItem, onClose) {
|
|
|
18512
18563
|
},
|
|
18513
18564
|
[modalState, navigateTo, clearCheckoutQuoteMessages]
|
|
18514
18565
|
);
|
|
18515
|
-
const onBack =
|
|
18566
|
+
const onBack = useCallback31(() => {
|
|
18516
18567
|
clearCheckoutQuoteMessages();
|
|
18517
18568
|
const prevState = stateHistory.current.pop();
|
|
18518
18569
|
if (prevState) {
|
|
@@ -18601,7 +18652,7 @@ function useTitleConfig(checkoutItem, state) {
|
|
|
18601
18652
|
};
|
|
18602
18653
|
case "transfer_token" /* TRANSFER_TOKEN */:
|
|
18603
18654
|
return {
|
|
18604
|
-
hasBack:
|
|
18655
|
+
hasBack: true,
|
|
18605
18656
|
title: textCustomizations.transferTokens,
|
|
18606
18657
|
showFullHeight: false
|
|
18607
18658
|
};
|
|
@@ -18613,7 +18664,7 @@ function useTitleConfig(checkoutItem, state) {
|
|
|
18613
18664
|
// src/modals/CheckoutModal/useAccountBalancePostCheckout.ts
|
|
18614
18665
|
import { getPaymasterDataForCheckoutSponsoredTransfer } from "@funkit/api-base";
|
|
18615
18666
|
import { ERC20_ABI, USDT_ABI } from "@funkit/core";
|
|
18616
|
-
import { useCallback as
|
|
18667
|
+
import { useCallback as useCallback32 } from "react";
|
|
18617
18668
|
import { useAccount as useAccount8, useSendTransaction, useWriteContract } from "wagmi";
|
|
18618
18669
|
|
|
18619
18670
|
// src/utils/isMainnetUsdt.ts
|
|
@@ -18630,7 +18681,7 @@ function useWeb3AccountBalancePostCheckout(setPostCheckoutStepMessage) {
|
|
|
18630
18681
|
const { writeContractAsync } = useWriteContract();
|
|
18631
18682
|
const { sendTransactionAsync } = useSendTransaction();
|
|
18632
18683
|
const { cancelCheckout, checkoutItem } = useCheckoutContext();
|
|
18633
|
-
const handleWeb3AccountBalancePostCheckout =
|
|
18684
|
+
const handleWeb3AccountBalancePostCheckout = useCallback32(
|
|
18634
18685
|
async (depositAddress) => {
|
|
18635
18686
|
if (!checkoutItem?.latestQuote?.baseQuote.estTotalFromAmountBaseUnit) {
|
|
18636
18687
|
return;
|
|
@@ -18725,7 +18776,7 @@ function useWeb3AccountBalancePostCheckout(setPostCheckoutStepMessage) {
|
|
|
18725
18776
|
function useWeb2AccountBalancePostCheckout(apiKey) {
|
|
18726
18777
|
const { checkoutItem } = useCheckoutContext();
|
|
18727
18778
|
const { generateCheckoutTransferOpItems } = useCheckoutAccountBalanceTransfer();
|
|
18728
|
-
const handleWeb2AccountBalancePostCheckout =
|
|
18779
|
+
const handleWeb2AccountBalancePostCheckout = useCallback32(
|
|
18729
18780
|
async (depositAddress) => {
|
|
18730
18781
|
const { rFunWallet, rFunWalletAuth, transferOp, envConfig } = await generateCheckoutTransferOpItems(
|
|
18731
18782
|
depositAddress,
|
|
@@ -18773,7 +18824,7 @@ function useAccountBalancePostCheckout(setPostCheckoutStepMessage, apiKey) {
|
|
|
18773
18824
|
const { isWeb2Login, isWeb3Login } = useGeneralWallet();
|
|
18774
18825
|
const handleWeb2AccountBalancePostCheckout = useWeb2AccountBalancePostCheckout(apiKey);
|
|
18775
18826
|
const handleWeb3AccountBalancePostCheckout = useWeb3AccountBalancePostCheckout(setPostCheckoutStepMessage);
|
|
18776
|
-
const handleAccountBalancePostCheckout =
|
|
18827
|
+
const handleAccountBalancePostCheckout = useCallback32(
|
|
18777
18828
|
async (depositAddress) => {
|
|
18778
18829
|
if (isWeb2Login) {
|
|
18779
18830
|
await handleWeb2AccountBalancePostCheckout(depositAddress);
|
|
@@ -18877,7 +18928,7 @@ function ConfirmationStep({
|
|
|
18877
18928
|
const [postCheckoutError, setPostCheckoutError] = useState49();
|
|
18878
18929
|
const hasPostCheckoutError = postCheckoutError !== void 0;
|
|
18879
18930
|
const isContinuing = isConfirming || isPostCheckoutLoading;
|
|
18880
|
-
const handleMeshPostCheckout =
|
|
18931
|
+
const handleMeshPostCheckout = useCallback33(
|
|
18881
18932
|
async (depositAddress) => {
|
|
18882
18933
|
if (!funkitConfig.apiKey) {
|
|
18883
18934
|
throw new Error("Invalid funkit apiKey");
|
|
@@ -18991,11 +19042,11 @@ function ConfirmationStep({
|
|
|
18991
19042
|
setTimeout(() => setPostCheckoutError(void 0), timeMs);
|
|
18992
19043
|
}
|
|
18993
19044
|
};
|
|
18994
|
-
const restartCountdown =
|
|
19045
|
+
const restartCountdown = useCallback33(() => {
|
|
18995
19046
|
setCountdownKey((key) => key + 1);
|
|
18996
19047
|
setIsBeforeRegeneratingQuote(false);
|
|
18997
19048
|
}, []);
|
|
18998
|
-
const refreshQuote =
|
|
19049
|
+
const refreshQuote = useCallback33(async () => {
|
|
18999
19050
|
singletonCheckoutAbort.abort("Abort checkout data pre-loading");
|
|
19000
19051
|
singletonCheckoutAbort.setAbortController(new AbortController());
|
|
19001
19052
|
try {
|
|
@@ -19016,7 +19067,7 @@ function ConfirmationStep({
|
|
|
19016
19067
|
restartCountdown,
|
|
19017
19068
|
setCheckoutQuote
|
|
19018
19069
|
]);
|
|
19019
|
-
const onClickConfirm =
|
|
19070
|
+
const onClickConfirm = useCallback33(async () => {
|
|
19020
19071
|
if (!checkoutItem) {
|
|
19021
19072
|
return;
|
|
19022
19073
|
}
|
|
@@ -19403,16 +19454,16 @@ function FunCheckoutHistoryModal({
|
|
|
19403
19454
|
function useModalStateValue() {
|
|
19404
19455
|
const [isModalOpen, setModalOpen] = useState51(false);
|
|
19405
19456
|
return {
|
|
19406
|
-
closeModal:
|
|
19457
|
+
closeModal: useCallback34(() => setModalOpen(false), []),
|
|
19407
19458
|
isModalOpen,
|
|
19408
|
-
openModal:
|
|
19459
|
+
openModal: useCallback34(() => setModalOpen(true), [])
|
|
19409
19460
|
};
|
|
19410
19461
|
}
|
|
19411
19462
|
function useModalStateValueWithProp() {
|
|
19412
19463
|
const [isModalOpen, setModalOpen] = useState51(false);
|
|
19413
19464
|
const [prop, setProp] = useState51(null);
|
|
19414
19465
|
return {
|
|
19415
|
-
closeModal:
|
|
19466
|
+
closeModal: useCallback34(() => {
|
|
19416
19467
|
setTimeout(() => {
|
|
19417
19468
|
setProp(null);
|
|
19418
19469
|
}, DialogAnimationTimeOut);
|
|
@@ -19420,7 +19471,7 @@ function useModalStateValueWithProp() {
|
|
|
19420
19471
|
}, []),
|
|
19421
19472
|
isModalOpen,
|
|
19422
19473
|
prop,
|
|
19423
|
-
openModal:
|
|
19474
|
+
openModal: useCallback34((prop2) => {
|
|
19424
19475
|
if (prop2 != null) setProp(prop2);
|
|
19425
19476
|
setModalOpen(true);
|
|
19426
19477
|
}, [])
|
|
@@ -19906,7 +19957,7 @@ var FunkitWeb2Provider = ({
|
|
|
19906
19957
|
const [isLoggingIn, setIsLoggingIn] = useState52(false);
|
|
19907
19958
|
const [loginErrorMessage, setLoginErrorMessage] = useState52("");
|
|
19908
19959
|
const [loggedInUser, setLoggedInUser] = useState52(null);
|
|
19909
|
-
const setLoginMethodAndCache =
|
|
19960
|
+
const setLoginMethodAndCache = useCallback35(
|
|
19910
19961
|
(method) => {
|
|
19911
19962
|
try {
|
|
19912
19963
|
setLoginMethod(method);
|
|
@@ -19930,7 +19981,7 @@ var FunkitWeb2Provider = ({
|
|
|
19930
19981
|
setPrivyIframeUrl(newPrivy.embeddedWallet.getURL());
|
|
19931
19982
|
setPrivy(newPrivy);
|
|
19932
19983
|
}, [chains]);
|
|
19933
|
-
const handleIframeMessage =
|
|
19984
|
+
const handleIframeMessage = useCallback35(
|
|
19934
19985
|
(e) => {
|
|
19935
19986
|
if (e.origin === PRIVY_AUTH_URL && privy) {
|
|
19936
19987
|
const iframeHandler = privy.embeddedWallet.getMessageHandler();
|
|
@@ -19939,7 +19990,7 @@ var FunkitWeb2Provider = ({
|
|
|
19939
19990
|
},
|
|
19940
19991
|
[privy]
|
|
19941
19992
|
);
|
|
19942
|
-
const handleFunkitWeb2Logout =
|
|
19993
|
+
const handleFunkitWeb2Logout = useCallback35(async () => {
|
|
19943
19994
|
if (privy) {
|
|
19944
19995
|
logger.log("handleFunkitWeb2Logout_disconnecting_connectors", {
|
|
19945
19996
|
numConnectors: connectors.length
|
|
@@ -19952,7 +20003,7 @@ var FunkitWeb2Provider = ({
|
|
|
19952
20003
|
setLoginMethodAndCache(null);
|
|
19953
20004
|
}
|
|
19954
20005
|
}, [connectors, disconnectAsync, privy, setLoginMethodAndCache]);
|
|
19955
|
-
const handleFreshPrivyLogin =
|
|
20006
|
+
const handleFreshPrivyLogin = useCallback35(
|
|
19956
20007
|
async ({
|
|
19957
20008
|
firstLoginCode,
|
|
19958
20009
|
secondLoginCode,
|
|
@@ -19998,7 +20049,7 @@ var FunkitWeb2Provider = ({
|
|
|
19998
20049
|
},
|
|
19999
20050
|
[handleFunkitWeb2Logout, privy]
|
|
20000
20051
|
);
|
|
20001
|
-
const getPrivyUserEmbeddedWallet =
|
|
20052
|
+
const getPrivyUserEmbeddedWallet = useCallback35(
|
|
20002
20053
|
async (inputPrivyUser) => {
|
|
20003
20054
|
try {
|
|
20004
20055
|
if (!privy || !inputPrivyUser)
|
|
@@ -20017,7 +20068,7 @@ var FunkitWeb2Provider = ({
|
|
|
20017
20068
|
},
|
|
20018
20069
|
[privy]
|
|
20019
20070
|
);
|
|
20020
|
-
const getExistingPrivySession =
|
|
20071
|
+
const getExistingPrivySession = useCallback35(async () => {
|
|
20021
20072
|
try {
|
|
20022
20073
|
if (!privy) throw new Error(ERROR_MESSAGES.PRIVY_NOT_INITIALIZED);
|
|
20023
20074
|
const existingSession = await privy.user.get();
|
|
@@ -20026,7 +20077,7 @@ var FunkitWeb2Provider = ({
|
|
|
20026
20077
|
return null;
|
|
20027
20078
|
}
|
|
20028
20079
|
}, [privy]);
|
|
20029
|
-
const handleFunkitWeb2Login =
|
|
20080
|
+
const handleFunkitWeb2Login = useCallback35(
|
|
20030
20081
|
async ({
|
|
20031
20082
|
chainId,
|
|
20032
20083
|
firstLoginCode,
|
|
@@ -20099,9 +20150,9 @@ var FunkitWeb2Provider = ({
|
|
|
20099
20150
|
wallets
|
|
20100
20151
|
]
|
|
20101
20152
|
);
|
|
20102
|
-
const clearLoginError =
|
|
20153
|
+
const clearLoginError = useCallback35(() => setLoginErrorMessage(""), []);
|
|
20103
20154
|
const initChainId = useInitialChainId();
|
|
20104
|
-
const handleAutoLoginFlows =
|
|
20155
|
+
const handleAutoLoginFlows = useCallback35(async () => {
|
|
20105
20156
|
if (isNotNullish(loginMethod) && isNotNullish(initChainId)) {
|
|
20106
20157
|
const queryParams = new URLSearchParams(window.location.search);
|
|
20107
20158
|
const oauthCode = queryParams.get(PRIVY_OAUTH_CODE_URL_PARAM);
|
|
@@ -20143,7 +20194,7 @@ var FunkitWeb2Provider = ({
|
|
|
20143
20194
|
initChainId
|
|
20144
20195
|
// Do not include `handleAutoLoginFlows`,
|
|
20145
20196
|
]);
|
|
20146
|
-
const handleOauthRedirect =
|
|
20197
|
+
const handleOauthRedirect = useCallback35(
|
|
20147
20198
|
async (authProvider) => {
|
|
20148
20199
|
if (!privy) throw new Error(ERROR_MESSAGES.PRIVY_NOT_INITIALIZED);
|
|
20149
20200
|
try {
|
|
@@ -20167,7 +20218,7 @@ var FunkitWeb2Provider = ({
|
|
|
20167
20218
|
[privy, setLoginMethodAndCache]
|
|
20168
20219
|
);
|
|
20169
20220
|
const [isSendingOtpEmail, setIsSendingOtpEmail] = useState52(false);
|
|
20170
|
-
const handleSendOtpEmail =
|
|
20221
|
+
const handleSendOtpEmail = useCallback35(
|
|
20171
20222
|
async (emailAddress) => {
|
|
20172
20223
|
try {
|
|
20173
20224
|
if (!privy) throw new Error(ERROR_MESSAGES.PRIVY_NOT_INITIALIZED);
|
|
@@ -20194,7 +20245,7 @@ var FunkitWeb2Provider = ({
|
|
|
20194
20245
|
[privy, setLoginMethodAndCache]
|
|
20195
20246
|
);
|
|
20196
20247
|
const [isGeneratingFcUri, setIsGeneratingFcUri] = useState52(false);
|
|
20197
|
-
const handleGenerateFcUri =
|
|
20248
|
+
const handleGenerateFcUri = useCallback35(async () => {
|
|
20198
20249
|
try {
|
|
20199
20250
|
if (!privy) throw new Error(ERROR_MESSAGES.PRIVY_NOT_INITIALIZED);
|
|
20200
20251
|
setIsGeneratingFcUri(true);
|
|
@@ -20219,7 +20270,7 @@ var FunkitWeb2Provider = ({
|
|
|
20219
20270
|
setIsGeneratingFcUri(false);
|
|
20220
20271
|
}
|
|
20221
20272
|
}, [privy]);
|
|
20222
|
-
const getFcConnectionStatus =
|
|
20273
|
+
const getFcConnectionStatus = useCallback35(
|
|
20223
20274
|
async (channelToken) => {
|
|
20224
20275
|
try {
|
|
20225
20276
|
if (!privy) throw new Error(ERROR_MESSAGES.PRIVY_NOT_INITIALIZED);
|
|
@@ -20353,7 +20404,7 @@ import React190 from "react";
|
|
|
20353
20404
|
import { useAccount as useAccount12, useBalance, useConfig as useConfig6 } from "wagmi";
|
|
20354
20405
|
|
|
20355
20406
|
// src/hooks/useIsMounted.ts
|
|
20356
|
-
import { useCallback as
|
|
20407
|
+
import { useCallback as useCallback36, useEffect as useEffect38, useState as useState54 } from "react";
|
|
20357
20408
|
function useIsMounted() {
|
|
20358
20409
|
const [isMounted, setIsMounted] = useState54(false);
|
|
20359
20410
|
useEffect38(() => {
|
|
@@ -20362,7 +20413,7 @@ function useIsMounted() {
|
|
|
20362
20413
|
setIsMounted(false);
|
|
20363
20414
|
};
|
|
20364
20415
|
}, []);
|
|
20365
|
-
return
|
|
20416
|
+
return useCallback36(() => isMounted, [isMounted]);
|
|
20366
20417
|
}
|
|
20367
20418
|
|
|
20368
20419
|
// src/components/ConnectButton/abbreviateETHBalance.ts
|
|
@@ -21230,16 +21281,16 @@ var defaultAppInfo = {
|
|
|
21230
21281
|
var AppContext = createContext18(defaultAppInfo);
|
|
21231
21282
|
|
|
21232
21283
|
// src/providers/useFingerprint.ts
|
|
21233
|
-
import { useCallback as
|
|
21284
|
+
import { useCallback as useCallback37, useEffect as useEffect40 } from "react";
|
|
21234
21285
|
var storageKey5 = "funkit-connect-version";
|
|
21235
21286
|
function setFunkitConnectVersion({ version }) {
|
|
21236
21287
|
localStorage.setItem(storageKey5, version);
|
|
21237
21288
|
}
|
|
21238
21289
|
function getCurrentSdkVersion() {
|
|
21239
|
-
return "
|
|
21290
|
+
return "3.4.3";
|
|
21240
21291
|
}
|
|
21241
21292
|
function useFingerprint() {
|
|
21242
|
-
const fingerprint =
|
|
21293
|
+
const fingerprint = useCallback37(() => {
|
|
21243
21294
|
setFunkitConnectVersion({ version: getCurrentSdkVersion() });
|
|
21244
21295
|
}, []);
|
|
21245
21296
|
useEffect40(() => {
|
|
@@ -21248,7 +21299,7 @@ function useFingerprint() {
|
|
|
21248
21299
|
}
|
|
21249
21300
|
|
|
21250
21301
|
// src/providers/usePreloadImages.ts
|
|
21251
|
-
import { useCallback as
|
|
21302
|
+
import { useCallback as useCallback38, useEffect as useEffect41 } from "react";
|
|
21252
21303
|
|
|
21253
21304
|
// src/components/Icons/Assets.tsx
|
|
21254
21305
|
import React194 from "react";
|
|
@@ -21264,7 +21315,7 @@ var preloadLoginIcon = () => loadImages(src2);
|
|
|
21264
21315
|
function usePreloadImages() {
|
|
21265
21316
|
const funkitConnectChains = useFunkitConnectChains();
|
|
21266
21317
|
const walletConnectors = useWalletConnectors();
|
|
21267
|
-
const preloadImages =
|
|
21318
|
+
const preloadImages = useCallback38(() => {
|
|
21268
21319
|
loadImages(
|
|
21269
21320
|
...walletConnectors.map((wallet) => wallet.iconUrl),
|
|
21270
21321
|
...funkitConnectChains.map((chain) => chain.iconUrl).filter(isNotNullish)
|
|
@@ -21428,6 +21479,7 @@ export {
|
|
|
21428
21479
|
useCheckoutListenerByCheckoutId,
|
|
21429
21480
|
useCheckoutsListenerByUserId,
|
|
21430
21481
|
useConnectModal,
|
|
21482
|
+
useConnectionStatus,
|
|
21431
21483
|
useFunkitAccount,
|
|
21432
21484
|
useFunkitCheckout,
|
|
21433
21485
|
useFunkitDisconnect,
|