@funkit/connect 7.0.0 → 7.0.2
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 +25 -0
- package/dist/components/FunPoweredTagline/FunPoweredTagline.css.d.ts +1 -0
- package/dist/components/FunPoweredTagline/FunPoweredTagline.d.ts +4 -1
- package/dist/consts/funkit.d.ts +0 -17
- package/dist/domains/feeEstimate.d.ts +1 -1
- package/dist/hooks/usePaymentSources.d.ts +1 -1
- package/dist/index.css +16 -0
- package/dist/index.d.ts +2 -3
- package/dist/index.js +1015 -622
- package/dist/locales/index.d.ts +1 -1
- package/dist/modals/CheckoutModal/ConfirmationStep/useAccountBalanceTransfer.d.ts +1 -1
- package/dist/modals/CheckoutModal/SourceChange/SourceChange.d.ts +1 -1
- package/dist/providers/FunkitConfigContext.d.ts +0 -18
- package/dist/utils/checkout.d.ts +0 -34
- package/dist/utils/flags/config.d.ts +1 -1
- package/dist/wallets/walletConnectors/index.js +6 -6
- package/package.json +5 -6
package/dist/index.js
CHANGED
|
@@ -417,7 +417,7 @@ function Avatar({ address, imageUrl, loading, size }) {
|
|
|
417
417
|
}
|
|
418
418
|
|
|
419
419
|
// src/components/ConnectButton/ConnectButton.tsx
|
|
420
|
-
import React236, { useEffect as
|
|
420
|
+
import React236, { useEffect as useEffect56, useState as useState75 } from "react";
|
|
421
421
|
|
|
422
422
|
// src/css/touchableStyles.css.ts
|
|
423
423
|
var active = { shrink: "_7rkubb8", shrinkSm: "_7rkubb9" };
|
|
@@ -538,284 +538,13 @@ function useFunkitTranslation() {
|
|
|
538
538
|
}
|
|
539
539
|
|
|
540
540
|
// src/providers/FunkitConnectChainContext.tsx
|
|
541
|
-
import { configureEnvironment } from "@funkit/core";
|
|
542
541
|
import React9, {
|
|
543
|
-
createContext as
|
|
544
|
-
useContext as
|
|
545
|
-
|
|
546
|
-
useMemo as useMemo4
|
|
542
|
+
createContext as createContext3,
|
|
543
|
+
useContext as useContext3,
|
|
544
|
+
useMemo as useMemo3
|
|
547
545
|
} from "react";
|
|
548
546
|
import { useConfig } from "wagmi";
|
|
549
547
|
|
|
550
|
-
// src/utils/funLogger.ts
|
|
551
|
-
import { datadogLogs } from "@datadog/browser-logs";
|
|
552
|
-
import { DEV_API_KEY } from "@funkit/api-base";
|
|
553
|
-
var DDOG_CLIENT_TOKEN = "pub4f86c6be8c792cb48dc156a8c17d9a47";
|
|
554
|
-
var FUN_DEV_API_KEYS = [
|
|
555
|
-
"hnHevQR0y394nBprGrvNx4HgoZHUwMet5mXTOBhf",
|
|
556
|
-
"MYny3w7xJh6PRlRgkJ9604sHouY2MTke6lCPpSHq",
|
|
557
|
-
DEV_API_KEY
|
|
558
|
-
];
|
|
559
|
-
function setDdogEnv(environment) {
|
|
560
|
-
datadogLogs.setGlobalContextProperty("env", environment);
|
|
561
|
-
}
|
|
562
|
-
var FunLogger = class {
|
|
563
|
-
constructor() {
|
|
564
|
-
setDdogEnv("development" /* DEVELOPMENT */);
|
|
565
|
-
this.apiKey = null;
|
|
566
|
-
this.isDebugMode = false;
|
|
567
|
-
this.userId = null;
|
|
568
|
-
this.userAddress = null;
|
|
569
|
-
this.userName = null;
|
|
570
|
-
this.userLoginType = null;
|
|
571
|
-
this.sdkVersion = null;
|
|
572
|
-
}
|
|
573
|
-
getFunLogEnv() {
|
|
574
|
-
if (!this.apiKey || FUN_DEV_API_KEYS.includes(this.apiKey)) {
|
|
575
|
-
return "development" /* DEVELOPMENT */;
|
|
576
|
-
}
|
|
577
|
-
return "production" /* PRODUCTION */;
|
|
578
|
-
}
|
|
579
|
-
logDataDog(level, title, data, error) {
|
|
580
|
-
if (typeof window === "undefined") {
|
|
581
|
-
return;
|
|
582
|
-
}
|
|
583
|
-
const datadogData = {
|
|
584
|
-
data,
|
|
585
|
-
apiKey: this.apiKey,
|
|
586
|
-
userId: this.userId,
|
|
587
|
-
userName: this.userName,
|
|
588
|
-
userAddress: this.userAddress,
|
|
589
|
-
userLoginType: this.userLoginType,
|
|
590
|
-
sdkVersion: this.sdkVersion
|
|
591
|
-
};
|
|
592
|
-
switch (level) {
|
|
593
|
-
case "info":
|
|
594
|
-
datadogLogs.logger.info(title, datadogData);
|
|
595
|
-
break;
|
|
596
|
-
case "debug":
|
|
597
|
-
datadogLogs.logger.debug(title, datadogData);
|
|
598
|
-
break;
|
|
599
|
-
case "warn":
|
|
600
|
-
datadogLogs.logger.warn(title, datadogData);
|
|
601
|
-
break;
|
|
602
|
-
case "error":
|
|
603
|
-
datadogLogs.logger.error(title, datadogData, error);
|
|
604
|
-
}
|
|
605
|
-
}
|
|
606
|
-
onDebug({ title, data }) {
|
|
607
|
-
const isProd = this.getFunLogEnv() === "production" /* PRODUCTION */;
|
|
608
|
-
if (isProd) {
|
|
609
|
-
this.logDataDog("debug", title, data);
|
|
610
|
-
}
|
|
611
|
-
if (!isProd || this.isDebugMode) {
|
|
612
|
-
console.debug(title, data || "");
|
|
613
|
-
}
|
|
614
|
-
}
|
|
615
|
-
onInfo({ title, data }) {
|
|
616
|
-
const isProd = this.getFunLogEnv() === "production" /* PRODUCTION */;
|
|
617
|
-
if (isProd) {
|
|
618
|
-
this.logDataDog("info", title, data);
|
|
619
|
-
}
|
|
620
|
-
if (!isProd || this.isDebugMode) {
|
|
621
|
-
console.log(title, data || "");
|
|
622
|
-
}
|
|
623
|
-
}
|
|
624
|
-
onWarn({ title, data }) {
|
|
625
|
-
const isProd = this.getFunLogEnv() === "production" /* PRODUCTION */;
|
|
626
|
-
if (isProd) {
|
|
627
|
-
this.logDataDog("warn", title, data);
|
|
628
|
-
}
|
|
629
|
-
if (!isProd || this.isDebugMode) {
|
|
630
|
-
console.warn(title, data || "");
|
|
631
|
-
}
|
|
632
|
-
}
|
|
633
|
-
onError({ title, error, data }) {
|
|
634
|
-
const isProd = this.getFunLogEnv() === "production" /* PRODUCTION */;
|
|
635
|
-
if (isProd) {
|
|
636
|
-
this.logDataDog("error", title, data, error);
|
|
637
|
-
}
|
|
638
|
-
if (!isProd || this.isDebugMode) {
|
|
639
|
-
console.error(title, data || "", error);
|
|
640
|
-
}
|
|
641
|
-
}
|
|
642
|
-
extractError(error) {
|
|
643
|
-
if (error instanceof Error) {
|
|
644
|
-
return error;
|
|
645
|
-
}
|
|
646
|
-
if (typeof error === "object" && error !== null && "error" in error && error.error instanceof Error) {
|
|
647
|
-
return error.error;
|
|
648
|
-
}
|
|
649
|
-
return null;
|
|
650
|
-
}
|
|
651
|
-
/**========================
|
|
652
|
-
* PUBLIC LOGGER FUNCTIONS
|
|
653
|
-
*=========================*/
|
|
654
|
-
log(title, data) {
|
|
655
|
-
this.onInfo({ title, data });
|
|
656
|
-
}
|
|
657
|
-
info(title, data) {
|
|
658
|
-
this.onInfo({ title, data });
|
|
659
|
-
}
|
|
660
|
-
debug(title, data) {
|
|
661
|
-
this.onDebug({ title, data });
|
|
662
|
-
}
|
|
663
|
-
warn(title, data) {
|
|
664
|
-
this.onWarn({ title, data });
|
|
665
|
-
}
|
|
666
|
-
/**
|
|
667
|
-
* @param errorOrData -
|
|
668
|
-
* Previously was called "error" but since in the {@link Logger} interface, error is defined as object (which is the same thing as "any"), we treat it as of unknown type here for safety.
|
|
669
|
-
* In a lot of places it's actually being used as a "data" prop, which also usually has an `.error` property representing an actual {@link Error} object.
|
|
670
|
-
*/
|
|
671
|
-
error(title, errorOrData, _data = {}) {
|
|
672
|
-
const error = this.extractError(errorOrData) ?? void 0;
|
|
673
|
-
const data = {
|
|
674
|
-
..._data,
|
|
675
|
-
...typeof errorOrData === "object" && errorOrData !== null ? errorOrData : {}
|
|
676
|
-
};
|
|
677
|
-
this.onError({ title, error, data });
|
|
678
|
-
}
|
|
679
|
-
configure(apiKey, isDebug, sdkVersion) {
|
|
680
|
-
this.apiKey = apiKey;
|
|
681
|
-
this.isDebugMode = isDebug;
|
|
682
|
-
this.sdkVersion = sdkVersion;
|
|
683
|
-
setDdogEnv(this.getFunLogEnv());
|
|
684
|
-
}
|
|
685
|
-
getUserId() {
|
|
686
|
-
return this.userId;
|
|
687
|
-
}
|
|
688
|
-
getUserAddress() {
|
|
689
|
-
return this.userAddress;
|
|
690
|
-
}
|
|
691
|
-
getUserName() {
|
|
692
|
-
return this.userName;
|
|
693
|
-
}
|
|
694
|
-
getUserLoginType() {
|
|
695
|
-
return this.userLoginType;
|
|
696
|
-
}
|
|
697
|
-
setUserInfo(userId, userAddress, userName, userLoginType) {
|
|
698
|
-
this.userId = userId;
|
|
699
|
-
this.userAddress = userAddress;
|
|
700
|
-
this.userName = userName;
|
|
701
|
-
this.userLoginType = userLoginType;
|
|
702
|
-
}
|
|
703
|
-
};
|
|
704
|
-
datadogLogs.init({
|
|
705
|
-
clientToken: DDOG_CLIENT_TOKEN,
|
|
706
|
-
site: "datadoghq.com",
|
|
707
|
-
forwardErrorsToLogs: false,
|
|
708
|
-
sessionSampleRate: 100,
|
|
709
|
-
service: "connect-sdk"
|
|
710
|
-
});
|
|
711
|
-
var logger = new FunLogger();
|
|
712
|
-
|
|
713
|
-
// src/providers/FunkitConfigContext.tsx
|
|
714
|
-
import { createContext as createContext3, useContext as useContext3, useMemo as useMemo3 } from "react";
|
|
715
|
-
var DEFAULT_TEXT_CUSTOMIZATIONS = {
|
|
716
|
-
virtualFiat: "Deposit with SEPA",
|
|
717
|
-
brokerageOrExchange: "Connect Exchange",
|
|
718
|
-
debitOrCredit: "Deposit with Card",
|
|
719
|
-
accountBalance: "Wallet",
|
|
720
|
-
selectAccount: "Select an exchange",
|
|
721
|
-
sourceMethodTitle: "Your source",
|
|
722
|
-
tokensListTitle: "Your tokens",
|
|
723
|
-
transferTokens: "Transfer Crypto",
|
|
724
|
-
receiveDropdownTitle: "",
|
|
725
|
-
// Default to empty
|
|
726
|
-
receiveDropdownLabel: "Asset to Receive",
|
|
727
|
-
confirmationScreen: {
|
|
728
|
-
payAmountLabel: "You send",
|
|
729
|
-
receiveAmountLabel: "You receive"
|
|
730
|
-
}
|
|
731
|
-
};
|
|
732
|
-
var DEFAULT_UI_CUSTOMIZATIONS = {
|
|
733
|
-
alignTitle: "center",
|
|
734
|
-
callToActionsUppercase: false,
|
|
735
|
-
confirmationScreen: {
|
|
736
|
-
preferDestinationWhenSame: false,
|
|
737
|
-
showPaymentAmountUsd: false,
|
|
738
|
-
showReceiveAmountUsd: false,
|
|
739
|
-
showTokenAmount: true,
|
|
740
|
-
showTransactionDigest: "none"
|
|
741
|
-
},
|
|
742
|
-
inputAmountScreen: {
|
|
743
|
-
allowTokenAmountInput: true
|
|
744
|
-
},
|
|
745
|
-
selectAssetScreen: {
|
|
746
|
-
showTargetAssetSelection: false
|
|
747
|
-
},
|
|
748
|
-
transferCryptoScreen: {
|
|
749
|
-
showYouSendYouReceive: false
|
|
750
|
-
}
|
|
751
|
-
};
|
|
752
|
-
var DEFAULT_FUNKIT_CONFIG = {
|
|
753
|
-
apiKey: "",
|
|
754
|
-
appName: "",
|
|
755
|
-
textCustomizations: DEFAULT_TEXT_CUSTOMIZATIONS,
|
|
756
|
-
uiCustomizations: DEFAULT_UI_CUSTOMIZATIONS
|
|
757
|
-
};
|
|
758
|
-
var FunkitConfigContext = createContext3(
|
|
759
|
-
DEFAULT_FUNKIT_CONFIG
|
|
760
|
-
);
|
|
761
|
-
function useFunkitConfig() {
|
|
762
|
-
const originalFunkitConfig = useContext3(FunkitConfigContext);
|
|
763
|
-
const { t } = useFunkitTranslation();
|
|
764
|
-
const translatedDefaults = useMemo3(() => {
|
|
765
|
-
return {
|
|
766
|
-
virtualFiat: t("textCustomizations.virtualFiat"),
|
|
767
|
-
brokerageOrExchange: t("textCustomizations.brokerageOrExchange"),
|
|
768
|
-
debitOrCredit: t("textCustomizations.debitOrCredit"),
|
|
769
|
-
accountBalance: t("textCustomizations.accountBalance"),
|
|
770
|
-
selectAccount: t("textCustomizations.selectAccount"),
|
|
771
|
-
sourceMethodTitle: t("textCustomizations.sourceMethodTitle"),
|
|
772
|
-
tokensListTitle: t("textCustomizations.tokensListTitle"),
|
|
773
|
-
transferTokens: t("textCustomizations.transferTokens"),
|
|
774
|
-
receiveDropdownTitle: t("textCustomizations.receiveDropdownTitle"),
|
|
775
|
-
receiveDropdownLabel: t("textCustomizations.receiveDropdownLabel"),
|
|
776
|
-
confirmationScreen: {
|
|
777
|
-
payAmountLabel: t("textCustomizations.payAmountLabel"),
|
|
778
|
-
receiveAmountLabel: t("textCustomizations.receiveAmountLabel")
|
|
779
|
-
}
|
|
780
|
-
};
|
|
781
|
-
}, [t]);
|
|
782
|
-
const finalFunkitConfig = useMemo3(() => {
|
|
783
|
-
return {
|
|
784
|
-
...DEFAULT_FUNKIT_CONFIG,
|
|
785
|
-
...originalFunkitConfig,
|
|
786
|
-
textCustomizations: {
|
|
787
|
-
...translatedDefaults,
|
|
788
|
-
...originalFunkitConfig.textCustomizations,
|
|
789
|
-
confirmationScreen: {
|
|
790
|
-
...translatedDefaults.confirmationScreen,
|
|
791
|
-
...originalFunkitConfig.textCustomizations?.confirmationScreen
|
|
792
|
-
}
|
|
793
|
-
},
|
|
794
|
-
uiCustomizations: {
|
|
795
|
-
...DEFAULT_FUNKIT_CONFIG.uiCustomizations,
|
|
796
|
-
...originalFunkitConfig.uiCustomizations,
|
|
797
|
-
selectAssetScreen: {
|
|
798
|
-
...DEFAULT_FUNKIT_CONFIG.uiCustomizations.selectAssetScreen,
|
|
799
|
-
...originalFunkitConfig.uiCustomizations?.selectAssetScreen
|
|
800
|
-
},
|
|
801
|
-
confirmationScreen: {
|
|
802
|
-
...DEFAULT_FUNKIT_CONFIG.uiCustomizations.confirmationScreen,
|
|
803
|
-
...originalFunkitConfig.uiCustomizations?.confirmationScreen
|
|
804
|
-
},
|
|
805
|
-
inputAmountScreen: {
|
|
806
|
-
...DEFAULT_FUNKIT_CONFIG.uiCustomizations.inputAmountScreen,
|
|
807
|
-
...originalFunkitConfig.uiCustomizations?.inputAmountScreen
|
|
808
|
-
},
|
|
809
|
-
transferCryptoScreen: {
|
|
810
|
-
...DEFAULT_FUNKIT_CONFIG.uiCustomizations.transferCryptoScreen,
|
|
811
|
-
...originalFunkitConfig.uiCustomizations?.transferCryptoScreen
|
|
812
|
-
}
|
|
813
|
-
}
|
|
814
|
-
};
|
|
815
|
-
}, [originalFunkitConfig, translatedDefaults]);
|
|
816
|
-
return finalFunkitConfig;
|
|
817
|
-
}
|
|
818
|
-
|
|
819
548
|
// src/providers/provideFunkitConnectChains.ts
|
|
820
549
|
import { chainMetadataById } from "@funkit/chains";
|
|
821
550
|
var provideFunkitConnectChains = (chains) => chains.map((chain) => {
|
|
@@ -837,7 +566,7 @@ var groupChainsById = (chains) => {
|
|
|
837
566
|
};
|
|
838
567
|
|
|
839
568
|
// src/providers/FunkitConnectChainContext.tsx
|
|
840
|
-
var FunkitConnectChainContext =
|
|
569
|
+
var FunkitConnectChainContext = createContext3(
|
|
841
570
|
{
|
|
842
571
|
chains: []
|
|
843
572
|
}
|
|
@@ -847,22 +576,11 @@ function FunkitConnectChainProvider({
|
|
|
847
576
|
initialChain
|
|
848
577
|
}) {
|
|
849
578
|
const { chains } = useConfig();
|
|
850
|
-
const { apiKey } = useFunkitConfig();
|
|
851
579
|
const initialChainFinal = initialChain || chains[0].id;
|
|
852
|
-
useEffect3(() => {
|
|
853
|
-
if (initialChainFinal) {
|
|
854
|
-
configureEnvironment({
|
|
855
|
-
chain: initialChainFinal,
|
|
856
|
-
apiKey
|
|
857
|
-
}).then(() => {
|
|
858
|
-
logger.log("Core configured");
|
|
859
|
-
});
|
|
860
|
-
}
|
|
861
|
-
}, [apiKey, initialChainFinal]);
|
|
862
580
|
return /* @__PURE__ */ React9.createElement(
|
|
863
581
|
FunkitConnectChainContext.Provider,
|
|
864
582
|
{
|
|
865
|
-
value:
|
|
583
|
+
value: useMemo3(
|
|
866
584
|
() => ({
|
|
867
585
|
chains: provideFunkitConnectChains(chains),
|
|
868
586
|
initialChainId: initialChainFinal
|
|
@@ -873,17 +591,17 @@ function FunkitConnectChainProvider({
|
|
|
873
591
|
children
|
|
874
592
|
);
|
|
875
593
|
}
|
|
876
|
-
var useFunkitConnectChains = () =>
|
|
594
|
+
var useFunkitConnectChains = () => useContext3(FunkitConnectChainContext).chains;
|
|
877
595
|
var useFunkitConnectChainsById = () => groupChainsById(useFunkitConnectChains());
|
|
878
|
-
var useInitialChainId = () =>
|
|
596
|
+
var useInitialChainId = () => useContext3(FunkitConnectChainContext).initialChainId;
|
|
879
597
|
|
|
880
598
|
// src/providers/ShowBalanceContext.tsx
|
|
881
599
|
import React10, {
|
|
882
|
-
createContext as
|
|
883
|
-
useContext as
|
|
600
|
+
createContext as createContext4,
|
|
601
|
+
useContext as useContext4,
|
|
884
602
|
useState as useState3
|
|
885
603
|
} from "react";
|
|
886
|
-
var ShowBalanceContext =
|
|
604
|
+
var ShowBalanceContext = createContext4({
|
|
887
605
|
showBalance: void 0,
|
|
888
606
|
setShowBalance: () => void 0
|
|
889
607
|
});
|
|
@@ -891,13 +609,13 @@ function ShowBalanceProvider({ children }) {
|
|
|
891
609
|
const [showBalance, setShowBalance] = useState3();
|
|
892
610
|
return /* @__PURE__ */ React10.createElement(ShowBalanceContext.Provider, { value: { showBalance, setShowBalance } }, children);
|
|
893
611
|
}
|
|
894
|
-
var useShowBalance = () =>
|
|
612
|
+
var useShowBalance = () => useContext4(ShowBalanceContext);
|
|
895
613
|
|
|
896
614
|
// src/components/AsyncImage/AsyncImage.tsx
|
|
897
|
-
import React11, { useMemo as
|
|
615
|
+
import React11, { useMemo as useMemo4, useReducer as useReducer2, useState as useState4 } from "react";
|
|
898
616
|
|
|
899
617
|
// src/components/AsyncImage/useAsyncImage.ts
|
|
900
|
-
import { useEffect as
|
|
618
|
+
import { useEffect as useEffect3, useReducer } from "react";
|
|
901
619
|
var cachedUrls = /* @__PURE__ */ new Map();
|
|
902
620
|
var cachedRequestPromises = /* @__PURE__ */ new Map();
|
|
903
621
|
async function loadAsyncImage(asyncImage) {
|
|
@@ -930,7 +648,7 @@ function useForceUpdate() {
|
|
|
930
648
|
function useAsyncImage(url) {
|
|
931
649
|
const cachedUrl = typeof url === "function" ? cachedUrls.get(url) : void 0;
|
|
932
650
|
const forceUpdate = useForceUpdate();
|
|
933
|
-
|
|
651
|
+
useEffect3(() => {
|
|
934
652
|
if (typeof url === "function" && !cachedUrl) {
|
|
935
653
|
loadAsyncImage(url).then(forceUpdate);
|
|
936
654
|
}
|
|
@@ -962,7 +680,7 @@ function AsyncImage({
|
|
|
962
680
|
const [hasError, setHasError] = useState4(
|
|
963
681
|
srcProp === void 0 && fallbackSrc === void 0
|
|
964
682
|
);
|
|
965
|
-
const { asyncStyle, imgProps } =
|
|
683
|
+
const { asyncStyle, imgProps } = useMemo4(() => {
|
|
966
684
|
const asyncStyle2 = !useAsImage ? getRemoteImageStyles(isRemoteImage, isRemoteImageLoaded, src) : {};
|
|
967
685
|
if (useAsImage || isRemoteImage) {
|
|
968
686
|
const imgProps2 = {
|
|
@@ -1066,10 +784,10 @@ import React235 from "react";
|
|
|
1066
784
|
import { useAccount as useAccount12, useBalance, useConfig as useConfig6 } from "wagmi";
|
|
1067
785
|
|
|
1068
786
|
// src/hooks/useIsMounted.ts
|
|
1069
|
-
import { useCallback as useCallback2, useEffect as
|
|
787
|
+
import { useCallback as useCallback2, useEffect as useEffect4, useState as useState5 } from "react";
|
|
1070
788
|
function useIsMounted() {
|
|
1071
789
|
const [isMounted, setIsMounted] = useState5(false);
|
|
1072
|
-
|
|
790
|
+
useEffect4(() => {
|
|
1073
791
|
setIsMounted(true);
|
|
1074
792
|
return () => {
|
|
1075
793
|
setIsMounted(false);
|
|
@@ -1133,9 +851,9 @@ import { useAccount as useAccount11 } from "wagmi";
|
|
|
1133
851
|
// src/domains/asset.ts
|
|
1134
852
|
import {
|
|
1135
853
|
FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO as FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO14,
|
|
1136
|
-
solanaChain as
|
|
854
|
+
solanaChain as solanaChain6
|
|
1137
855
|
} from "@funkit/chains";
|
|
1138
|
-
import { STABLECOIN_SYMBOLS } from "@funkit/
|
|
856
|
+
import { STABLECOIN_SYMBOLS } from "@funkit/utils";
|
|
1139
857
|
import {
|
|
1140
858
|
isTokenAddressEquivalent as isTokenAddressEquivalent4,
|
|
1141
859
|
isTokenEquivalent as isTokenEquivalent7,
|
|
@@ -1322,20 +1040,13 @@ function reformatIntegerPart(integerPart, locale, preserveLeadingZeroes) {
|
|
|
1322
1040
|
|
|
1323
1041
|
// src/utils/checkout.ts
|
|
1324
1042
|
import {
|
|
1325
|
-
CheckoutState as CheckoutState4
|
|
1326
|
-
getAssetPriceInfo as getAssetPriceInfo3
|
|
1043
|
+
CheckoutState as CheckoutState4
|
|
1327
1044
|
} from "@funkit/api-base";
|
|
1328
1045
|
import {
|
|
1329
1046
|
FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS as FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS4,
|
|
1330
1047
|
FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO as FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO13,
|
|
1331
|
-
solanaChain as
|
|
1048
|
+
solanaChain as solanaChain5
|
|
1332
1049
|
} from "@funkit/chains";
|
|
1333
|
-
import {
|
|
1334
|
-
CHECKOUT_SPONSOR_SUPPORT_CHAINS,
|
|
1335
|
-
CONTRACT_ADDRESSES,
|
|
1336
|
-
getEnvOptions,
|
|
1337
|
-
getTokenAddressBySymbolAndChainId as getTokenAddressBySymbolAndChainId2
|
|
1338
|
-
} from "@funkit/core";
|
|
1339
1050
|
import { getRelayAssetInfo } from "@funkit/fun-relay";
|
|
1340
1051
|
import {
|
|
1341
1052
|
formatCryptoAndStringify as formatCryptoAndStringify9,
|
|
@@ -1345,30 +1056,7 @@ import {
|
|
|
1345
1056
|
round as round3
|
|
1346
1057
|
} from "@funkit/utils";
|
|
1347
1058
|
import { getBalance, readContract } from "@wagmi/core";
|
|
1348
|
-
import { erc20Abi as
|
|
1349
|
-
|
|
1350
|
-
// src/consts/funkit.ts
|
|
1351
|
-
import { FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS } from "@funkit/chains";
|
|
1352
|
-
var NATIVE_TOKEN = FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS;
|
|
1353
|
-
var FUN_ORG_NAME = "Fun.xyz";
|
|
1354
|
-
var FUN_TERMS_URL = "https://fun.xyz/terms";
|
|
1355
|
-
var FunkitSocialLoginMethod = /* @__PURE__ */ ((FunkitSocialLoginMethod2) => {
|
|
1356
|
-
FunkitSocialLoginMethod2["GOOGLE"] = "google_oauth" /* google_oauth */;
|
|
1357
|
-
FunkitSocialLoginMethod2["TWITTER"] = "twitter_oauth" /* twitter_oauth */;
|
|
1358
|
-
FunkitSocialLoginMethod2["APPLE"] = "apple_oauth" /* apple_oauth */;
|
|
1359
|
-
FunkitSocialLoginMethod2["FARCASTER"] = "farcaster" /* farcaster */;
|
|
1360
|
-
return FunkitSocialLoginMethod2;
|
|
1361
|
-
})(FunkitSocialLoginMethod || {});
|
|
1362
|
-
var PLACEHOLDER_FUNKIT_USER_INFO = {
|
|
1363
|
-
id: "0x",
|
|
1364
|
-
address: "0x",
|
|
1365
|
-
name: "Guest",
|
|
1366
|
-
nameTruncated: "Guest",
|
|
1367
|
-
type: "unknown",
|
|
1368
|
-
typeLabel: "",
|
|
1369
|
-
iconSrc: "",
|
|
1370
|
-
isConnected: false
|
|
1371
|
-
};
|
|
1059
|
+
import { erc20Abi as erc20Abi3, isAddress as isAddress3 } from "viem";
|
|
1372
1060
|
|
|
1373
1061
|
// src/providers/FunkitCheckoutContext/index.tsx
|
|
1374
1062
|
import {
|
|
@@ -1382,7 +1070,7 @@ import React234, {
|
|
|
1382
1070
|
createContext as createContext17,
|
|
1383
1071
|
useCallback as useCallback49,
|
|
1384
1072
|
useContext as useContext17,
|
|
1385
|
-
useEffect as
|
|
1073
|
+
useEffect as useEffect55,
|
|
1386
1074
|
useState as useState74
|
|
1387
1075
|
} from "react";
|
|
1388
1076
|
import { flushSync } from "react-dom";
|
|
@@ -1659,7 +1347,6 @@ function generateClientMetadataForTokenTransfer() {
|
|
|
1659
1347
|
targetAsset: "0x",
|
|
1660
1348
|
targetChain: "",
|
|
1661
1349
|
targetAssetTicker: "",
|
|
1662
|
-
expirationTimestampMs: 0,
|
|
1663
1350
|
checkoutItemTitle: ""
|
|
1664
1351
|
}
|
|
1665
1352
|
},
|
|
@@ -1684,23 +1371,186 @@ import {
|
|
|
1684
1371
|
import { useCallback as useCallback4 } from "react";
|
|
1685
1372
|
|
|
1686
1373
|
// src/providers/useFingerprint.ts
|
|
1687
|
-
import { useCallback as useCallback3, useEffect as
|
|
1374
|
+
import { useCallback as useCallback3, useEffect as useEffect5 } from "react";
|
|
1688
1375
|
var storageKey = "funkit-connect-version";
|
|
1689
1376
|
function setFunkitConnectVersion({ version }) {
|
|
1690
1377
|
localStorage.setItem(storageKey, version);
|
|
1691
1378
|
}
|
|
1692
1379
|
function getCurrentSdkVersion() {
|
|
1693
|
-
return "7.0.
|
|
1380
|
+
return "7.0.2";
|
|
1694
1381
|
}
|
|
1695
1382
|
function useFingerprint() {
|
|
1696
1383
|
const fingerprint = useCallback3(() => {
|
|
1697
1384
|
setFunkitConnectVersion({ version: getCurrentSdkVersion() });
|
|
1698
1385
|
}, []);
|
|
1699
|
-
|
|
1386
|
+
useEffect5(() => {
|
|
1700
1387
|
fingerprint();
|
|
1701
1388
|
}, [fingerprint]);
|
|
1702
1389
|
}
|
|
1703
1390
|
|
|
1391
|
+
// src/utils/funLogger.ts
|
|
1392
|
+
import { datadogLogs } from "@datadog/browser-logs";
|
|
1393
|
+
import { DEV_API_KEY } from "@funkit/api-base";
|
|
1394
|
+
var DDOG_CLIENT_TOKEN = "pub4f86c6be8c792cb48dc156a8c17d9a47";
|
|
1395
|
+
var FUN_DEV_API_KEYS = [
|
|
1396
|
+
"hnHevQR0y394nBprGrvNx4HgoZHUwMet5mXTOBhf",
|
|
1397
|
+
"MYny3w7xJh6PRlRgkJ9604sHouY2MTke6lCPpSHq",
|
|
1398
|
+
DEV_API_KEY
|
|
1399
|
+
];
|
|
1400
|
+
function setDdogEnv(environment) {
|
|
1401
|
+
datadogLogs.setGlobalContextProperty("env", environment);
|
|
1402
|
+
}
|
|
1403
|
+
var FunLogger = class {
|
|
1404
|
+
constructor() {
|
|
1405
|
+
setDdogEnv("development" /* DEVELOPMENT */);
|
|
1406
|
+
this.apiKey = null;
|
|
1407
|
+
this.isDebugMode = false;
|
|
1408
|
+
this.userId = null;
|
|
1409
|
+
this.userAddress = null;
|
|
1410
|
+
this.userName = null;
|
|
1411
|
+
this.userLoginType = null;
|
|
1412
|
+
this.sdkVersion = null;
|
|
1413
|
+
}
|
|
1414
|
+
getFunLogEnv() {
|
|
1415
|
+
if (!this.apiKey || FUN_DEV_API_KEYS.includes(this.apiKey)) {
|
|
1416
|
+
return "development" /* DEVELOPMENT */;
|
|
1417
|
+
}
|
|
1418
|
+
return "production" /* PRODUCTION */;
|
|
1419
|
+
}
|
|
1420
|
+
logDataDog(level, title, data, error) {
|
|
1421
|
+
if (typeof window === "undefined") {
|
|
1422
|
+
return;
|
|
1423
|
+
}
|
|
1424
|
+
const datadogData = {
|
|
1425
|
+
data,
|
|
1426
|
+
apiKey: this.apiKey,
|
|
1427
|
+
userId: this.userId,
|
|
1428
|
+
userName: this.userName,
|
|
1429
|
+
userAddress: this.userAddress,
|
|
1430
|
+
userLoginType: this.userLoginType,
|
|
1431
|
+
sdkVersion: this.sdkVersion
|
|
1432
|
+
};
|
|
1433
|
+
switch (level) {
|
|
1434
|
+
case "info":
|
|
1435
|
+
datadogLogs.logger.info(title, datadogData);
|
|
1436
|
+
break;
|
|
1437
|
+
case "debug":
|
|
1438
|
+
datadogLogs.logger.debug(title, datadogData);
|
|
1439
|
+
break;
|
|
1440
|
+
case "warn":
|
|
1441
|
+
datadogLogs.logger.warn(title, datadogData);
|
|
1442
|
+
break;
|
|
1443
|
+
case "error":
|
|
1444
|
+
datadogLogs.logger.error(title, datadogData, error);
|
|
1445
|
+
}
|
|
1446
|
+
}
|
|
1447
|
+
onDebug({ title, data }) {
|
|
1448
|
+
const isProd = this.getFunLogEnv() === "production" /* PRODUCTION */;
|
|
1449
|
+
if (isProd) {
|
|
1450
|
+
this.logDataDog("debug", title, data);
|
|
1451
|
+
}
|
|
1452
|
+
if (!isProd || this.isDebugMode) {
|
|
1453
|
+
console.debug(title, data || "");
|
|
1454
|
+
}
|
|
1455
|
+
}
|
|
1456
|
+
onInfo({ title, data }) {
|
|
1457
|
+
const isProd = this.getFunLogEnv() === "production" /* PRODUCTION */;
|
|
1458
|
+
if (isProd) {
|
|
1459
|
+
this.logDataDog("info", title, data);
|
|
1460
|
+
}
|
|
1461
|
+
if (!isProd || this.isDebugMode) {
|
|
1462
|
+
console.log(title, data || "");
|
|
1463
|
+
}
|
|
1464
|
+
}
|
|
1465
|
+
onWarn({ title, data }) {
|
|
1466
|
+
const isProd = this.getFunLogEnv() === "production" /* PRODUCTION */;
|
|
1467
|
+
if (isProd) {
|
|
1468
|
+
this.logDataDog("warn", title, data);
|
|
1469
|
+
}
|
|
1470
|
+
if (!isProd || this.isDebugMode) {
|
|
1471
|
+
console.warn(title, data || "");
|
|
1472
|
+
}
|
|
1473
|
+
}
|
|
1474
|
+
onError({ title, error, data }) {
|
|
1475
|
+
const isProd = this.getFunLogEnv() === "production" /* PRODUCTION */;
|
|
1476
|
+
if (isProd) {
|
|
1477
|
+
this.logDataDog("error", title, data, error);
|
|
1478
|
+
}
|
|
1479
|
+
if (!isProd || this.isDebugMode) {
|
|
1480
|
+
console.error(title, data || "", error);
|
|
1481
|
+
}
|
|
1482
|
+
}
|
|
1483
|
+
extractError(error) {
|
|
1484
|
+
if (error instanceof Error) {
|
|
1485
|
+
return error;
|
|
1486
|
+
}
|
|
1487
|
+
if (typeof error === "object" && error !== null && "error" in error && error.error instanceof Error) {
|
|
1488
|
+
return error.error;
|
|
1489
|
+
}
|
|
1490
|
+
return null;
|
|
1491
|
+
}
|
|
1492
|
+
/**========================
|
|
1493
|
+
* PUBLIC LOGGER FUNCTIONS
|
|
1494
|
+
*=========================*/
|
|
1495
|
+
log(title, data) {
|
|
1496
|
+
this.onInfo({ title, data });
|
|
1497
|
+
}
|
|
1498
|
+
info(title, data) {
|
|
1499
|
+
this.onInfo({ title, data });
|
|
1500
|
+
}
|
|
1501
|
+
debug(title, data) {
|
|
1502
|
+
this.onDebug({ title, data });
|
|
1503
|
+
}
|
|
1504
|
+
warn(title, data) {
|
|
1505
|
+
this.onWarn({ title, data });
|
|
1506
|
+
}
|
|
1507
|
+
/**
|
|
1508
|
+
* @param errorOrData -
|
|
1509
|
+
* Previously was called "error" but since in the {@link Logger} interface, error is defined as object (which is the same thing as "any"), we treat it as of unknown type here for safety.
|
|
1510
|
+
* In a lot of places it's actually being used as a "data" prop, which also usually has an `.error` property representing an actual {@link Error} object.
|
|
1511
|
+
*/
|
|
1512
|
+
error(title, errorOrData, _data = {}) {
|
|
1513
|
+
const error = this.extractError(errorOrData) ?? void 0;
|
|
1514
|
+
const data = {
|
|
1515
|
+
..._data,
|
|
1516
|
+
...typeof errorOrData === "object" && errorOrData !== null ? errorOrData : {}
|
|
1517
|
+
};
|
|
1518
|
+
this.onError({ title, error, data });
|
|
1519
|
+
}
|
|
1520
|
+
configure(apiKey, isDebug, sdkVersion) {
|
|
1521
|
+
this.apiKey = apiKey;
|
|
1522
|
+
this.isDebugMode = isDebug;
|
|
1523
|
+
this.sdkVersion = sdkVersion;
|
|
1524
|
+
setDdogEnv(this.getFunLogEnv());
|
|
1525
|
+
}
|
|
1526
|
+
getUserId() {
|
|
1527
|
+
return this.userId;
|
|
1528
|
+
}
|
|
1529
|
+
getUserAddress() {
|
|
1530
|
+
return this.userAddress;
|
|
1531
|
+
}
|
|
1532
|
+
getUserName() {
|
|
1533
|
+
return this.userName;
|
|
1534
|
+
}
|
|
1535
|
+
getUserLoginType() {
|
|
1536
|
+
return this.userLoginType;
|
|
1537
|
+
}
|
|
1538
|
+
setUserInfo(userId, userAddress, userName, userLoginType) {
|
|
1539
|
+
this.userId = userId;
|
|
1540
|
+
this.userAddress = userAddress;
|
|
1541
|
+
this.userName = userName;
|
|
1542
|
+
this.userLoginType = userLoginType;
|
|
1543
|
+
}
|
|
1544
|
+
};
|
|
1545
|
+
datadogLogs.init({
|
|
1546
|
+
clientToken: DDOG_CLIENT_TOKEN,
|
|
1547
|
+
site: "datadoghq.com",
|
|
1548
|
+
forwardErrorsToLogs: false,
|
|
1549
|
+
sessionSampleRate: 100,
|
|
1550
|
+
service: "connect-sdk"
|
|
1551
|
+
});
|
|
1552
|
+
var logger = new FunLogger();
|
|
1553
|
+
|
|
1704
1554
|
// src/hooks/track/useTrack.ts
|
|
1705
1555
|
var stringifyValues = (metadata) => {
|
|
1706
1556
|
const normalizedMetadata = {};
|
|
@@ -1800,13 +1650,119 @@ var getWeb3AccountBalanceMessage = (t) => ({
|
|
|
1800
1650
|
[2 /* APPROVE_TRANSFER */]: (tokenSymbol) => t("checkoutConfirmation.confirmTokenTransfer", { tokenSymbol })
|
|
1801
1651
|
});
|
|
1802
1652
|
|
|
1653
|
+
// src/providers/FunkitConfigContext.tsx
|
|
1654
|
+
import { createContext as createContext5, useContext as useContext5, useMemo as useMemo5 } from "react";
|
|
1655
|
+
var DEFAULT_TEXT_CUSTOMIZATIONS = {
|
|
1656
|
+
virtualFiat: "Deposit with SEPA",
|
|
1657
|
+
brokerageOrExchange: "Connect Exchange",
|
|
1658
|
+
debitOrCredit: "Deposit with Card",
|
|
1659
|
+
accountBalance: "Wallet",
|
|
1660
|
+
selectAccount: "Select an exchange",
|
|
1661
|
+
sourceMethodTitle: "Your source",
|
|
1662
|
+
tokensListTitle: "Your tokens",
|
|
1663
|
+
transferTokens: "Transfer Crypto",
|
|
1664
|
+
receiveDropdownTitle: "",
|
|
1665
|
+
// Default to empty
|
|
1666
|
+
receiveDropdownLabel: "Asset to Receive",
|
|
1667
|
+
confirmationScreen: {
|
|
1668
|
+
payAmountLabel: "You send",
|
|
1669
|
+
receiveAmountLabel: "You receive"
|
|
1670
|
+
}
|
|
1671
|
+
};
|
|
1672
|
+
var DEFAULT_UI_CUSTOMIZATIONS = {
|
|
1673
|
+
alignTitle: "center",
|
|
1674
|
+
callToActionsUppercase: false,
|
|
1675
|
+
confirmationScreen: {
|
|
1676
|
+
preferDestinationWhenSame: false,
|
|
1677
|
+
showPaymentAmountUsd: false,
|
|
1678
|
+
showReceiveAmountUsd: false,
|
|
1679
|
+
showTokenAmount: true,
|
|
1680
|
+
showTransactionDigest: "none"
|
|
1681
|
+
},
|
|
1682
|
+
inputAmountScreen: {
|
|
1683
|
+
allowTokenAmountInput: true
|
|
1684
|
+
},
|
|
1685
|
+
selectAssetScreen: {
|
|
1686
|
+
showTargetAssetSelection: false
|
|
1687
|
+
},
|
|
1688
|
+
transferCryptoScreen: {
|
|
1689
|
+
showYouSendYouReceive: false
|
|
1690
|
+
}
|
|
1691
|
+
};
|
|
1692
|
+
var DEFAULT_FUNKIT_CONFIG = {
|
|
1693
|
+
apiKey: "",
|
|
1694
|
+
appName: "",
|
|
1695
|
+
textCustomizations: DEFAULT_TEXT_CUSTOMIZATIONS,
|
|
1696
|
+
uiCustomizations: DEFAULT_UI_CUSTOMIZATIONS
|
|
1697
|
+
};
|
|
1698
|
+
var FunkitConfigContext = createContext5(
|
|
1699
|
+
DEFAULT_FUNKIT_CONFIG
|
|
1700
|
+
);
|
|
1701
|
+
function useFunkitConfig() {
|
|
1702
|
+
const originalFunkitConfig = useContext5(FunkitConfigContext);
|
|
1703
|
+
const { t } = useFunkitTranslation();
|
|
1704
|
+
const translatedDefaults = useMemo5(() => {
|
|
1705
|
+
return {
|
|
1706
|
+
virtualFiat: t("textCustomizations.virtualFiat"),
|
|
1707
|
+
brokerageOrExchange: t("textCustomizations.brokerageOrExchange"),
|
|
1708
|
+
debitOrCredit: t("textCustomizations.debitOrCredit"),
|
|
1709
|
+
accountBalance: t("textCustomizations.accountBalance"),
|
|
1710
|
+
selectAccount: t("textCustomizations.selectAccount"),
|
|
1711
|
+
sourceMethodTitle: t("textCustomizations.sourceMethodTitle"),
|
|
1712
|
+
tokensListTitle: t("textCustomizations.tokensListTitle"),
|
|
1713
|
+
transferTokens: t("textCustomizations.transferTokens"),
|
|
1714
|
+
receiveDropdownTitle: t("textCustomizations.receiveDropdownTitle"),
|
|
1715
|
+
receiveDropdownLabel: t("textCustomizations.receiveDropdownLabel"),
|
|
1716
|
+
confirmationScreen: {
|
|
1717
|
+
payAmountLabel: t("textCustomizations.payAmountLabel"),
|
|
1718
|
+
receiveAmountLabel: t("textCustomizations.receiveAmountLabel")
|
|
1719
|
+
}
|
|
1720
|
+
};
|
|
1721
|
+
}, [t]);
|
|
1722
|
+
const finalFunkitConfig = useMemo5(() => {
|
|
1723
|
+
return {
|
|
1724
|
+
...DEFAULT_FUNKIT_CONFIG,
|
|
1725
|
+
...originalFunkitConfig,
|
|
1726
|
+
textCustomizations: {
|
|
1727
|
+
...translatedDefaults,
|
|
1728
|
+
...originalFunkitConfig.textCustomizations,
|
|
1729
|
+
confirmationScreen: {
|
|
1730
|
+
...translatedDefaults.confirmationScreen,
|
|
1731
|
+
...originalFunkitConfig.textCustomizations?.confirmationScreen
|
|
1732
|
+
}
|
|
1733
|
+
},
|
|
1734
|
+
uiCustomizations: {
|
|
1735
|
+
...DEFAULT_FUNKIT_CONFIG.uiCustomizations,
|
|
1736
|
+
...originalFunkitConfig.uiCustomizations,
|
|
1737
|
+
selectAssetScreen: {
|
|
1738
|
+
...DEFAULT_FUNKIT_CONFIG.uiCustomizations.selectAssetScreen,
|
|
1739
|
+
...originalFunkitConfig.uiCustomizations?.selectAssetScreen
|
|
1740
|
+
},
|
|
1741
|
+
confirmationScreen: {
|
|
1742
|
+
...DEFAULT_FUNKIT_CONFIG.uiCustomizations.confirmationScreen,
|
|
1743
|
+
...originalFunkitConfig.uiCustomizations?.confirmationScreen
|
|
1744
|
+
},
|
|
1745
|
+
inputAmountScreen: {
|
|
1746
|
+
...DEFAULT_FUNKIT_CONFIG.uiCustomizations.inputAmountScreen,
|
|
1747
|
+
...originalFunkitConfig.uiCustomizations?.inputAmountScreen
|
|
1748
|
+
},
|
|
1749
|
+
transferCryptoScreen: {
|
|
1750
|
+
...DEFAULT_FUNKIT_CONFIG.uiCustomizations.transferCryptoScreen,
|
|
1751
|
+
...originalFunkitConfig.uiCustomizations?.transferCryptoScreen
|
|
1752
|
+
}
|
|
1753
|
+
}
|
|
1754
|
+
};
|
|
1755
|
+
}, [originalFunkitConfig, translatedDefaults]);
|
|
1756
|
+
return finalFunkitConfig;
|
|
1757
|
+
}
|
|
1758
|
+
|
|
1803
1759
|
// src/providers/GeneralWalletProvider.tsx
|
|
1804
1760
|
import { formatAddress as formatAddress2 } from "@funkit/utils";
|
|
1805
1761
|
import React17, {
|
|
1806
1762
|
createContext as createContext6,
|
|
1807
1763
|
useCallback as useCallback5,
|
|
1808
1764
|
useContext as useContext6,
|
|
1809
|
-
useEffect as
|
|
1765
|
+
useEffect as useEffect6,
|
|
1810
1766
|
useMemo as useMemo6,
|
|
1811
1767
|
useState as useState7
|
|
1812
1768
|
} from "react";
|
|
@@ -1906,6 +1862,22 @@ function formatENS(name) {
|
|
|
1906
1862
|
return `${parts.join(".")}.${last}`;
|
|
1907
1863
|
}
|
|
1908
1864
|
|
|
1865
|
+
// src/consts/funkit.ts
|
|
1866
|
+
import { FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS } from "@funkit/chains";
|
|
1867
|
+
var NATIVE_TOKEN = FUNKIT_CONNECT_CHECKOUT_NATIVE_CURRENCY_ADDRESS;
|
|
1868
|
+
var FUN_ORG_NAME = "Fun.xyz";
|
|
1869
|
+
var FUN_TERMS_URL = "https://fun.xyz/terms";
|
|
1870
|
+
var PLACEHOLDER_FUNKIT_USER_INFO = {
|
|
1871
|
+
id: "0x",
|
|
1872
|
+
address: "0x",
|
|
1873
|
+
name: "Guest",
|
|
1874
|
+
nameTruncated: "Guest",
|
|
1875
|
+
type: "unknown",
|
|
1876
|
+
typeLabel: "",
|
|
1877
|
+
iconSrc: "",
|
|
1878
|
+
isConnected: false
|
|
1879
|
+
};
|
|
1880
|
+
|
|
1909
1881
|
// src/hooks/useSymbolRefresh.ts
|
|
1910
1882
|
import { useState as useState6 } from "react";
|
|
1911
1883
|
function useSymbolRefresh() {
|
|
@@ -1984,7 +1956,7 @@ function GeneralWalletProvider({ children }) {
|
|
|
1984
1956
|
apiKey,
|
|
1985
1957
|
externalUserId
|
|
1986
1958
|
]);
|
|
1987
|
-
|
|
1959
|
+
useEffect6(() => {
|
|
1988
1960
|
if (userInfo.id !== logger.getUserId() || userInfo.address !== logger.getUserAddress() || userInfo.name !== logger.getUserName() || userInfo.type !== logger.getUserLoginType()) {
|
|
1989
1961
|
logger.log("settingUserInfo", userInfo);
|
|
1990
1962
|
updateUserAsync(userInfo, apiKey).catch(
|
|
@@ -2202,7 +2174,7 @@ import { useQuery as useQuery2 } from "@tanstack/react-query";
|
|
|
2202
2174
|
import React18, {
|
|
2203
2175
|
createContext as createContext7,
|
|
2204
2176
|
useContext as useContext7,
|
|
2205
|
-
useEffect as
|
|
2177
|
+
useEffect as useEffect7,
|
|
2206
2178
|
useMemo as useMemo8
|
|
2207
2179
|
} from "react";
|
|
2208
2180
|
|
|
@@ -2372,12 +2344,12 @@ var flagConfig = {
|
|
|
2372
2344
|
POLYMARKET_API_KEY2,
|
|
2373
2345
|
KATANA_API_KEY2,
|
|
2374
2346
|
HYPERBEAT_API_KEY2,
|
|
2375
|
-
HYPERDASH_API_KEY2
|
|
2347
|
+
HYPERDASH_API_KEY2,
|
|
2348
|
+
FELIX_API_KEY
|
|
2376
2349
|
]
|
|
2377
2350
|
}
|
|
2378
2351
|
],
|
|
2379
|
-
// Turn off
|
|
2380
|
-
// These clients will handle the conditional display of the Deposit button.
|
|
2352
|
+
// Turn off geoblocks for client who will be handling the conditional display of the Deposit button.
|
|
2381
2353
|
value: ""
|
|
2382
2354
|
}
|
|
2383
2355
|
]
|
|
@@ -2967,10 +2939,10 @@ var flagConfig = {
|
|
|
2967
2939
|
type: "string",
|
|
2968
2940
|
default_value: JSON.stringify({
|
|
2969
2941
|
// EXAMPLE:
|
|
2970
|
-
// [
|
|
2942
|
+
// [solanaChain.id]: [
|
|
2971
2943
|
// {
|
|
2972
2944
|
// message:
|
|
2973
|
-
// '
|
|
2945
|
+
// 'Solana deposits are taking longer than usual to process. Your funds are safe.',
|
|
2974
2946
|
// type: 'alert',
|
|
2975
2947
|
// },
|
|
2976
2948
|
// ],
|
|
@@ -3253,12 +3225,12 @@ function FunkitFlagsProvider({ children }) {
|
|
|
3253
3225
|
isLoading
|
|
3254
3226
|
};
|
|
3255
3227
|
}, [error, flags, isLoading]);
|
|
3256
|
-
|
|
3228
|
+
useEffect7(() => {
|
|
3257
3229
|
if (!isLoading) {
|
|
3258
3230
|
datadogLogs2.setGlobalContextProperty("flags", flags);
|
|
3259
3231
|
}
|
|
3260
3232
|
}, [flags, isLoading]);
|
|
3261
|
-
|
|
3233
|
+
useEffect7(() => {
|
|
3262
3234
|
if (error) {
|
|
3263
3235
|
logger.error("flag_initError", error);
|
|
3264
3236
|
}
|
|
@@ -3753,7 +3725,7 @@ import React19, {
|
|
|
3753
3725
|
createContext as createContext8,
|
|
3754
3726
|
useCallback as useCallback9,
|
|
3755
3727
|
useContext as useContext8,
|
|
3756
|
-
useEffect as
|
|
3728
|
+
useEffect as useEffect8,
|
|
3757
3729
|
useRef as useRef2,
|
|
3758
3730
|
useState as useState8
|
|
3759
3731
|
} from "react";
|
|
@@ -4006,12 +3978,12 @@ function FunkitCheckoutHistoryProvider({
|
|
|
4006
3978
|
isUserLoggedIn,
|
|
4007
3979
|
userInfo
|
|
4008
3980
|
]);
|
|
4009
|
-
|
|
3981
|
+
useEffect8(() => {
|
|
4010
3982
|
if (isListening && (isUserLoggedIn || isGuestUserOnCheckoutHistory)) {
|
|
4011
3983
|
_refreshCheckoutHistory();
|
|
4012
3984
|
}
|
|
4013
3985
|
}, [refreshSymbol, isUserLoggedIn]);
|
|
4014
|
-
|
|
3986
|
+
useEffect8(() => {
|
|
4015
3987
|
if (isNotNullish(logoutSymbol) && isInited) {
|
|
4016
3988
|
setIsInited(false);
|
|
4017
3989
|
setCheckoutHistoryList([]);
|
|
@@ -4127,7 +4099,7 @@ var useFunkitPostCheckoutInternal = (checkoutId) => {
|
|
|
4127
4099
|
if (!checkoutId || !isHex(checkoutId)) {
|
|
4128
4100
|
throw new Error("Invalid checkout ID");
|
|
4129
4101
|
}
|
|
4130
|
-
|
|
4102
|
+
useEffect8(() => {
|
|
4131
4103
|
const setupCheckoutHistory = async () => {
|
|
4132
4104
|
if (checkoutId === "0x") {
|
|
4133
4105
|
return;
|
|
@@ -4193,7 +4165,7 @@ import React233, {
|
|
|
4193
4165
|
createContext as createContext16,
|
|
4194
4166
|
useCallback as useCallback48,
|
|
4195
4167
|
useContext as useContext16,
|
|
4196
|
-
useEffect as
|
|
4168
|
+
useEffect as useEffect54,
|
|
4197
4169
|
useMemo as useMemo46,
|
|
4198
4170
|
useState as useState73
|
|
4199
4171
|
} from "react";
|
|
@@ -4274,7 +4246,7 @@ function getCheckoutStateBooleans(checkoutState, refundState) {
|
|
|
4274
4246
|
}
|
|
4275
4247
|
|
|
4276
4248
|
// src/components/FunCheckoutHistory/FunCheckoutStatus.tsx
|
|
4277
|
-
import React27, { useEffect as
|
|
4249
|
+
import React27, { useEffect as useEffect11, useMemo as useMemo12, useState as useState11 } from "react";
|
|
4278
4250
|
|
|
4279
4251
|
// src/components/TransactionStatus/TransactionStatus.tsx
|
|
4280
4252
|
import {
|
|
@@ -4284,7 +4256,7 @@ import {
|
|
|
4284
4256
|
} from "motion/react";
|
|
4285
4257
|
import React26, {
|
|
4286
4258
|
useCallback as useCallback10,
|
|
4287
|
-
useEffect as
|
|
4259
|
+
useEffect as useEffect10,
|
|
4288
4260
|
useMemo as useMemo11,
|
|
4289
4261
|
useRef as useRef3,
|
|
4290
4262
|
useState as useState10
|
|
@@ -4292,7 +4264,7 @@ import React26, {
|
|
|
4292
4264
|
import { Trans } from "react-i18next";
|
|
4293
4265
|
|
|
4294
4266
|
// src/providers/FunkitThemeProvider.tsx
|
|
4295
|
-
import React20, { createContext as createContext9, useContext as useContext9, useEffect as
|
|
4267
|
+
import React20, { createContext as createContext9, useContext as useContext9, useEffect as useEffect9, useState as useState9 } from "react";
|
|
4296
4268
|
var FUNKIT_THEME_CACHE_KEY = "funkit-connect-is-light";
|
|
4297
4269
|
var DEFAULT_THEME_SET = {
|
|
4298
4270
|
lightTheme: lightTheme(),
|
|
@@ -4375,7 +4347,7 @@ var FunkitThemeProvider = ({
|
|
|
4375
4347
|
const [activeTheme, setActiveTheme] = useState9(
|
|
4376
4348
|
getConfigTheme(themeOrThemeSet, systemColorScheme)
|
|
4377
4349
|
);
|
|
4378
|
-
|
|
4350
|
+
useEffect9(() => {
|
|
4379
4351
|
const handler = (e) => {
|
|
4380
4352
|
const colorScheme = e.matches ? "light" : "dark";
|
|
4381
4353
|
setSystemColorScheme(colorScheme);
|
|
@@ -4392,7 +4364,7 @@ var FunkitThemeProvider = ({
|
|
|
4392
4364
|
};
|
|
4393
4365
|
}
|
|
4394
4366
|
}, []);
|
|
4395
|
-
|
|
4367
|
+
useEffect9(() => {
|
|
4396
4368
|
setActiveTheme(getConfigTheme(themeOrThemeSet, systemColorScheme));
|
|
4397
4369
|
}, [systemColorScheme, themeOrThemeSet]);
|
|
4398
4370
|
const isFullThemeSet = isThemeSet(themeOrThemeSet);
|
|
@@ -5112,12 +5084,12 @@ function TransactionStatus({
|
|
|
5112
5084
|
},
|
|
5113
5085
|
[animate]
|
|
5114
5086
|
);
|
|
5115
|
-
|
|
5087
|
+
useEffect10(() => {
|
|
5116
5088
|
if (initialStatus === "progress") {
|
|
5117
5089
|
startSpinning(initialStep);
|
|
5118
5090
|
}
|
|
5119
5091
|
}, [initialStatus, initialStep, startSpinning]);
|
|
5120
|
-
|
|
5092
|
+
useEffect10(() => {
|
|
5121
5093
|
if (transitioningToStatus !== currentStatus || transitioningToStep !== currentStep) {
|
|
5122
5094
|
return;
|
|
5123
5095
|
}
|
|
@@ -5487,14 +5459,14 @@ function FunCheckoutStatusLoaded({
|
|
|
5487
5459
|
[activeCheckoutItem, checkoutHistoryItem]
|
|
5488
5460
|
);
|
|
5489
5461
|
const [currentTimeMs, setCurrentTimeMs] = useState11(Date.now());
|
|
5490
|
-
|
|
5462
|
+
useEffect11(() => {
|
|
5491
5463
|
const interval = setInterval(() => setCurrentTimeMs(Date.now()), 1e3);
|
|
5492
5464
|
return () => clearInterval(interval);
|
|
5493
5465
|
}, []);
|
|
5494
5466
|
const onOrderDelayedEvent = useEffectEvent(() => onOrderDelayed?.());
|
|
5495
5467
|
const elapsedSeconds = (currentTimeMs - startTimeMs) / 1e3;
|
|
5496
5468
|
const isNewlyDelayed = isProcessing && elapsedSeconds >= 60;
|
|
5497
|
-
|
|
5469
|
+
useEffect11(() => {
|
|
5498
5470
|
if (isNewlyDelayed) {
|
|
5499
5471
|
onOrderDelayedEvent();
|
|
5500
5472
|
}
|
|
@@ -5526,7 +5498,7 @@ function extractStartTimeMs(historyCheckoutItemId, activeCheckoutItem, { created
|
|
|
5526
5498
|
}
|
|
5527
5499
|
|
|
5528
5500
|
// src/components/FunCheckoutHistory/FunDirectExecutionStatus.tsx
|
|
5529
|
-
import React28, { useEffect as
|
|
5501
|
+
import React28, { useEffect as useEffect12, useState as useState12 } from "react";
|
|
5530
5502
|
|
|
5531
5503
|
// src/hooks/useCheckoutTimeEstimate.ts
|
|
5532
5504
|
import { FlagKey as FlagKey5 } from "@funkit/utils";
|
|
@@ -5609,7 +5581,7 @@ function FunDirectExecutionStatusLoaded({
|
|
|
5609
5581
|
const progress = getCheckoutProgress(directExecution.clientMetadata.id);
|
|
5610
5582
|
const startTimeMs = directExecution.createdTimeMs;
|
|
5611
5583
|
const [currentTimeMs, setCurrentTimeMs] = useState12(Date.now());
|
|
5612
|
-
|
|
5584
|
+
useEffect12(() => {
|
|
5613
5585
|
const interval = setInterval(() => setCurrentTimeMs(Date.now()), 1e3);
|
|
5614
5586
|
return () => clearInterval(interval);
|
|
5615
5587
|
}, []);
|
|
@@ -5868,7 +5840,7 @@ import clsx7 from "clsx";
|
|
|
5868
5840
|
import React45, {
|
|
5869
5841
|
useCallback as useCallback12,
|
|
5870
5842
|
useContext as useContext10,
|
|
5871
|
-
useEffect as
|
|
5843
|
+
useEffect as useEffect17,
|
|
5872
5844
|
useRef as useRef7
|
|
5873
5845
|
} from "react";
|
|
5874
5846
|
import { createPortal } from "react-dom";
|
|
@@ -5876,13 +5848,13 @@ import { RemoveScroll } from "react-remove-scroll";
|
|
|
5876
5848
|
import { AnimatePresence as AnimatePresence2, motion as motion3 } from "motion/react";
|
|
5877
5849
|
|
|
5878
5850
|
// src/hooks/useScrollDivider.ts
|
|
5879
|
-
import { useEffect as
|
|
5851
|
+
import { useEffect as useEffect13, useRef as useRef5, useState as useState14 } from "react";
|
|
5880
5852
|
var useScrollDivider = () => {
|
|
5881
5853
|
const ref = useRef5(null);
|
|
5882
5854
|
const [isTop, setIsTop] = useState14(true);
|
|
5883
5855
|
const [isScrollable, setIsScrollable] = useState14(false);
|
|
5884
5856
|
const [isScrolling, setIsScrolling] = useState14(false);
|
|
5885
|
-
|
|
5857
|
+
useEffect13(() => {
|
|
5886
5858
|
const content2 = ref.current;
|
|
5887
5859
|
if (!content2 || !window.ResizeObserver) {
|
|
5888
5860
|
return;
|
|
@@ -6495,11 +6467,17 @@ var FunTechnologyLogo = () => {
|
|
|
6495
6467
|
);
|
|
6496
6468
|
};
|
|
6497
6469
|
|
|
6470
|
+
// src/components/FunPoweredTagline/FunPoweredTagline.css.ts
|
|
6471
|
+
var taglineBorderTop = "_1wdgk6i0";
|
|
6472
|
+
|
|
6498
6473
|
// src/components/FunPoweredTagline/FunPoweredTagline.tsx
|
|
6499
|
-
function FunPoweredTagline(
|
|
6474
|
+
function FunPoweredTagline({
|
|
6475
|
+
enableBorderTop = true
|
|
6476
|
+
}) {
|
|
6500
6477
|
return /* @__PURE__ */ React39.createElement(
|
|
6501
6478
|
Box,
|
|
6502
6479
|
{
|
|
6480
|
+
className: enableBorderTop ? taglineBorderTop : void 0,
|
|
6503
6481
|
display: "flex",
|
|
6504
6482
|
flexDirection: "row",
|
|
6505
6483
|
justifyContent: "center",
|
|
@@ -6677,7 +6655,7 @@ function FunDivider({
|
|
|
6677
6655
|
}
|
|
6678
6656
|
|
|
6679
6657
|
// src/components/Dialog/FocusTrap.tsx
|
|
6680
|
-
import React44, { useCallback as useCallback11, useEffect as
|
|
6658
|
+
import React44, { useCallback as useCallback11, useEffect as useEffect14, useRef as useRef6 } from "react";
|
|
6681
6659
|
var moveFocusWithin = (element2, position) => {
|
|
6682
6660
|
const focusableElements = element2.querySelectorAll(
|
|
6683
6661
|
"button:not(:disabled), a[href]"
|
|
@@ -6689,14 +6667,14 @@ var moveFocusWithin = (element2, position) => {
|
|
|
6689
6667
|
};
|
|
6690
6668
|
function FocusTrap(props) {
|
|
6691
6669
|
const contentRef = useRef6(null);
|
|
6692
|
-
|
|
6670
|
+
useEffect14(() => {
|
|
6693
6671
|
const previouslyActiveElement = document.activeElement;
|
|
6694
6672
|
return () => {
|
|
6695
6673
|
;
|
|
6696
6674
|
previouslyActiveElement.focus?.();
|
|
6697
6675
|
};
|
|
6698
6676
|
}, []);
|
|
6699
|
-
|
|
6677
|
+
useEffect14(() => {
|
|
6700
6678
|
if (contentRef.current) {
|
|
6701
6679
|
const elementToFocus = contentRef.current.querySelector("[data-auto-focus]");
|
|
6702
6680
|
if (elementToFocus) {
|
|
@@ -6737,11 +6715,11 @@ function FocusTrap(props) {
|
|
|
6737
6715
|
}
|
|
6738
6716
|
|
|
6739
6717
|
// src/components/Dialog/hooks.ts
|
|
6740
|
-
import { useEffect as
|
|
6718
|
+
import { useEffect as useEffect16, useState as useState15 } from "react";
|
|
6741
6719
|
|
|
6742
6720
|
// src/hooks/useIsomorphicEffect.ts
|
|
6743
|
-
import { useEffect as
|
|
6744
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect :
|
|
6721
|
+
import { useEffect as useEffect15, useLayoutEffect } from "react";
|
|
6722
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect15;
|
|
6745
6723
|
|
|
6746
6724
|
// src/components/Dialog/hooks.ts
|
|
6747
6725
|
var MODAL_BOTTOM_BAR_WRAPPER_ID = "fun-modal-bottom-bar-wrapper";
|
|
@@ -6818,7 +6796,7 @@ function useBottomBarHasNoChildren() {
|
|
|
6818
6796
|
const withdrawalBottomBarElement = useWithdrawalBottomBarElement();
|
|
6819
6797
|
const connectWalletBottomBarElement = useConnectWalletBottomBarElement();
|
|
6820
6798
|
const [hasNoChildren, setHasNoChildren] = useState15(false);
|
|
6821
|
-
|
|
6799
|
+
useEffect16(() => {
|
|
6822
6800
|
const node = connectWalletBottomBarElement || checkoutBottomBarElement || withdrawalBottomBarElement || generalBottomBarElement;
|
|
6823
6801
|
if (!node) {
|
|
6824
6802
|
return;
|
|
@@ -6869,7 +6847,7 @@ function Dialog({
|
|
|
6869
6847
|
withTransition = true,
|
|
6870
6848
|
testId
|
|
6871
6849
|
}) {
|
|
6872
|
-
|
|
6850
|
+
useEffect17(() => {
|
|
6873
6851
|
const handleEscape = (event) => open && event.key === "Escape" && onClose();
|
|
6874
6852
|
if (isSmartCloseable) {
|
|
6875
6853
|
document.addEventListener("keydown", handleEscape);
|
|
@@ -7221,13 +7199,16 @@ Dialog.BottomBar = FunBottomBar;
|
|
|
7221
7199
|
|
|
7222
7200
|
// src/modals/WithdrwalModal/WithdrawalContent.tsx
|
|
7223
7201
|
import { RelayQuoteError } from "@funkit/api-base";
|
|
7224
|
-
import {
|
|
7202
|
+
import {
|
|
7203
|
+
FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO as FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO5,
|
|
7204
|
+
solanaChain as solanaChain4
|
|
7205
|
+
} from "@funkit/chains";
|
|
7225
7206
|
import {
|
|
7226
7207
|
FlagKey as FlagKey12,
|
|
7227
7208
|
formatCryptoAndStringify as formatCryptoAndStringify2,
|
|
7228
7209
|
formatCurrencyAndStringify as formatCurrencyAndStringify3
|
|
7229
7210
|
} from "@funkit/utils";
|
|
7230
|
-
import React72, { useEffect as
|
|
7211
|
+
import React72, { useEffect as useEffect28, useMemo as useMemo19, useRef as useRef14, useState as useState27 } from "react";
|
|
7231
7212
|
import { createPortal as createPortal2 } from "react-dom";
|
|
7232
7213
|
import { useDebounce } from "use-debounce";
|
|
7233
7214
|
import { useAccount as useAccount4 } from "wagmi";
|
|
@@ -7242,7 +7223,7 @@ import React59 from "react";
|
|
|
7242
7223
|
// src/components/FunTooltip/FunTooltip.tsx
|
|
7243
7224
|
import React47, {
|
|
7244
7225
|
useCallback as useCallback13,
|
|
7245
|
-
useEffect as
|
|
7226
|
+
useEffect as useEffect18,
|
|
7246
7227
|
useRef as useRef8,
|
|
7247
7228
|
useState as useState16
|
|
7248
7229
|
} from "react";
|
|
@@ -7348,13 +7329,13 @@ var FunTooltip = ({
|
|
|
7348
7329
|
setIsDisplayed(false);
|
|
7349
7330
|
}, hideDelay);
|
|
7350
7331
|
}, [hideDelay]);
|
|
7351
|
-
|
|
7332
|
+
useEffect18(() => {
|
|
7352
7333
|
return () => {
|
|
7353
7334
|
clearTimeout(delayRef.current);
|
|
7354
7335
|
clearTimeout(startDelayRef.current);
|
|
7355
7336
|
};
|
|
7356
7337
|
}, []);
|
|
7357
|
-
|
|
7338
|
+
useEffect18(() => {
|
|
7358
7339
|
if (!wrapperElementRef?.current || !tooltipRef.current || !enableDynamicPositioning) {
|
|
7359
7340
|
return;
|
|
7360
7341
|
}
|
|
@@ -7423,7 +7404,7 @@ var FunTooltip = ({
|
|
|
7423
7404
|
// src/components/Dropdown/BaseDropdown.tsx
|
|
7424
7405
|
import { isMobile as isMobile4, noop as noop2 } from "@funkit/utils";
|
|
7425
7406
|
import { AnimatePresence as AnimatePresence4, motion as motion5 } from "motion/react";
|
|
7426
|
-
import React56, { useCallback as useCallback14, useEffect as
|
|
7407
|
+
import React56, { useCallback as useCallback14, useEffect as useEffect21, useMemo as useMemo13, useRef as useRef10, useState as useState18 } from "react";
|
|
7427
7408
|
|
|
7428
7409
|
// src/consts/layout.ts
|
|
7429
7410
|
var VERTICAL_SECTION_GAP = "18";
|
|
@@ -7437,7 +7418,7 @@ var DROPDOWN_Z_INDEX = 10;
|
|
|
7437
7418
|
// src/components/FunInput/FunInput.tsx
|
|
7438
7419
|
import React49, {
|
|
7439
7420
|
forwardRef as forwardRef3,
|
|
7440
|
-
useEffect as
|
|
7421
|
+
useEffect as useEffect19,
|
|
7441
7422
|
useState as useState17
|
|
7442
7423
|
} from "react";
|
|
7443
7424
|
import clsx9 from "clsx";
|
|
@@ -7540,7 +7521,7 @@ var FunInput = forwardRef3(function FunInputWithRef({
|
|
|
7540
7521
|
};
|
|
7541
7522
|
};
|
|
7542
7523
|
const textareaRef = React49.useRef(null);
|
|
7543
|
-
|
|
7524
|
+
useEffect19(() => {
|
|
7544
7525
|
if (allowMultiline) {
|
|
7545
7526
|
adjustTextareaHeight(textareaRef.current);
|
|
7546
7527
|
}
|
|
@@ -7850,13 +7831,13 @@ var FunNoResults = ({
|
|
|
7850
7831
|
|
|
7851
7832
|
// src/components/FunSelect/FunClickOutside.tsx
|
|
7852
7833
|
import React53 from "react";
|
|
7853
|
-
import { useEffect as
|
|
7834
|
+
import { useEffect as useEffect20, useRef as useRef9 } from "react";
|
|
7854
7835
|
function FunClickOutside({
|
|
7855
7836
|
children,
|
|
7856
7837
|
onClick
|
|
7857
7838
|
}) {
|
|
7858
7839
|
const wrapperRef = useRef9(null);
|
|
7859
|
-
|
|
7840
|
+
useEffect20(() => {
|
|
7860
7841
|
const handleClickListener = (event) => {
|
|
7861
7842
|
const clickedInside = wrapperRef.current?.contains(
|
|
7862
7843
|
event.target
|
|
@@ -8071,7 +8052,7 @@ function BaseDropdown({
|
|
|
8071
8052
|
setIsOpened(true);
|
|
8072
8053
|
onOpen?.();
|
|
8073
8054
|
};
|
|
8074
|
-
|
|
8055
|
+
useEffect21(() => {
|
|
8075
8056
|
if (isOpened && !prevIsOpenedRef.current) {
|
|
8076
8057
|
prevIsOpenedRef.current = true;
|
|
8077
8058
|
if (selectedOption) {
|
|
@@ -9035,7 +9016,7 @@ import {
|
|
|
9035
9016
|
formatPercent,
|
|
9036
9017
|
noop as noop4
|
|
9037
9018
|
} from "@funkit/utils";
|
|
9038
|
-
import React67, { useEffect as
|
|
9019
|
+
import React67, { useEffect as useEffect22, useMemo as useMemo15, useState as useState20 } from "react";
|
|
9039
9020
|
import clsx14 from "clsx";
|
|
9040
9021
|
import { motion as motion6, useAnimationControls } from "motion/react";
|
|
9041
9022
|
import { mainnet as mainnet4 } from "viem/chains";
|
|
@@ -9516,7 +9497,7 @@ function PaymentFeesSummary({
|
|
|
9516
9497
|
}
|
|
9517
9498
|
}
|
|
9518
9499
|
};
|
|
9519
|
-
|
|
9500
|
+
useEffect22(() => {
|
|
9520
9501
|
if (valuesNotAvailable && isExpanded) {
|
|
9521
9502
|
setIsExpanded(false);
|
|
9522
9503
|
}
|
|
@@ -9875,12 +9856,6 @@ async function getCheckoutBaseQuote(checkoutItem, userId, walletAddress, apiKey,
|
|
|
9875
9856
|
config: checkoutItem.initSettings.config,
|
|
9876
9857
|
walletAddress
|
|
9877
9858
|
}),
|
|
9878
|
-
// Ensure we are sending in a number
|
|
9879
|
-
expirationTimestampMs: Number.parseInt(
|
|
9880
|
-
String(
|
|
9881
|
-
checkoutItem.initSettings.config.expirationTimestampMs || 15 * 60 * 1e3
|
|
9882
|
-
)
|
|
9883
|
-
),
|
|
9884
9859
|
// as part of deprecating funWallet, we set sponsorInitialTransferGasLimit to 0
|
|
9885
9860
|
sponsorInitialTransferGasLimit: "0",
|
|
9886
9861
|
apiKey,
|
|
@@ -10218,7 +10193,7 @@ function useWithdrawalQuote({
|
|
|
10218
10193
|
|
|
10219
10194
|
// src/hooks/queries/useWithdrawalRisk.ts
|
|
10220
10195
|
import { useQuery as useQuery7 } from "@tanstack/react-query";
|
|
10221
|
-
import { useEffect as
|
|
10196
|
+
import { useEffect as useEffect23, useRef as useRef11 } from "react";
|
|
10222
10197
|
import { isAddress as isAddress2 } from "viem";
|
|
10223
10198
|
var useWithdrawalRisk = (apiKey, receiveAddress) => {
|
|
10224
10199
|
const lastRiskyAddressRef = useRef11(null);
|
|
@@ -10240,7 +10215,7 @@ var useWithdrawalRisk = (apiKey, receiveAddress) => {
|
|
|
10240
10215
|
refetchOnReconnect: false,
|
|
10241
10216
|
refetchOnWindowFocus: false
|
|
10242
10217
|
});
|
|
10243
|
-
|
|
10218
|
+
useEffect23(() => {
|
|
10244
10219
|
if (query.data !== true) {
|
|
10245
10220
|
return;
|
|
10246
10221
|
}
|
|
@@ -10383,7 +10358,7 @@ var useAssetSymbolPrice = ({
|
|
|
10383
10358
|
|
|
10384
10359
|
// src/hooks/useTokenChain.ts
|
|
10385
10360
|
import { FlagKey as FlagKey10 } from "@funkit/utils";
|
|
10386
|
-
import { useEffect as
|
|
10361
|
+
import { useEffect as useEffect24, useState as useState21 } from "react";
|
|
10387
10362
|
import { polygon as polygon2 } from "viem/chains";
|
|
10388
10363
|
|
|
10389
10364
|
// src/hooks/useEnabledTokenTransferChainTokens.ts
|
|
@@ -10456,7 +10431,7 @@ var useTokenAndChainSelection = (transferInit, defaultValues, isWithdrawal) => {
|
|
|
10456
10431
|
const selectedChainName = chainMetadataById[selectedChainId]?.name ?? "";
|
|
10457
10432
|
const defaultSelectedToken = defaultValues?.token ?? filteredAssets?.[selectedChainId]?.[0] ?? "";
|
|
10458
10433
|
const [selectedToken, setSelectedToken] = useState21(defaultSelectedToken);
|
|
10459
|
-
|
|
10434
|
+
useEffect24(
|
|
10460
10435
|
() => setSelectedChainId(validDefaultChainId),
|
|
10461
10436
|
[validDefaultChainId]
|
|
10462
10437
|
);
|
|
@@ -10748,11 +10723,11 @@ function usePreparedWalletConnectors() {
|
|
|
10748
10723
|
import { useState as useState26 } from "react";
|
|
10749
10724
|
|
|
10750
10725
|
// src/hooks/useAutoClearState.ts
|
|
10751
|
-
import { useCallback as useCallback15, useEffect as
|
|
10726
|
+
import { useCallback as useCallback15, useEffect as useEffect25, useRef as useRef12, useState as useState22 } from "react";
|
|
10752
10727
|
function useAutoClearState(initialValue = null) {
|
|
10753
10728
|
const [state, setState] = useState22(initialValue);
|
|
10754
10729
|
const timeoutRef = useRef12();
|
|
10755
|
-
|
|
10730
|
+
useEffect25(() => {
|
|
10756
10731
|
return () => {
|
|
10757
10732
|
if (timeoutRef.current !== void 0) {
|
|
10758
10733
|
clearTimeout(timeoutRef.current);
|
|
@@ -10860,7 +10835,7 @@ import React70, {
|
|
|
10860
10835
|
createContext as createContext13,
|
|
10861
10836
|
useCallback as useCallback17,
|
|
10862
10837
|
useContext as useContext13,
|
|
10863
|
-
useEffect as
|
|
10838
|
+
useEffect as useEffect27,
|
|
10864
10839
|
useState as useState24
|
|
10865
10840
|
} from "react";
|
|
10866
10841
|
import { useConfig as useConfig3 } from "wagmi";
|
|
@@ -11304,7 +11279,7 @@ import {
|
|
|
11304
11279
|
import { safeParseJson as safeParseJson3 } from "@funkit/utils";
|
|
11305
11280
|
import React69, {
|
|
11306
11281
|
useContext as useContext12,
|
|
11307
|
-
useEffect as
|
|
11282
|
+
useEffect as useEffect26,
|
|
11308
11283
|
useMemo as useMemo17,
|
|
11309
11284
|
useRef as useRef13,
|
|
11310
11285
|
useState as useState23
|
|
@@ -11356,11 +11331,11 @@ var FunkitBrokerageProvider = ({
|
|
|
11356
11331
|
const [isConnected, setIsConnected] = useState23(
|
|
11357
11332
|
() => initialIsConnected
|
|
11358
11333
|
);
|
|
11359
|
-
|
|
11334
|
+
useEffect26(() => {
|
|
11360
11335
|
const initialConnections = getAuthConnectedExchanges();
|
|
11361
11336
|
setAuthConnections(initialConnections);
|
|
11362
11337
|
}, []);
|
|
11363
|
-
|
|
11338
|
+
useEffect26(() => {
|
|
11364
11339
|
if (bluvoClient.withdrawal?.status === "completed") {
|
|
11365
11340
|
setSelectedBrokerageAsset(null);
|
|
11366
11341
|
}
|
|
@@ -11692,7 +11667,7 @@ function FunkitQuoteProvider({ children }) {
|
|
|
11692
11667
|
const [quoteErrorMessage, setQuoteErrorMessage] = useState24("");
|
|
11693
11668
|
const { getBluvoCheckoutQuote } = useBluvoCheckoutQuote();
|
|
11694
11669
|
const { selectedBrokerageAsset } = useFunkitBrokerageContext();
|
|
11695
|
-
|
|
11670
|
+
useEffect27(() => {
|
|
11696
11671
|
if (isNotNullish3(logoutSymbol)) {
|
|
11697
11672
|
setLatestQuote(null);
|
|
11698
11673
|
setQuoteProgress({
|
|
@@ -12350,7 +12325,7 @@ function useShowConnectWallet({
|
|
|
12350
12325
|
const withdrawalWalletAddress = "wallet" in config ? config.wallet.address() : "0x";
|
|
12351
12326
|
const { isConnected, address: connectedWalletAddress } = useAccount4();
|
|
12352
12327
|
const showUseConnected = !config.disableConnectedWallet && isConnected && connectedWalletAddress && withdrawalWalletAddress.toLowerCase() !== connectedWalletAddress.toLowerCase();
|
|
12353
|
-
|
|
12328
|
+
useEffect28(() => {
|
|
12354
12329
|
logger.debug("withdrawalContent:showUseConnected", {
|
|
12355
12330
|
isConnected,
|
|
12356
12331
|
connectedWalletAddress,
|
|
@@ -12417,12 +12392,12 @@ var WithdrawContent = ({
|
|
|
12417
12392
|
refetchInterval: PRICE_REFRESH_INTERVAL
|
|
12418
12393
|
});
|
|
12419
12394
|
const targetAssetAmount = targetUnitPrice ? Number(debouncedUSD) / targetUnitPrice : void 0;
|
|
12420
|
-
|
|
12395
|
+
useEffect28(() => {
|
|
12421
12396
|
setTimeout(() => {
|
|
12422
12397
|
updateTargetAssetAmount(targetAssetAmount ?? 0);
|
|
12423
12398
|
}, 0);
|
|
12424
12399
|
}, [targetAssetAmount, updateTargetAssetAmount]);
|
|
12425
|
-
|
|
12400
|
+
useEffect28(() => {
|
|
12426
12401
|
if (!targetAssetInfo) {
|
|
12427
12402
|
return;
|
|
12428
12403
|
}
|
|
@@ -12456,7 +12431,7 @@ var WithdrawContent = ({
|
|
|
12456
12431
|
onContinue(withdrawal, txHash);
|
|
12457
12432
|
}
|
|
12458
12433
|
});
|
|
12459
|
-
|
|
12434
|
+
useEffect28(() => {
|
|
12460
12435
|
if (!isPlaceholderData && !isQuoteLoading && isInstantQuoting && confirmingQuote) {
|
|
12461
12436
|
setTimeout(() => {
|
|
12462
12437
|
setConfirmingQuote(false);
|
|
@@ -12540,7 +12515,7 @@ var WithdrawContent = ({
|
|
|
12540
12515
|
const lastQuoteErrorRef = useRef14(null);
|
|
12541
12516
|
const lastRiskyRecipientRef = useRef14(null);
|
|
12542
12517
|
const lastBlacklistedRecipientRef = useRef14(null);
|
|
12543
|
-
|
|
12518
|
+
useEffect28(() => {
|
|
12544
12519
|
if (!targetAssetFetchError) {
|
|
12545
12520
|
return;
|
|
12546
12521
|
}
|
|
@@ -12555,7 +12530,7 @@ var WithdrawContent = ({
|
|
|
12555
12530
|
});
|
|
12556
12531
|
lastTargetAssetErrorRef.current = errorKey;
|
|
12557
12532
|
}, [targetAssetFetchError, selectedChainId, selectedToken]);
|
|
12558
|
-
|
|
12533
|
+
useEffect28(() => {
|
|
12559
12534
|
if (!quoteErrorObject) {
|
|
12560
12535
|
return;
|
|
12561
12536
|
}
|
|
@@ -12581,7 +12556,7 @@ var WithdrawContent = ({
|
|
|
12581
12556
|
recipientAddress,
|
|
12582
12557
|
debouncedUSD
|
|
12583
12558
|
]);
|
|
12584
|
-
|
|
12559
|
+
useEffect28(() => {
|
|
12585
12560
|
if (!isRisky) {
|
|
12586
12561
|
return;
|
|
12587
12562
|
}
|
|
@@ -12596,7 +12571,7 @@ var WithdrawContent = ({
|
|
|
12596
12571
|
});
|
|
12597
12572
|
lastRiskyRecipientRef.current = warningKey;
|
|
12598
12573
|
}, [isRisky, recipientAddress, selectedChainId, selectedToken]);
|
|
12599
|
-
|
|
12574
|
+
useEffect28(() => {
|
|
12600
12575
|
if (!isReceipentBlacklisted) {
|
|
12601
12576
|
return;
|
|
12602
12577
|
}
|
|
@@ -12645,6 +12620,8 @@ var WithdrawContent = ({
|
|
|
12645
12620
|
[quoteErrorObject, targetAssetFetchError, withdrawalError, t]
|
|
12646
12621
|
);
|
|
12647
12622
|
const isRiskyAddress = !!isRisky && !isCheckingAddressRisk;
|
|
12623
|
+
const isSolanaChain = selectedChainId === solanaChain4.id;
|
|
12624
|
+
const recipientAddressPlaceholder = isSolanaChain ? t("withdrawal.enterRecipientAddress")[0] + t("withdrawal.enterRecipientAddress").slice(1).toLowerCase() : "0x...";
|
|
12648
12625
|
return /* @__PURE__ */ React72.createElement(Box, { id: "withdrawal-flow", display: "flex", flexDirection: "column", gap: "18" }, /* @__PURE__ */ React72.createElement(
|
|
12649
12626
|
WithdrawRecipientAddress,
|
|
12650
12627
|
{
|
|
@@ -12653,7 +12630,8 @@ var WithdrawContent = ({
|
|
|
12653
12630
|
setRecipientAddress,
|
|
12654
12631
|
selectedToken,
|
|
12655
12632
|
selectedChainId,
|
|
12656
|
-
isRiskyAddress
|
|
12633
|
+
isRiskyAddress,
|
|
12634
|
+
placeholder: recipientAddressPlaceholder
|
|
12657
12635
|
}
|
|
12658
12636
|
), /* @__PURE__ */ React72.createElement(
|
|
12659
12637
|
WithdrawAmountInput,
|
|
@@ -12730,7 +12708,8 @@ function WithdrawRecipientAddress({
|
|
|
12730
12708
|
setRecipientAddress,
|
|
12731
12709
|
selectedChainId,
|
|
12732
12710
|
selectedToken,
|
|
12733
|
-
isRiskyAddress
|
|
12711
|
+
isRiskyAddress,
|
|
12712
|
+
placeholder = "0x..."
|
|
12734
12713
|
}) {
|
|
12735
12714
|
const { t } = useFunkitTranslation();
|
|
12736
12715
|
const isValidAddress = isAddressSupported(recipientAddress);
|
|
@@ -12771,7 +12750,7 @@ function WithdrawRecipientAddress({
|
|
|
12771
12750
|
value: recipientAddress,
|
|
12772
12751
|
onChange: handleAddressChange,
|
|
12773
12752
|
onBlur: handleAddressBlur,
|
|
12774
|
-
placeholder
|
|
12753
|
+
placeholder,
|
|
12775
12754
|
error: showAddressError ? t("withdrawal.invalidWalletAddress") : void 0,
|
|
12776
12755
|
suffix: showUseConnected ? /* @__PURE__ */ React72.createElement(
|
|
12777
12756
|
Box,
|
|
@@ -12963,7 +12942,7 @@ import { useAccount as useAccount5 } from "wagmi";
|
|
|
12963
12942
|
// src/components/FunPayments/FunPaymentMethods.tsx
|
|
12964
12943
|
import { BridgeCustomerStatus as BridgeCustomerStatus3 } from "@funkit/api-base";
|
|
12965
12944
|
import { FlagKey as FlagKey14, formatCurrencyAndStringify as formatCurrencyAndStringify4 } from "@funkit/utils";
|
|
12966
|
-
import React79, { useEffect as
|
|
12945
|
+
import React79, { useEffect as useEffect29 } from "react";
|
|
12967
12946
|
|
|
12968
12947
|
// src/domains/bridge.ts
|
|
12969
12948
|
import {
|
|
@@ -14550,7 +14529,7 @@ var ConnectedMeshPaymentMethodItem = ({
|
|
|
14550
14529
|
const hasLowBalance = !isPending && sourceBalance < getUsdMinAmount();
|
|
14551
14530
|
const isDisabled = isPending || !!isBalanceError || hasLowBalance;
|
|
14552
14531
|
const icon = isPending ? /* @__PURE__ */ React79.createElement(SpinnerIcon, { size: 20 }) : label.icon;
|
|
14553
|
-
|
|
14532
|
+
useEffect29(() => {
|
|
14554
14533
|
if (isPending) {
|
|
14555
14534
|
return;
|
|
14556
14535
|
}
|
|
@@ -15208,7 +15187,7 @@ var HelpAlert = ({ onHelp: onHelp2 }) => {
|
|
|
15208
15187
|
|
|
15209
15188
|
// src/modals/CheckoutModal/TransferToken/CheckoutNotifications.tsx
|
|
15210
15189
|
import clsx18 from "clsx";
|
|
15211
|
-
import React98, { useCallback as useCallback21, useEffect as
|
|
15190
|
+
import React98, { useCallback as useCallback21, useEffect as useEffect33, useMemo as useMemo23, useState as useState31 } from "react";
|
|
15212
15191
|
|
|
15213
15192
|
// src/components/FunNotificationBanner/FunNotificationShowMoreButton.tsx
|
|
15214
15193
|
import React88 from "react";
|
|
@@ -15376,10 +15355,10 @@ var useRecentDirectExecutions = ({
|
|
|
15376
15355
|
|
|
15377
15356
|
// src/hooks/useOnNewNotification.ts
|
|
15378
15357
|
import { safeParseJson as safeParseJson4 } from "@funkit/utils";
|
|
15379
|
-
import { useEffect as
|
|
15358
|
+
import { useEffect as useEffect30 } from "react";
|
|
15380
15359
|
var storageKey3 = "fkc-processed-notifications";
|
|
15381
15360
|
var useOnNewNotification = (combinedNotifications, cb) => {
|
|
15382
|
-
|
|
15361
|
+
useEffect30(() => {
|
|
15383
15362
|
const alreadyProcessed = safeParseJsonObject(
|
|
15384
15363
|
sessionStorage.getItem(storageKey3)
|
|
15385
15364
|
);
|
|
@@ -15429,7 +15408,7 @@ import { Trans as Trans3 } from "react-i18next";
|
|
|
15429
15408
|
import { CheckoutState as CheckoutState3 } from "@funkit/api-base";
|
|
15430
15409
|
import { SOLANA_MAINNET_CHAIN_ID } from "@funkit/chains";
|
|
15431
15410
|
import { formatAddress as formatAddress4, formatTimestamp } from "@funkit/utils";
|
|
15432
|
-
import React92, { useState as useState28, useRef as useRef16, useEffect as
|
|
15411
|
+
import React92, { useState as useState28, useRef as useRef16, useEffect as useEffect31 } from "react";
|
|
15433
15412
|
|
|
15434
15413
|
// src/utils/checkoutHistory.ts
|
|
15435
15414
|
var storageKey4 = "fkc-last-report-submit-time";
|
|
@@ -15582,7 +15561,7 @@ function StatusTag({ state, refundState, isDelayed: isDelayed2 }) {
|
|
|
15582
15561
|
const checkoutState = getCheckoutStateBooleans(state, refundState);
|
|
15583
15562
|
const [delayedCheckoutState, setDelayedCheckoutState] = useState28(checkoutState);
|
|
15584
15563
|
const { status, isCompleted, isRefundProceeded } = delayedCheckoutState;
|
|
15585
|
-
|
|
15564
|
+
useEffect31(() => {
|
|
15586
15565
|
const timeout = setTimeout(
|
|
15587
15566
|
() => {
|
|
15588
15567
|
setDelayedCheckoutState(getCheckoutStateBooleans(state, refundState));
|
|
@@ -15731,7 +15710,7 @@ var showMoreButtonStyle = "_4yitd93 _1rsrm2f12m _1rsrm2f1f _1rsrm2f1c _1rsrm2fm4
|
|
|
15731
15710
|
// src/components/FunNotificationBanner/FunNotificationBannerIcon.tsx
|
|
15732
15711
|
import clsx16 from "clsx";
|
|
15733
15712
|
import { motion as motion7, useAnimate as useAnimate2 } from "motion/react";
|
|
15734
|
-
import React93, { useCallback as useCallback19, useEffect as
|
|
15713
|
+
import React93, { useCallback as useCallback19, useEffect as useEffect32, useRef as useRef17 } from "react";
|
|
15735
15714
|
|
|
15736
15715
|
// src/components/FunNotificationBanner/FunNotificationBannerIcon.css.ts
|
|
15737
15716
|
var STATUS_SPINNER_BOTTOM_POSITION = -5;
|
|
@@ -16181,7 +16160,7 @@ var FunNotificationBannerIcon = ({
|
|
|
16181
16160
|
]);
|
|
16182
16161
|
}, [animate]);
|
|
16183
16162
|
const statusRef = useRef17(status);
|
|
16184
|
-
|
|
16163
|
+
useEffect32(() => {
|
|
16185
16164
|
if (statusRef.current !== status) {
|
|
16186
16165
|
if (statusRef.current === "processing" && status === "completed") {
|
|
16187
16166
|
triggerAnimationProcessingToCompleted();
|
|
@@ -17071,13 +17050,13 @@ var CheckoutNotifications = ({
|
|
|
17071
17050
|
isVisible,
|
|
17072
17051
|
memoizedFilterFunc: filterFunc
|
|
17073
17052
|
});
|
|
17074
|
-
|
|
17053
|
+
useEffect33(() => {
|
|
17075
17054
|
if (initialCheckouts || !checkouts) {
|
|
17076
17055
|
return;
|
|
17077
17056
|
}
|
|
17078
17057
|
setInitialCheckouts(checkouts);
|
|
17079
17058
|
}, [initialCheckouts, checkouts]);
|
|
17080
|
-
|
|
17059
|
+
useEffect33(() => {
|
|
17081
17060
|
if (initialDirectExecutions || !directExecutions) {
|
|
17082
17061
|
return;
|
|
17083
17062
|
}
|
|
@@ -17266,11 +17245,11 @@ import React100, { useCallback as useCallback22, useMemo as useMemo24, useState
|
|
|
17266
17245
|
import { createPortal as createPortal5 } from "react-dom";
|
|
17267
17246
|
|
|
17268
17247
|
// src/hooks/useFunListeners.ts
|
|
17269
|
-
import { useEffect as
|
|
17248
|
+
import { useEffect as useEffect34, useRef as useRef19 } from "react";
|
|
17270
17249
|
function useCheckoutHistoryListener(activate = true, singleDepositAddr) {
|
|
17271
17250
|
const activeIntervalRef = useRef19();
|
|
17272
17251
|
const { startCheckoutHistoryListener, stopCheckoutHistoryListener } = useCheckoutHistoryContext();
|
|
17273
|
-
|
|
17252
|
+
useEffect34(() => {
|
|
17274
17253
|
if (activate) {
|
|
17275
17254
|
const createdIntervalId = startCheckoutHistoryListener(
|
|
17276
17255
|
/* singleDepositAddr */
|
|
@@ -17416,7 +17395,7 @@ var CheckoutAlert = ({ state, refundState, onHelp: onHelp2 }) => {
|
|
|
17416
17395
|
|
|
17417
17396
|
// src/components/FunCheckoutHistory/FunCheckoutHistoryHelp.tsx
|
|
17418
17397
|
import { sendSupportMessage } from "@funkit/api-base";
|
|
17419
|
-
import React104, { useEffect as
|
|
17398
|
+
import React104, { useEffect as useEffect35, useMemo as useMemo25, useRef as useRef20, useState as useState33 } from "react";
|
|
17420
17399
|
import { createPortal as createPortal6 } from "react-dom";
|
|
17421
17400
|
|
|
17422
17401
|
// src/components/FunInput/FunTextAreaInput.tsx
|
|
@@ -17607,7 +17586,7 @@ function FunCheckoutHistoryHelp({
|
|
|
17607
17586
|
0 /* INPUT */
|
|
17608
17587
|
);
|
|
17609
17588
|
const wrapperRef = useRef20(null);
|
|
17610
|
-
|
|
17589
|
+
useEffect35(() => wrapperRef.current?.scrollIntoView(), []);
|
|
17611
17590
|
const handleShowErrorMessage = (message, timeMs = FIVE_SECONDS_MS) => {
|
|
17612
17591
|
setErrorMessage(message);
|
|
17613
17592
|
if (timeMs !== void 0) {
|
|
@@ -18068,7 +18047,7 @@ import React217, { useCallback as useCallback46, useState as useState69 } from "
|
|
|
18068
18047
|
|
|
18069
18048
|
// src/components/FunCheckoutModalHeightAnimationWrapper/FunCheckoutModalHeightAnimationWrapper.tsx
|
|
18070
18049
|
import { motion as motion15 } from "motion/react";
|
|
18071
|
-
import React204, { useEffect as
|
|
18050
|
+
import React204, { useEffect as useEffect51, useRef as useRef27, useState as useState66 } from "react";
|
|
18072
18051
|
|
|
18073
18052
|
// src/modals/CheckoutModal/stepTransition.ts
|
|
18074
18053
|
import {
|
|
@@ -19586,7 +19565,7 @@ import {
|
|
|
19586
19565
|
DirectExecutionType as DirectExecutionType2,
|
|
19587
19566
|
RelayExecutionStatus as RelayExecutionStatus3
|
|
19588
19567
|
} from "@funkit/api-base";
|
|
19589
|
-
import React130, { useCallback as useCallback27, useEffect as
|
|
19568
|
+
import React130, { useCallback as useCallback27, useEffect as useEffect36, useMemo as useMemo28, useState as useState39 } from "react";
|
|
19590
19569
|
var overrideAssetsData = (de, checkoutItem) => {
|
|
19591
19570
|
return {
|
|
19592
19571
|
...de,
|
|
@@ -19684,7 +19663,7 @@ var BrokerageSuccess = ({
|
|
|
19684
19663
|
const latestDirectExecution = useMemo28(() => {
|
|
19685
19664
|
return directExecutions?.[0];
|
|
19686
19665
|
}, [directExecutions?.[0]?.txHash]);
|
|
19687
|
-
|
|
19666
|
+
useEffect36(() => {
|
|
19688
19667
|
if (!latestDirectExecution) {
|
|
19689
19668
|
return;
|
|
19690
19669
|
}
|
|
@@ -20353,7 +20332,7 @@ var TwoFactorInput = ({
|
|
|
20353
20332
|
};
|
|
20354
20333
|
|
|
20355
20334
|
// src/modals/CheckoutModal/Brokerage/ConnectExchange.tsx
|
|
20356
|
-
import React137, { useCallback as useCallback28, useEffect as
|
|
20335
|
+
import React137, { useCallback as useCallback28, useEffect as useEffect37, useState as useState41 } from "react";
|
|
20357
20336
|
import { createPortal as createPortal11 } from "react-dom";
|
|
20358
20337
|
|
|
20359
20338
|
// src/components/Icons/HandIcon.tsx
|
|
@@ -20458,7 +20437,7 @@ function ConnectExchange({
|
|
|
20458
20437
|
setAuthError(errorMessage);
|
|
20459
20438
|
setIsLoadingMeshModal(false);
|
|
20460
20439
|
});
|
|
20461
|
-
|
|
20440
|
+
useEffect37(() => {
|
|
20462
20441
|
if (isConnected) {
|
|
20463
20442
|
navigateToBrokerage();
|
|
20464
20443
|
}
|
|
@@ -20793,11 +20772,11 @@ function CheckoutHelp({
|
|
|
20793
20772
|
}
|
|
20794
20773
|
|
|
20795
20774
|
// src/modals/CheckoutModal/ConfirmationStep/ConfirmationStep.tsx
|
|
20796
|
-
import React156, { useEffect as
|
|
20775
|
+
import React156, { useEffect as useEffect43, useMemo as useMemo34, useState as useState51 } from "react";
|
|
20797
20776
|
import { createPortal as createPortal14 } from "react-dom";
|
|
20798
20777
|
|
|
20799
20778
|
// src/providers/UserPresenceContext.tsx
|
|
20800
|
-
import React143, { useEffect as
|
|
20779
|
+
import React143, { useEffect as useEffect38 } from "react";
|
|
20801
20780
|
import {
|
|
20802
20781
|
createContext as createContext15,
|
|
20803
20782
|
useContext as useContext15,
|
|
@@ -20809,7 +20788,7 @@ var UserPresenceContext = createContext15({
|
|
|
20809
20788
|
});
|
|
20810
20789
|
var UserPresenceProvider = ({ children }) => {
|
|
20811
20790
|
const [isAway, setIsAway] = useState43(false);
|
|
20812
|
-
|
|
20791
|
+
useEffect38(() => {
|
|
20813
20792
|
let timeoutId;
|
|
20814
20793
|
const handleVisibilityChange = () => {
|
|
20815
20794
|
if (document.visibilityState === "visible") {
|
|
@@ -20839,13 +20818,13 @@ import React145 from "react";
|
|
|
20839
20818
|
import React144, { useState as useState44 } from "react";
|
|
20840
20819
|
|
|
20841
20820
|
// src/hooks/useInterval.ts
|
|
20842
|
-
import { useEffect as
|
|
20821
|
+
import { useEffect as useEffect39, useRef as useRef21 } from "react";
|
|
20843
20822
|
function useInterval(callback, delay) {
|
|
20844
20823
|
const savedCallback = useRef21(callback);
|
|
20845
20824
|
useIsomorphicLayoutEffect(() => {
|
|
20846
20825
|
savedCallback.current = callback;
|
|
20847
20826
|
}, [callback]);
|
|
20848
|
-
|
|
20827
|
+
useEffect39(() => {
|
|
20849
20828
|
const id = setInterval(() => {
|
|
20850
20829
|
savedCallback.current();
|
|
20851
20830
|
}, delay);
|
|
@@ -21486,7 +21465,7 @@ function KatanaBridgeAlert() {
|
|
|
21486
21465
|
import { useState as useState46 } from "react";
|
|
21487
21466
|
|
|
21488
21467
|
// src/modals/CheckoutModal/useSourceAssetConfirm.tsx
|
|
21489
|
-
import { useEffect as
|
|
21468
|
+
import { useEffect as useEffect40, useState as useState45 } from "react";
|
|
21490
21469
|
function preparePaymentMethodInfo(selectedPaymentMethodInfo) {
|
|
21491
21470
|
switch (selectedPaymentMethodInfo?.paymentMethod) {
|
|
21492
21471
|
case "balance" /* ACCOUNT_BALANCE */:
|
|
@@ -21547,7 +21526,7 @@ function useHackyTriggerWorkaroundReactDevBrainExplode() {
|
|
|
21547
21526
|
function useTriggerQuoteAndOtherStuffsWithExtremeCaution(onResult, setPreloadedQuoteData) {
|
|
21548
21527
|
const [assetRefresh, triggerAssetConfirm] = useHackyTriggerWorkaroundReactDevBrainExplode();
|
|
21549
21528
|
const { isSourceAssetConfirming, onSourceAssetConfirmed } = useSourceAssetConfirm(setPreloadedQuoteData);
|
|
21550
|
-
|
|
21529
|
+
useEffect40(() => {
|
|
21551
21530
|
if (assetRefresh === 0) {
|
|
21552
21531
|
return;
|
|
21553
21532
|
}
|
|
@@ -21625,8 +21604,9 @@ import React153, { useState as useState47 } from "react";
|
|
|
21625
21604
|
import { Trans as Trans10 } from "react-i18next";
|
|
21626
21605
|
|
|
21627
21606
|
// src/modals/CheckoutModal/ConfirmationStep/useAccountBalanceTransfer.ts
|
|
21628
|
-
import {
|
|
21607
|
+
import { USDT_ABI } from "@funkit/utils";
|
|
21629
21608
|
import { useCallback as useCallback31 } from "react";
|
|
21609
|
+
import { erc20Abi as erc20Abi2 } from "viem";
|
|
21630
21610
|
import { useAccount as useAccount6, useSendTransaction, useWriteContract } from "wagmi";
|
|
21631
21611
|
|
|
21632
21612
|
// src/utils/isMainnetUsdt.ts
|
|
@@ -21708,7 +21688,7 @@ function useWeb3AccountBalancePostCheckout(setPostCheckoutStepMessage) {
|
|
|
21708
21688
|
chainId: Number.parseInt(sourceAssetChainId),
|
|
21709
21689
|
address: sourceAssetAddress,
|
|
21710
21690
|
// USDT on mainnet has a different ABI
|
|
21711
|
-
abi: isTokenMainnetUsdt ? USDT_ABI :
|
|
21691
|
+
abi: isTokenMainnetUsdt ? USDT_ABI : erc20Abi2,
|
|
21712
21692
|
functionName: "transfer",
|
|
21713
21693
|
args: [depositAddress, sourceAssetAmountBaseUnit]
|
|
21714
21694
|
};
|
|
@@ -21911,7 +21891,7 @@ function usePostCheckout({
|
|
|
21911
21891
|
}
|
|
21912
21892
|
|
|
21913
21893
|
// src/modals/CheckoutModal/ConfirmationStep/useQuoteRefresh.ts
|
|
21914
|
-
import { useCallback as useCallback34, useEffect as
|
|
21894
|
+
import { useCallback as useCallback34, useEffect as useEffect42, useMemo as useMemo33, useRef as useRef22, useState as useState50 } from "react";
|
|
21915
21895
|
|
|
21916
21896
|
// src/hooks/useCountdown.tsx
|
|
21917
21897
|
import React155 from "react";
|
|
@@ -21919,7 +21899,7 @@ import { useCallback as useCallback33, useState as useState49 } from "react";
|
|
|
21919
21899
|
|
|
21920
21900
|
// src/components/FunCountdown/FunCountdown.tsx
|
|
21921
21901
|
import { noop as noop8 } from "@funkit/utils";
|
|
21922
|
-
import React154, { useCallback as useCallback32, useEffect as
|
|
21902
|
+
import React154, { useCallback as useCallback32, useEffect as useEffect41, useState as useState48 } from "react";
|
|
21923
21903
|
|
|
21924
21904
|
// src/components/FunCountdown/FunCountdown.css.ts
|
|
21925
21905
|
var backgroundRing = "_1t0bc111 _1rsrm2f1os";
|
|
@@ -21962,7 +21942,7 @@ var FunCountdown = ({
|
|
|
21962
21942
|
setRemainingSeconds((prev) => prev > 0 ? prev - 1 : prev);
|
|
21963
21943
|
}, [isPaused]);
|
|
21964
21944
|
useInterval(handleInterval, 1e3);
|
|
21965
|
-
|
|
21945
|
+
useEffect41(() => {
|
|
21966
21946
|
if (remainingSeconds === onBeforeCountdownEndsSeconds) {
|
|
21967
21947
|
onBeforeCountdownEndsOnce();
|
|
21968
21948
|
}
|
|
@@ -22183,7 +22163,7 @@ function useQuoteRefresh({
|
|
|
22183
22163
|
}
|
|
22184
22164
|
return null;
|
|
22185
22165
|
}, [isQuoting, quoteErrorMessage]);
|
|
22186
|
-
|
|
22166
|
+
useEffect42(() => {
|
|
22187
22167
|
if (isPendingRefresh && !isOnHold) {
|
|
22188
22168
|
setIsPendingRefresh(false);
|
|
22189
22169
|
refreshQuote();
|
|
@@ -22299,7 +22279,7 @@ function ConfirmationStep({
|
|
|
22299
22279
|
}
|
|
22300
22280
|
}
|
|
22301
22281
|
});
|
|
22302
|
-
|
|
22282
|
+
useEffect43(() => {
|
|
22303
22283
|
triggerNewQuote({ maxRetries: 1 });
|
|
22304
22284
|
}, []);
|
|
22305
22285
|
const isContinuing = isConfirming || isPostCheckoutLoading;
|
|
@@ -22597,7 +22577,7 @@ function DirectExecutionNotifCenter({
|
|
|
22597
22577
|
|
|
22598
22578
|
// src/modals/CheckoutModal/InputAmount/InputAmount.tsx
|
|
22599
22579
|
import { isMobile as isMobile7 } from "@funkit/utils";
|
|
22600
|
-
import React173, { useEffect as
|
|
22580
|
+
import React173, { useEffect as useEffect45 } from "react";
|
|
22601
22581
|
|
|
22602
22582
|
// src/hooks/queries/useMeldCurrencies.ts
|
|
22603
22583
|
import { getMeldSupportedFiat } from "@funkit/api-base";
|
|
@@ -22884,13 +22864,13 @@ import React171, { useMemo as useMemo36 } from "react";
|
|
|
22884
22864
|
// src/components/AnimatedWidthWrapper/AnimatedWidthWrapper.tsx
|
|
22885
22865
|
import { motion as motion10 } from "motion/react";
|
|
22886
22866
|
import React159 from "react";
|
|
22887
|
-
import { useEffect as
|
|
22867
|
+
import { useEffect as useEffect44, useRef as useRef23, useState as useState52 } from "react";
|
|
22888
22868
|
function AnimatedWidthWrapper({ children }) {
|
|
22889
22869
|
const containerRef = useRef23(null);
|
|
22890
22870
|
const animationFrameRef = useRef23(null);
|
|
22891
22871
|
const resizeObserverRef = useRef23(null);
|
|
22892
22872
|
const [width, setWidth] = useState52("auto");
|
|
22893
|
-
|
|
22873
|
+
useEffect44(() => {
|
|
22894
22874
|
if (containerRef.current) {
|
|
22895
22875
|
resizeObserverRef.current = new ResizeObserver((entries) => {
|
|
22896
22876
|
animationFrameRef.current = requestAnimationFrame(() => {
|
|
@@ -23567,7 +23547,7 @@ var SourcePaymentMethodItem = ({
|
|
|
23567
23547
|
icon: /* @__PURE__ */ React162.createElement(MasterCardPillIcon, { key: "mastercard", backdropColor })
|
|
23568
23548
|
}
|
|
23569
23549
|
];
|
|
23570
|
-
const isMeldEnabled =
|
|
23550
|
+
const isMeldEnabled = useIsMeldEnabled();
|
|
23571
23551
|
const isBrokerageEnabled = useFlag(FlagKey17.EnableBluvoBrokerage);
|
|
23572
23552
|
const usableAlternativeIcons = icons.filter(({ paymentMethod }) => {
|
|
23573
23553
|
if (paymentMethod === type || paymentMethod === "card" /* CARD */ && !isMeldEnabled || paymentMethod === "brokerage" /* BROKERAGE */ && !isBrokerageEnabled) {
|
|
@@ -24987,10 +24967,10 @@ import {
|
|
|
24987
24967
|
hyperEvmChain as hyperEvmChain4,
|
|
24988
24968
|
katanaChain
|
|
24989
24969
|
} from "@funkit/chains";
|
|
24990
|
-
import { getTokenAddressBySymbolAndChainId } from "@funkit/core";
|
|
24991
24970
|
import { useCallback as useCallback37, useState as useState55 } from "react";
|
|
24992
24971
|
import { mainnet as mainnet8, mantle, zksync as zksync2 } from "viem/chains";
|
|
24993
|
-
|
|
24972
|
+
import { getAssetErc20ByChainAndSymbol as getAssetErc20ByChainAndSymbol2 } from "@funkit/api-base";
|
|
24973
|
+
var pickSourceAssetForCard = async (checkoutItem, userIpInfo, apiKey) => {
|
|
24994
24974
|
if (!checkoutItem?.initSettings.config.targetChain) {
|
|
24995
24975
|
throw new Error("pickSourceAssetForCard: Missing targetChain");
|
|
24996
24976
|
}
|
|
@@ -25006,7 +24986,11 @@ var pickSourceAssetForCard = async (checkoutItem, userIpInfo) => {
|
|
|
25006
24986
|
hyperEvmChain4.id.toString()
|
|
25007
24987
|
]
|
|
25008
24988
|
);
|
|
25009
|
-
const wethAddrOnTargetChain = (await
|
|
24989
|
+
const wethAddrOnTargetChain = (await getAssetErc20ByChainAndSymbol2({
|
|
24990
|
+
chainId: moonpayChainId,
|
|
24991
|
+
symbol: "weth",
|
|
24992
|
+
apiKey
|
|
24993
|
+
})).address.toLowerCase();
|
|
25010
24994
|
const isTargetAssetEthOrWeth = [NATIVE_TOKEN, wethAddrOnTargetChain].includes(
|
|
25011
24995
|
checkoutItem.initSettings.config.targetAsset
|
|
25012
24996
|
) && FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO10[moonpayChainId]?.nativeCurrency.symbol === "ETH" /* ETH */;
|
|
@@ -25024,10 +25008,11 @@ var pickSourceAssetForCard = async (checkoutItem, userIpInfo) => {
|
|
|
25024
25008
|
sourceTokenAddress = NATIVE_TOKEN;
|
|
25025
25009
|
} else {
|
|
25026
25010
|
sourceTokenTicker = "USDC" /* USDC */;
|
|
25027
|
-
sourceTokenAddress = await
|
|
25028
|
-
|
|
25029
|
-
|
|
25030
|
-
|
|
25011
|
+
sourceTokenAddress = (await getAssetErc20ByChainAndSymbol2({
|
|
25012
|
+
chainId: sourceTokenChainId,
|
|
25013
|
+
symbol: "USDC" /* USDC */,
|
|
25014
|
+
apiKey
|
|
25015
|
+
})).address;
|
|
25031
25016
|
}
|
|
25032
25017
|
}
|
|
25033
25018
|
logger.log("pickSourceAssetForCard:result", {
|
|
@@ -25048,11 +25033,16 @@ var pickSourceAssetForCard = async (checkoutItem, userIpInfo) => {
|
|
|
25048
25033
|
function useUpdateCardSourceAsset() {
|
|
25049
25034
|
const { checkoutItem, updateSourceAsset } = useCheckoutContext();
|
|
25050
25035
|
const { userIpInfo } = useFunkitUserIp();
|
|
25036
|
+
const { apiKey } = useFunkitConfig();
|
|
25051
25037
|
const [isUpdating, setIsUpdating] = useState55(false);
|
|
25052
25038
|
const onSelectCard = useCallback37(async () => {
|
|
25053
25039
|
setIsUpdating(true);
|
|
25054
25040
|
try {
|
|
25055
|
-
const source = await pickSourceAssetForCard(
|
|
25041
|
+
const source = await pickSourceAssetForCard(
|
|
25042
|
+
checkoutItem,
|
|
25043
|
+
userIpInfo,
|
|
25044
|
+
apiKey
|
|
25045
|
+
);
|
|
25056
25046
|
updateSourceAsset({
|
|
25057
25047
|
tokenAddress: source.sourceTokenAddress,
|
|
25058
25048
|
symbol: source.sourceTokenTicker,
|
|
@@ -25062,7 +25052,7 @@ function useUpdateCardSourceAsset() {
|
|
|
25062
25052
|
} finally {
|
|
25063
25053
|
setIsUpdating(false);
|
|
25064
25054
|
}
|
|
25065
|
-
}, [checkoutItem, updateSourceAsset, userIpInfo]);
|
|
25055
|
+
}, [checkoutItem, updateSourceAsset, userIpInfo, apiKey]);
|
|
25066
25056
|
return { onSelectCard, isUpdating };
|
|
25067
25057
|
}
|
|
25068
25058
|
|
|
@@ -25714,14 +25704,14 @@ function InputAmountLoading({
|
|
|
25714
25704
|
};
|
|
25715
25705
|
}
|
|
25716
25706
|
}, [sourceHoldingError, unitPriceError, t]);
|
|
25717
|
-
const
|
|
25718
|
-
const isMeldCheckout =
|
|
25707
|
+
const isMeldPaymentMethod = paymentMethodInfo.paymentMethod === "card" /* CARD */;
|
|
25708
|
+
const isMeldCheckout = isMeldPaymentMethod && meldEnabled;
|
|
25719
25709
|
return /* @__PURE__ */ React172.createElement(
|
|
25720
25710
|
InputAmountLayout,
|
|
25721
25711
|
{
|
|
25722
25712
|
actionButtonProps: { title: t("common.continue"), isDisabled: true },
|
|
25723
25713
|
fiatCurrencySelector: isMeldCheckout && /* @__PURE__ */ React172.createElement(CurrencySelector, { isLoading: true }),
|
|
25724
|
-
header:
|
|
25714
|
+
header: isMeldPaymentMethod && isSourceNavWidgetEnabled && /* @__PURE__ */ React172.createElement(Box, { width: "full" }, /* @__PURE__ */ React172.createElement(
|
|
25725
25715
|
SourcePaymentMethodItem,
|
|
25726
25716
|
{
|
|
25727
25717
|
type: "card" /* CARD */,
|
|
@@ -25763,7 +25753,7 @@ function InputAmountLoading({
|
|
|
25763
25753
|
)
|
|
25764
25754
|
)
|
|
25765
25755
|
),
|
|
25766
|
-
amountOptions: !
|
|
25756
|
+
amountOptions: !isMeldPaymentMethod && /* @__PURE__ */ React172.createElement(QuickOptions, { disabled: true, options: USD_AMOUNT_OPTIONS_PCT, percentMode: true }),
|
|
25767
25757
|
footer: isMeldCheckout ? /* @__PURE__ */ React172.createElement(Box, { paddingX: "6" }, /* @__PURE__ */ React172.createElement(SourceMeldQuoteItem, { isLoading: true })) : /* @__PURE__ */ React172.createElement(YouPayYouReceiveBottomBarLayoutWrapper, null, /* @__PURE__ */ React172.createElement(
|
|
25768
25758
|
FunSkeletonBlock,
|
|
25769
25759
|
{
|
|
@@ -25893,7 +25883,7 @@ function InputAmount(props) {
|
|
|
25893
25883
|
const skipExchangeRates = paymentMethodInfo.paymentMethod !== "card" /* CARD */ || !isDefiMode;
|
|
25894
25884
|
const exchangeRatesLoaded = !isCurrencyExchangeRatesLoading && !!currencyExchangeRates;
|
|
25895
25885
|
const isLoaded = !!(checkoutItem && unitPrice && !sourceHoldingError && !isLoadingSourceHolding && !isMeldDefaultCurrencyLoading && (skipExchangeRates || exchangeRatesLoaded));
|
|
25896
|
-
|
|
25886
|
+
useEffect45(() => setCheckoutQuote(null), []);
|
|
25897
25887
|
if (isLoaded) {
|
|
25898
25888
|
return /* @__PURE__ */ React173.createElement(
|
|
25899
25889
|
InputAmountLoaded,
|
|
@@ -25919,7 +25909,7 @@ function InputAmount(props) {
|
|
|
25919
25909
|
}
|
|
25920
25910
|
|
|
25921
25911
|
// src/modals/CheckoutModal/LoadingAccount.tsx
|
|
25922
|
-
import React176, { useEffect as
|
|
25912
|
+
import React176, { useEffect as useEffect46 } from "react";
|
|
25923
25913
|
|
|
25924
25914
|
// src/hooks/usePaymentSources.ts
|
|
25925
25915
|
import { FlagKey as FlagKey20, isNotNullish as isNotNullish5 } from "@funkit/utils";
|
|
@@ -25929,17 +25919,17 @@ function usePaymentMethodEnablement({
|
|
|
25929
25919
|
const { apiKey } = useFunkitConfig();
|
|
25930
25920
|
const isTokenTransferFlagEnabled = useFlag(FlagKey20.EnableTokenTransfer);
|
|
25931
25921
|
const isFiatFlagEnabled = useFiatEnabled();
|
|
25932
|
-
const
|
|
25922
|
+
const isMeldFlagEnabled = useIsMeldEnabled();
|
|
25933
25923
|
const isBrokerageFlagEnabled = useFlag(FlagKey20.EnableBluvoBrokerage);
|
|
25934
25924
|
const isKatanaEarnFlowAction = isKatanaEarnFlow({ apiKey, checkoutConfig });
|
|
25935
25925
|
const isFiatEnabled = isFiatFlagEnabled && !isKatanaEarnFlowAction;
|
|
25936
25926
|
const isTokenTransferEnabled = isTokenTransferFlagEnabled && !isKatanaEarnFlowAction;
|
|
25937
|
-
const
|
|
25927
|
+
const isMeldEnabled = isMeldFlagEnabled && !isKatanaEarnFlowAction;
|
|
25938
25928
|
const isBrokerageEnabled = isBrokerageFlagEnabled && isTokenTransferEnabled;
|
|
25939
25929
|
return {
|
|
25940
25930
|
isFiatEnabled,
|
|
25941
25931
|
isTokenTransferEnabled,
|
|
25942
|
-
|
|
25932
|
+
isMeldEnabled,
|
|
25943
25933
|
isBrokerageEnabled
|
|
25944
25934
|
};
|
|
25945
25935
|
}
|
|
@@ -25962,7 +25952,7 @@ var usePaymentSources = (paymentMethodInfo, targetChainId, checkoutConfig) => {
|
|
|
25962
25952
|
const {
|
|
25963
25953
|
isFiatEnabled,
|
|
25964
25954
|
isTokenTransferEnabled,
|
|
25965
|
-
|
|
25955
|
+
isMeldEnabled,
|
|
25966
25956
|
isBrokerageEnabled
|
|
25967
25957
|
} = usePaymentMethodEnablement({ checkoutConfig });
|
|
25968
25958
|
const accountPaymentMethodInfo = createPaymentMethodInfo({
|
|
@@ -25983,13 +25973,13 @@ var usePaymentSources = (paymentMethodInfo, targetChainId, checkoutConfig) => {
|
|
|
25983
25973
|
virtualBankPaymentMethodInfo
|
|
25984
25974
|
].filter(isNotNullish5);
|
|
25985
25975
|
const ignoreFallback = isConnected && !hasUsableBalance;
|
|
25986
|
-
const fallback2 = connected.length === 0 && !ignoreFallback ? isTokenTransferEnabled ? ["token_transfer" /* TOKEN_TRANSFER */] :
|
|
25976
|
+
const fallback2 = connected.length === 0 && !ignoreFallback ? isTokenTransferEnabled ? ["token_transfer" /* TOKEN_TRANSFER */] : isMeldEnabled ? ["card" /* CARD */] : ["balance" /* ACCOUNT_BALANCE */] : [];
|
|
25987
25977
|
const isTokenInNewSources = !fallback2.includes("token_transfer" /* TOKEN_TRANSFER */) && isTokenTransferEnabled;
|
|
25988
25978
|
const isWalletInNewSources = !isConnected && !fallback2.includes("balance" /* ACCOUNT_BALANCE */);
|
|
25989
25979
|
const isBankInNewSources = !matchingFiatAccount && isUserLoggedIn && isFiatEnabled;
|
|
25990
25980
|
const newSources = [
|
|
25991
25981
|
isTokenInNewSources && "token_transfer" /* TOKEN_TRANSFER */,
|
|
25992
|
-
!fallback2.includes("card" /* CARD */) &&
|
|
25982
|
+
!fallback2.includes("card" /* CARD */) && isMeldEnabled && "card" /* CARD */,
|
|
25993
25983
|
isBankInNewSources && "virtual_bank" /* VIRTUAL_BANK */,
|
|
25994
25984
|
isWalletInNewSources && "balance" /* ACCOUNT_BALANCE */,
|
|
25995
25985
|
isBrokerageEnabled && "brokerage" /* BROKERAGE */
|
|
@@ -26263,7 +26253,7 @@ function LoadingAccount({
|
|
|
26263
26253
|
const hasCustomStartingStep = !!checkoutConfig?.startingStep;
|
|
26264
26254
|
const startsOnConfirmationStep = checkoutConfig?.startingStep === "confirmation" /* CONFIRMATION */;
|
|
26265
26255
|
const startsOnSelectAssetStep = checkoutConfig?.startingStep === "select_asset" /* SELECT_ASSET */;
|
|
26266
|
-
|
|
26256
|
+
useEffect46(() => {
|
|
26267
26257
|
if (isLoadingFlags || isLoadingFiat || !checkoutConfig) {
|
|
26268
26258
|
return;
|
|
26269
26259
|
}
|
|
@@ -26605,7 +26595,7 @@ import {
|
|
|
26605
26595
|
hyperEvmChain as hyperEvmChain5
|
|
26606
26596
|
} from "@funkit/chains";
|
|
26607
26597
|
import { formatCurrencyAndStringify as formatCurrencyAndStringify11, isTokenEquivalent as isTokenEquivalent5 } from "@funkit/utils";
|
|
26608
|
-
import React182, { useEffect as
|
|
26598
|
+
import React182, { useEffect as useEffect47, useMemo as useMemo41, useState as useState57 } from "react";
|
|
26609
26599
|
import { createPortal as createPortal18 } from "react-dom";
|
|
26610
26600
|
import { mainnet as mainnet9 } from "viem/chains";
|
|
26611
26601
|
|
|
@@ -26959,7 +26949,7 @@ function useAssetOptions({
|
|
|
26959
26949
|
return assetOptions;
|
|
26960
26950
|
}
|
|
26961
26951
|
function useScrollToSelectedAsset(selectedChainTokenSymbol) {
|
|
26962
|
-
|
|
26952
|
+
useEffect47(() => {
|
|
26963
26953
|
const optionEl = document.getElementById(
|
|
26964
26954
|
`option-${selectedChainTokenSymbol}`
|
|
26965
26955
|
);
|
|
@@ -27378,7 +27368,7 @@ function showsNativeTokensOnTop(apiKey) {
|
|
|
27378
27368
|
|
|
27379
27369
|
// src/modals/CheckoutModal/SourceChange/SourceChange.tsx
|
|
27380
27370
|
import { BridgeCustomerStatus as BridgeCustomerStatus6, MeldServiceProvider as MeldServiceProvider4 } from "@funkit/api-base";
|
|
27381
|
-
import React184, { useCallback as useCallback40, useEffect as
|
|
27371
|
+
import React184, { useCallback as useCallback40, useEffect as useEffect48, useState as useState58 } from "react";
|
|
27382
27372
|
import { createPortal as createPortal19 } from "react-dom";
|
|
27383
27373
|
|
|
27384
27374
|
// src/modals/CheckoutModal/SourceChange/DefiPurchaseSection.tsx
|
|
@@ -27565,7 +27555,6 @@ function PayPal() {
|
|
|
27565
27555
|
function SourceChange({
|
|
27566
27556
|
modalState,
|
|
27567
27557
|
onNext,
|
|
27568
|
-
onClose,
|
|
27569
27558
|
setModalState
|
|
27570
27559
|
}) {
|
|
27571
27560
|
const { paymentMethodInfo, targetChainId } = modalState;
|
|
@@ -27576,16 +27565,14 @@ function SourceChange({
|
|
|
27576
27565
|
const { data: fiatAccounts } = useVirtualFiatAccounts();
|
|
27577
27566
|
const matchingFiatAccount = useMatchingVirtualFiatAccount(fiatAccounts);
|
|
27578
27567
|
const { apiKey, textCustomizations } = useFunkitConfig();
|
|
27579
|
-
const enableMeldPayment = useIsMeldEnabled();
|
|
27580
27568
|
const isDefiMode = checkoutItem?.initSettings.config.isDefiMode;
|
|
27581
27569
|
const hasAutoContinue = !isOstiumCustomer(apiKey) && !isDefiMode;
|
|
27582
|
-
|
|
27570
|
+
useEffect48(() => {
|
|
27583
27571
|
if (!paymentMethodInfo) {
|
|
27584
27572
|
return;
|
|
27585
27573
|
}
|
|
27586
27574
|
updateSelectedPaymentMethodInfo(paymentMethodInfo);
|
|
27587
27575
|
}, [paymentMethodInfo, updateSelectedPaymentMethodInfo]);
|
|
27588
|
-
const { onSelectCard } = useUpdateCardSourceAsset();
|
|
27589
27576
|
const bluvo = useBluvo();
|
|
27590
27577
|
const handleConnectedSourceContinue = (source, isConfirmed = false) => {
|
|
27591
27578
|
setConnectedSource(source);
|
|
@@ -27625,19 +27612,11 @@ function SourceChange({
|
|
|
27625
27612
|
return;
|
|
27626
27613
|
}
|
|
27627
27614
|
if (newSource2 === "card" /* CARD */) {
|
|
27628
|
-
if (isPolymarketCustomer(apiKey) && !enableMeldPayment) {
|
|
27629
|
-
checkoutItem?.initSettings.onPolymarketCardSwitch?.({});
|
|
27630
|
-
onClose();
|
|
27631
|
-
return;
|
|
27632
|
-
}
|
|
27633
27615
|
const paymentMethodInfo2 = createPaymentMethodInfo({
|
|
27634
27616
|
paymentMethod: "card" /* CARD */,
|
|
27635
27617
|
titleCustomization: textCustomizations.debitOrCredit
|
|
27636
27618
|
});
|
|
27637
27619
|
updateSelectedPaymentMethodInfo(paymentMethodInfo2);
|
|
27638
|
-
if (!enableMeldPayment) {
|
|
27639
|
-
await onSelectCard();
|
|
27640
|
-
}
|
|
27641
27620
|
onNext({
|
|
27642
27621
|
connectNew: true,
|
|
27643
27622
|
reverseAnimation: true,
|
|
@@ -27685,7 +27664,7 @@ function SourceChange({
|
|
|
27685
27664
|
});
|
|
27686
27665
|
}
|
|
27687
27666
|
};
|
|
27688
|
-
|
|
27667
|
+
useEffect48(() => {
|
|
27689
27668
|
if (connectionStatus !== "disconnected" && connectionStatus !== "loading") {
|
|
27690
27669
|
onCloseConnectModal();
|
|
27691
27670
|
}
|
|
@@ -27780,7 +27759,7 @@ import { truncateMiddleOfAddress } from "@funkit/utils";
|
|
|
27780
27759
|
import React185, { useCallback as useCallback42, useState as useState60 } from "react";
|
|
27781
27760
|
|
|
27782
27761
|
// src/hooks/useCopyToClipboard.ts
|
|
27783
|
-
import { useCallback as useCallback41, useEffect as
|
|
27762
|
+
import { useCallback as useCallback41, useEffect as useEffect49, useState as useState59 } from "react";
|
|
27784
27763
|
var useCopyToClipboard = (text, delay = 1500) => {
|
|
27785
27764
|
const [isCopied, setCopied] = useState59(false);
|
|
27786
27765
|
const handleCopy = useCallback41(() => {
|
|
@@ -27790,7 +27769,7 @@ var useCopyToClipboard = (text, delay = 1500) => {
|
|
|
27790
27769
|
navigator.clipboard.writeText(text);
|
|
27791
27770
|
setCopied(true);
|
|
27792
27771
|
}, [text]);
|
|
27793
|
-
|
|
27772
|
+
useEffect49(() => {
|
|
27794
27773
|
if (!isCopied) {
|
|
27795
27774
|
return;
|
|
27796
27775
|
}
|
|
@@ -29178,7 +29157,7 @@ var FiatAccountDetail = {
|
|
|
29178
29157
|
|
|
29179
29158
|
// src/modals/CheckoutModal/VirtualFiatAccount/KycIframe.tsx
|
|
29180
29159
|
import { BridgeCustomerStatus as BridgeCustomerStatus7 } from "@funkit/api-base";
|
|
29181
|
-
import React203, { useCallback as useCallback43, useEffect as
|
|
29160
|
+
import React203, { useCallback as useCallback43, useEffect as useEffect50, useMemo as useMemo43, useState as useState64 } from "react";
|
|
29182
29161
|
function useIframeListener(listeners) {
|
|
29183
29162
|
const handleMessage = useCallback43(
|
|
29184
29163
|
(event) => {
|
|
@@ -29202,7 +29181,7 @@ function useIframeListener(listeners) {
|
|
|
29202
29181
|
},
|
|
29203
29182
|
[listeners]
|
|
29204
29183
|
);
|
|
29205
|
-
|
|
29184
|
+
useEffect50(() => {
|
|
29206
29185
|
window.addEventListener("message", handleMessage);
|
|
29207
29186
|
return () => {
|
|
29208
29187
|
window.removeEventListener("message", handleMessage);
|
|
@@ -29591,7 +29570,7 @@ function FunCheckoutModalHeightAnimationWrapper({
|
|
|
29591
29570
|
const animationFrameRef = useRef27(null);
|
|
29592
29571
|
const resizeObserverRef = useRef27(null);
|
|
29593
29572
|
const [height, setHeight] = useState66("auto");
|
|
29594
|
-
|
|
29573
|
+
useEffect51(() => {
|
|
29595
29574
|
if (containerRef.current) {
|
|
29596
29575
|
resizeObserverRef.current = new ResizeObserver((entries) => {
|
|
29597
29576
|
animationFrameRef.current = requestAnimationFrame(() => {
|
|
@@ -29649,7 +29628,7 @@ function useCheckoutModalTitle(depositAddress, defaultTitle) {
|
|
|
29649
29628
|
import { IN_PROGRESS_CHECKOUT_STATES as IN_PROGRESS_CHECKOUT_STATES2 } from "@funkit/api-base";
|
|
29650
29629
|
import { formatTimestampToDate, fullMonthNames } from "@funkit/utils";
|
|
29651
29630
|
import clsx24 from "clsx";
|
|
29652
|
-
import React213, { useEffect as
|
|
29631
|
+
import React213, { useEffect as useEffect52, useMemo as useMemo44, useRef as useRef28, useState as useState68 } from "react";
|
|
29653
29632
|
import { Virtuoso } from "react-virtuoso";
|
|
29654
29633
|
import { useAccount as useAccount7 } from "wagmi";
|
|
29655
29634
|
|
|
@@ -30192,7 +30171,7 @@ function Home({
|
|
|
30192
30171
|
const { checkoutHistoryList, isCheckoutHistoryInited } = useCheckoutHistoryContext();
|
|
30193
30172
|
const { returnViewPresets } = useActivityTraversal();
|
|
30194
30173
|
const { animation: tabAnimation, navigateTo } = useAnimatedNavigation(setSelectedView);
|
|
30195
|
-
|
|
30174
|
+
useEffect52(() => {
|
|
30196
30175
|
const virtuosoDiv = virtuosoParentRef.current?.firstChild;
|
|
30197
30176
|
virtuosoDiv?.classList.add(animateVirtuosoInClass);
|
|
30198
30177
|
}, []);
|
|
@@ -30949,7 +30928,7 @@ import React231, { useRef as useRef29 } from "react";
|
|
|
30949
30928
|
import React229, { useCallback as useCallback47, useMemo as useMemo45, useState as useState72 } from "react";
|
|
30950
30929
|
|
|
30951
30930
|
// src/components/FunConnectOptions/FunConnectResultStep.tsx
|
|
30952
|
-
import React224, { useEffect as
|
|
30931
|
+
import React224, { useEffect as useEffect53 } from "react";
|
|
30953
30932
|
var AUTO_CLOSE = 2e3;
|
|
30954
30933
|
var messageMap = (hasQrCode) => ({
|
|
30955
30934
|
error: {
|
|
@@ -30968,7 +30947,7 @@ var FunConnectResultStep = ({
|
|
|
30968
30947
|
qrCodeUri
|
|
30969
30948
|
}) => {
|
|
30970
30949
|
const hasAutoclose = type === "success";
|
|
30971
|
-
|
|
30950
|
+
useEffect53(() => {
|
|
30972
30951
|
if (!hasAutoclose) {
|
|
30973
30952
|
return;
|
|
30974
30953
|
}
|
|
@@ -31787,7 +31766,7 @@ function ModalProvider({ children }) {
|
|
|
31787
31766
|
onConnect: () => closeModals(isUnauthenticated),
|
|
31788
31767
|
onDisconnect: closeModals
|
|
31789
31768
|
});
|
|
31790
|
-
|
|
31769
|
+
useEffect54(() => {
|
|
31791
31770
|
if (isUnauthenticated) {
|
|
31792
31771
|
closeModals();
|
|
31793
31772
|
}
|
|
@@ -31883,7 +31862,7 @@ function useConnectModal(onClose) {
|
|
|
31883
31862
|
const { connectModalOpen, openConnectModal } = useContext16(ModalContext);
|
|
31884
31863
|
const { isWalletConnectModalOpen } = useWalletConnectOpenState();
|
|
31885
31864
|
const effectiveConnectModalOpen = connectModalOpen || isWalletConnectModalOpen;
|
|
31886
|
-
|
|
31865
|
+
useEffect54(() => {
|
|
31887
31866
|
if (!effectiveConnectModalOpen && onClose) {
|
|
31888
31867
|
onClose();
|
|
31889
31868
|
}
|
|
@@ -31958,7 +31937,7 @@ function FunkitCheckoutProvider({ children }) {
|
|
|
31958
31937
|
},
|
|
31959
31938
|
[]
|
|
31960
31939
|
);
|
|
31961
|
-
|
|
31940
|
+
useEffect55(() => {
|
|
31962
31941
|
if (isNotNullish8(logoutSymbol)) {
|
|
31963
31942
|
setActiveCheckout(null);
|
|
31964
31943
|
}
|
|
@@ -32564,13 +32543,13 @@ function useFunkitCheckout(props) {
|
|
|
32564
32543
|
});
|
|
32565
32544
|
openWithdrawalModal?.({ withdrawalId, ...config });
|
|
32566
32545
|
});
|
|
32567
|
-
|
|
32546
|
+
useEffect55(() => {
|
|
32568
32547
|
if (isUserLoggedIn && pendingCheckoutConfig) {
|
|
32569
32548
|
setPendingCheckoutConfig(void 0);
|
|
32570
32549
|
beginCheckout(pendingCheckoutConfig);
|
|
32571
32550
|
}
|
|
32572
32551
|
}, [beginCheckout, isUserLoggedIn, pendingCheckoutConfig]);
|
|
32573
|
-
|
|
32552
|
+
useEffect55(() => {
|
|
32574
32553
|
if (pendingCheckoutConfig && !isUserLoggedIn && !connectModalOpen) {
|
|
32575
32554
|
setPendingCheckoutConfig(void 0);
|
|
32576
32555
|
}
|
|
@@ -32782,12 +32761,12 @@ async function getTokenDecimals(wagmiConfig, chainId, tokenAddress) {
|
|
|
32782
32761
|
if (isNativeTokenAddress(tokenAddress)) {
|
|
32783
32762
|
return FUNKIT_CONNECT_SUPPORTED_CHAINS_INFO13[chainId]?.nativeCurrency?.decimals || 18;
|
|
32784
32763
|
}
|
|
32785
|
-
if (chainId ===
|
|
32786
|
-
return
|
|
32764
|
+
if (chainId === solanaChain5.id.toString()) {
|
|
32765
|
+
return solanaChain5.nativeCurrency.decimals;
|
|
32787
32766
|
}
|
|
32788
32767
|
const decimals = await readContract(wagmiConfig, {
|
|
32789
32768
|
address: tokenAddress,
|
|
32790
|
-
abi:
|
|
32769
|
+
abi: erc20Abi3,
|
|
32791
32770
|
chainId: Number.parseInt(chainId),
|
|
32792
32771
|
functionName: "decimals"
|
|
32793
32772
|
});
|
|
@@ -32893,7 +32872,7 @@ function computeDisplayDestinationToken(checkoutConfig, displayAssetAmount) {
|
|
|
32893
32872
|
|
|
32894
32873
|
// src/domains/feeEstimate.ts
|
|
32895
32874
|
import { mainnet as mainnet10 } from "viem/chains";
|
|
32896
|
-
var L1_FEES_ESTIMATE =
|
|
32875
|
+
var L1_FEES_ESTIMATE = 1;
|
|
32897
32876
|
var L2_FEES_ESTIMATE = 1;
|
|
32898
32877
|
var BROKERAGE_FEES_ESTIMATE = 0;
|
|
32899
32878
|
var getBaseFeeUsdEstimate = (targetChainId, assetChainId) => {
|
|
@@ -32918,7 +32897,7 @@ function isPreferredChain(chainId, additionalChains = []) {
|
|
|
32918
32897
|
base7.id,
|
|
32919
32898
|
arbitrum5.id,
|
|
32920
32899
|
optimism.id,
|
|
32921
|
-
|
|
32900
|
+
solanaChain6.id,
|
|
32922
32901
|
...additionalChains
|
|
32923
32902
|
]);
|
|
32924
32903
|
return chains.has(chainId);
|
|
@@ -33422,7 +33401,7 @@ function ConnectButton({
|
|
|
33422
33401
|
const connectionStatus = useConnectionStatus();
|
|
33423
33402
|
const { setShowBalance } = useShowBalance();
|
|
33424
33403
|
const [ready, setReady] = useState75(false);
|
|
33425
|
-
|
|
33404
|
+
useEffect56(() => {
|
|
33426
33405
|
setShowBalance(showBalance);
|
|
33427
33406
|
if (!ready) {
|
|
33428
33407
|
setReady(true);
|
|
@@ -34117,7 +34096,6 @@ var en_default = {
|
|
|
34117
34096
|
fiveMinutes: "5 min"
|
|
34118
34097
|
},
|
|
34119
34098
|
common: {
|
|
34120
|
-
privyIframeTitle: "Privy",
|
|
34121
34099
|
haveQuestions: "Have questions?",
|
|
34122
34100
|
getHelp: "Get help",
|
|
34123
34101
|
depositsLive: "{{tokenName}} deposits are live!",
|
|
@@ -34148,16 +34126,11 @@ var en_default = {
|
|
|
34148
34126
|
tryAgain: "Try again",
|
|
34149
34127
|
getStarted: "Get started",
|
|
34150
34128
|
back: "Back",
|
|
34151
|
-
accountTypeEmail: "Email",
|
|
34152
|
-
accountTypeTwitter: "Twitter ID",
|
|
34153
|
-
accountTypeApple: "Apple ID",
|
|
34154
|
-
accountTypeFarcaster: "Farcaster ID",
|
|
34155
34129
|
close: "Close",
|
|
34156
34130
|
copyAddress: "Copy address",
|
|
34157
34131
|
copied: "Copied",
|
|
34158
34132
|
auto: "Auto",
|
|
34159
|
-
comingSoon: "Coming Soon"
|
|
34160
|
-
or: "or"
|
|
34133
|
+
comingSoon: "Coming Soon"
|
|
34161
34134
|
},
|
|
34162
34135
|
disclaimer: {
|
|
34163
34136
|
terms: "terms",
|
|
@@ -34170,13 +34143,7 @@ var en_default = {
|
|
|
34170
34143
|
},
|
|
34171
34144
|
connect: {
|
|
34172
34145
|
confirmWalletOwnership: "Click sign in to confirm you own this wallet.",
|
|
34173
|
-
connectWallet: "Connect wallet"
|
|
34174
|
-
enterConfirmationCode: "Enter confirmation code",
|
|
34175
|
-
checkEmailForCode: "Please check {{email}} for an email from {{authProvider}} and enter your code below.",
|
|
34176
|
-
enterYourEmail: "Enter your email",
|
|
34177
|
-
submit: "Submit",
|
|
34178
|
-
openWarpcast: "Open Warpcast",
|
|
34179
|
-
warpcastLink: "Warpcast Link"
|
|
34146
|
+
connectWallet: "Connect wallet"
|
|
34180
34147
|
},
|
|
34181
34148
|
selectAsset: {
|
|
34182
34149
|
yourTokens: "Your tokens",
|
|
@@ -34627,7 +34594,6 @@ var es_default = {
|
|
|
34627
34594
|
fiveMinutes: "5 min"
|
|
34628
34595
|
},
|
|
34629
34596
|
common: {
|
|
34630
|
-
privyIframeTitle: "Privy",
|
|
34631
34597
|
haveQuestions: "\xBFTienes preguntas?",
|
|
34632
34598
|
getHelp: "Obtener ayuda",
|
|
34633
34599
|
depositsLive: "\xA1Los dep\xF3sitos de {{tokenName}} est\xE1n activos!",
|
|
@@ -34658,16 +34624,11 @@ var es_default = {
|
|
|
34658
34624
|
tryAgain: "Intentar nuevamente",
|
|
34659
34625
|
getStarted: "Comenzar",
|
|
34660
34626
|
back: "Atr\xE1s",
|
|
34661
|
-
accountTypeEmail: "Email",
|
|
34662
|
-
accountTypeTwitter: "ID de Twitter",
|
|
34663
|
-
accountTypeApple: "ID de Apple",
|
|
34664
|
-
accountTypeFarcaster: "ID de Farcaster",
|
|
34665
34627
|
close: "Cerrar",
|
|
34666
34628
|
copyAddress: "Copiar direcci\xF3n",
|
|
34667
34629
|
copied: "Copiado",
|
|
34668
34630
|
auto: "Auto",
|
|
34669
|
-
comingSoon: "Pr\xF3ximamente"
|
|
34670
|
-
or: "o"
|
|
34631
|
+
comingSoon: "Pr\xF3ximamente"
|
|
34671
34632
|
},
|
|
34672
34633
|
disclaimer: {
|
|
34673
34634
|
terms: "t\xE9rminos",
|
|
@@ -34680,13 +34641,7 @@ var es_default = {
|
|
|
34680
34641
|
},
|
|
34681
34642
|
connect: {
|
|
34682
34643
|
confirmWalletOwnership: "Haz clic en iniciar sesi\xF3n para confirmar que eres due\xF1o de esta billetera.",
|
|
34683
|
-
connectWallet: "Conectar billetera"
|
|
34684
|
-
enterConfirmationCode: "Ingresa el c\xF3digo de confirmaci\xF3n",
|
|
34685
|
-
checkEmailForCode: "Por favor revisa {{email}} para un correo de {{authProvider}} e ingresa tu c\xF3digo a continuaci\xF3n.",
|
|
34686
|
-
enterYourEmail: "Ingresa tu email",
|
|
34687
|
-
submit: "Enviar",
|
|
34688
|
-
openWarpcast: "Abrir Warpcast",
|
|
34689
|
-
warpcastLink: "Enlace de Warpcast"
|
|
34644
|
+
connectWallet: "Conectar billetera"
|
|
34690
34645
|
},
|
|
34691
34646
|
selectAsset: {
|
|
34692
34647
|
yourTokens: "Tus tokens",
|
|
@@ -35059,6 +35014,504 @@ var es_default = {
|
|
|
35059
35014
|
}
|
|
35060
35015
|
};
|
|
35061
35016
|
|
|
35017
|
+
// src/locales/translations/fr.json
|
|
35018
|
+
var fr_default = {
|
|
35019
|
+
checkout: {
|
|
35020
|
+
noAvailableTokens: "Aucun actif disponible",
|
|
35021
|
+
noAvailableTokensMessage: "Vous n'avez aucun actif dans votre portefeuille. Approvisionnez ou transf\xE9rez des cryptomonnaies vers votre portefeuille pour continuer.",
|
|
35022
|
+
topUpWallet: "Approvisionner le portefeuille",
|
|
35023
|
+
refundProcessing: "Les fonds ont \xE9t\xE9 d\xE9bit\xE9s, mais la transaction n'a pas abouti. Un remboursement est en cours.",
|
|
35024
|
+
orderRefunded: "Votre commande a \xE9t\xE9 rembours\xE9e.",
|
|
35025
|
+
walletLabelTemplate: "{{walletLabel}} ({{formattedAddress}})",
|
|
35026
|
+
connectWalletLabelTemplate: "Connecter {{walletLabel}}"
|
|
35027
|
+
},
|
|
35028
|
+
inputAmount: {
|
|
35029
|
+
availableBalanceTooltip: "Votre solde disponible apr\xE8s frais",
|
|
35030
|
+
availableBalance: "{{amount}} disponibles\xA0\xA0\u24D8",
|
|
35031
|
+
insufficientBalanceSelectAnother: "Solde insuffisant. Veuillez s\xE9lectionner un autre actif.",
|
|
35032
|
+
depositMaxBalance: "D\xE9poser le solde maximum",
|
|
35033
|
+
updateOrder: "Mettre \xE0 jour la commande",
|
|
35034
|
+
insufficientBalance: "Solde insuffisant",
|
|
35035
|
+
maximumDeposit: "D\xE9p\xF4t maximum de {{amount}}",
|
|
35036
|
+
minimumDeposit: "D\xE9p\xF4t minimum de {{amount}}",
|
|
35037
|
+
amountBelowMinimum: "Montant inf\xE9rieur au minimum",
|
|
35038
|
+
amountAboveMaximum: "Montant sup\xE9rieur au maximum",
|
|
35039
|
+
inputAmountGreaterThan: "Saisissez un montant sup\xE9rieur \xE0 {{limit}}.",
|
|
35040
|
+
inputAmountLowerThan: "Saisissez un montant inf\xE9rieur \xE0 {{limit}}.",
|
|
35041
|
+
unableToRetrieveBalance: "Impossible d'obtenir le solde de votre compte. Essayez de reconnecter votre compte.",
|
|
35042
|
+
unableFetchPrice: "Impossible d'obtenir le prix de l'actif. Veuillez r\xE9essayer.",
|
|
35043
|
+
quickOptionsPercent: "{{percent}}%",
|
|
35044
|
+
quickOptionsMax: "Max"
|
|
35045
|
+
},
|
|
35046
|
+
postCheckout: {
|
|
35047
|
+
signatureDeclined: "Signature refus\xE9e. Veuillez confirmer \xE0 nouveau la commande pour r\xE9essayer.",
|
|
35048
|
+
unableToSwitchChains: "Impossible de changer de cha\xEEne. Assurez-vous que votre portefeuille prend en charge cette cha\xEEne.",
|
|
35049
|
+
errorFundingCheckout: "Une erreur s'est produite lors du financement du paiement.",
|
|
35050
|
+
insufficientBalance: "Solde insuffisant.",
|
|
35051
|
+
insufficientAmount: "Montant insuffisant.",
|
|
35052
|
+
errorFundingCheckoutMessage: "Une erreur s'est produite lors du financement du paiement.<br />Veuillez r\xE9essayer ou <ContactSupportLink>contacter le support</ContactSupportLink> pour obtenir de l'aide.",
|
|
35053
|
+
genericErrorMessage: "Une erreur s'est produite. Veuillez r\xE9essayer."
|
|
35054
|
+
},
|
|
35055
|
+
checkoutConfirmation: {
|
|
35056
|
+
quoteExpired: "Cotation expir\xE9e. Veuillez confirmer la nouvelle cotation.",
|
|
35057
|
+
riskErrorMessage: "D\xE9sol\xE9, le paiement {{orgName}} ne peut pas continuer pour des raisons de s\xE9curit\xE9.",
|
|
35058
|
+
signatureDeclined: "Signature refus\xE9e. Veuillez confirmer \xE0 nouveau la commande pour r\xE9essayer.",
|
|
35059
|
+
unableToSwitchChains: "Impossible de changer de cha\xEEne. Assurez-vous que votre portefeuille prend en charge cette cha\xEEne.",
|
|
35060
|
+
walletClientUndefined: "La connexion de votre portefeuille n'a pas r\xE9ussi. Veuillez r\xE9essayer.",
|
|
35061
|
+
genericErrorMessage: "Une erreur s'est produite lors du paiement. Veuillez r\xE9essayer.",
|
|
35062
|
+
confirmOrder: "Confirmer la commande",
|
|
35063
|
+
regeneratingQuote: "R\xE9g\xE9n\xE9ration de la cotation...",
|
|
35064
|
+
depositMaxBalance: "D\xE9poser le montant maximum",
|
|
35065
|
+
retry: "R\xE9essayer",
|
|
35066
|
+
preparingOrderData: "Pr\xE9paration des donn\xE9es de commande...",
|
|
35067
|
+
confirmingOrder: "Confirmation de la commande",
|
|
35068
|
+
confirmNetworkSwitch: "Confirmer le changement de r\xE9seau",
|
|
35069
|
+
waitingForSignature: "En attente de signature",
|
|
35070
|
+
waitingForConfirmation: "En attente de confirmation",
|
|
35071
|
+
signMessage: "Signer le message",
|
|
35072
|
+
confirmTokenTransfer: "Confirmer le transfert de {{tokenSymbol}}",
|
|
35073
|
+
estimateDisclaimer: "Le montant que vous recevrez est une estimation bas\xE9e sur l'heure actuelle et peut diff\xE9rer lors du traitement de la transaction."
|
|
35074
|
+
},
|
|
35075
|
+
funCheckoutBlocked: {
|
|
35076
|
+
geoblock: "D\xE9sol\xE9, le paiement {{orgName}} n'est pas disponible dans votre r\xE9gion.",
|
|
35077
|
+
security: 'D\xE9sol\xE9, le paiement {{orgName}} ne peut pas continuer pour des raisons de s\xE9curit\xE9. Si vous pensez avoir re\xE7u ce message par erreur, veuillez <ContactSupportLink text="contacter le support" />.'
|
|
35078
|
+
},
|
|
35079
|
+
payment: {
|
|
35080
|
+
depositWithPayPal: "D\xE9poser avec PayPal",
|
|
35081
|
+
depositWithCard: "D\xE9poser avec carte",
|
|
35082
|
+
fetchingBalance: "Lecture du solde...",
|
|
35083
|
+
couldntFetchBalance: "Impossible d'obtenir le solde",
|
|
35084
|
+
lowBalance: "Solde insuffisant",
|
|
35085
|
+
notApplicable: "Non applicable",
|
|
35086
|
+
unsupported: "Non pris en charge",
|
|
35087
|
+
disclaimerText: "{{limit}} \u2022 {{time}}",
|
|
35088
|
+
instant: "Instantan\xE9",
|
|
35089
|
+
noLimit: "Pas de limite",
|
|
35090
|
+
fiftyThousandDollars: "$50,000",
|
|
35091
|
+
tenThousandDollars: "$10,000",
|
|
35092
|
+
fiveMinutes: "5 min"
|
|
35093
|
+
},
|
|
35094
|
+
common: {
|
|
35095
|
+
haveQuestions: "Vous avez des questions ?",
|
|
35096
|
+
getHelp: "Obtenir de l'aide",
|
|
35097
|
+
depositsLive: "Les d\xE9p\xF4ts {{tokenName}} sont disponibles !",
|
|
35098
|
+
tryNow: "Essayer maintenant",
|
|
35099
|
+
experiencingProblemsFull: "Vous rencontrez des probl\xE8mes ? <HelpLink>Obtenir de l'aide.</HelpLink>",
|
|
35100
|
+
estimatedTime: "Temps estim\xE9",
|
|
35101
|
+
somethingWentWrong: "Une erreur s'est produite.",
|
|
35102
|
+
allChains: "Toutes les cha\xEEnes",
|
|
35103
|
+
token: "Actif",
|
|
35104
|
+
tokenNotSupportedOnChain: "{{tokenName}} n'est pas pris en charge sur cette cha\xEEne",
|
|
35105
|
+
searchTokens: "Rechercher des actifs",
|
|
35106
|
+
noResultsFound: "Aucun r\xE9sultat trouv\xE9",
|
|
35107
|
+
button: "Bouton",
|
|
35108
|
+
recent: "R\xE9cent",
|
|
35109
|
+
connected: "Connect\xE9",
|
|
35110
|
+
switching: "Changement en cours",
|
|
35111
|
+
confirmInWallet: "Confirmer dans le portefeuille",
|
|
35112
|
+
haveQuestionsGetHelp: "Vous avez des questions ? <GetHelpLink>Obtenir de l'aide</GetHelpLink>",
|
|
35113
|
+
depositsLiveTryNow: "Les d\xE9p\xF4ts {{tokenName}} sont disponibles ! <TryNowLink>Essayer maintenant</TryNowLink>",
|
|
35114
|
+
estimatedGas: "Gaz estim\xE9",
|
|
35115
|
+
processingTime: "Temps de traitement :",
|
|
35116
|
+
learnMore: "En savoir plus",
|
|
35117
|
+
continue: "Continuer",
|
|
35118
|
+
pleaseTryAgainLater: "Veuillez r\xE9essayer plus tard.",
|
|
35119
|
+
noOptionsFound: "Aucune option trouv\xE9e.",
|
|
35120
|
+
seeLess: "Voir moins",
|
|
35121
|
+
moreDetails: "Plus de d\xE9tails",
|
|
35122
|
+
tryAgain: "R\xE9essayer",
|
|
35123
|
+
getStarted: "Commencer",
|
|
35124
|
+
back: "Retour",
|
|
35125
|
+
close: "Fermer",
|
|
35126
|
+
copyAddress: "Copier l'adresse",
|
|
35127
|
+
copied: "Copi\xE9e",
|
|
35128
|
+
auto: "Auto",
|
|
35129
|
+
comingSoon: "Prochainement"
|
|
35130
|
+
},
|
|
35131
|
+
disclaimer: {
|
|
35132
|
+
terms: "conditions",
|
|
35133
|
+
cardDisclaimer: "Cette transaction se d\xE9roule en deux \xE9tapes. MoonPay alimente uniquement votre achat de {{depositToken}} ({{sourceChainName}}) que {{orgName}} {{tokenActionDescription}} ensuite.",
|
|
35134
|
+
tokenActionProcesses: "traite pour votre paiement",
|
|
35135
|
+
tokenActionConverts: "convertit en {{finalConvertedAssetName}} ({{toChainName}})",
|
|
35136
|
+
katanaEarn: "{{cardDisclaimer}}En cliquant sur {{continueText}}, vous acceptez les <TermsLink>conditions</TermsLink> de {{orgName}}, les <KatanaTermsLink>conditions</KatanaTermsLink> de Katana et les <YearnTermsLink>conditions</YearnTermsLink> applicables aux vaults tiers Yearn.",
|
|
35137
|
+
katana: "{{cardDisclaimer}}En cliquant sur {{continueText}}, vous acceptez les <TermsLink>conditions</TermsLink> de {{orgName}}, les <KatanaTermsLink>conditions</KatanaTermsLink> de Katana et Vaultbridge et les <MorphoTermsLink>conditions</MorphoTermsLink> applicables aux vaults tiers Morpho.",
|
|
35138
|
+
default: "{{cardDisclaimer}}En cliquant sur {{continueText}}, vous acceptez nos <TermsLink>conditions</TermsLink>."
|
|
35139
|
+
},
|
|
35140
|
+
connect: {
|
|
35141
|
+
confirmWalletOwnership: "Cliquez sur se connecter pour confirmer que vous \xEAtes propri\xE9taire de ce portefeuille.",
|
|
35142
|
+
connectWallet: "Connecter le portefeuille"
|
|
35143
|
+
},
|
|
35144
|
+
selectAsset: {
|
|
35145
|
+
yourTokens: "Vos actifs",
|
|
35146
|
+
lowBalanceTooltip: "Minimum requis : {{amount}}"
|
|
35147
|
+
},
|
|
35148
|
+
transferToken: {
|
|
35149
|
+
noLimit: "Pas de limite",
|
|
35150
|
+
receiveToken: "Devise re\xE7ue",
|
|
35151
|
+
supportedToken: "Devise prise en charge",
|
|
35152
|
+
supportedChain: "Cha\xEEne compatible",
|
|
35153
|
+
min: "Min",
|
|
35154
|
+
minAmount: "Min {{currency}}{{amount}}",
|
|
35155
|
+
minDepositAmountTooltip: "Montant de d\xE9p\xF4t minimum requis pour la cha\xEEne s\xE9lectionn\xE9e.",
|
|
35156
|
+
yourDepositAddress: "Votre adresse de d\xE9p\xF4t",
|
|
35157
|
+
termsApply: "Conditions applicables",
|
|
35158
|
+
depositAddressOriginalRecipient: "Envoyez n'importe quelle devise prise en charge \xE0 cette adresse",
|
|
35159
|
+
depositAddressUniversal: "Envoyez n'importe quelle devise prise en charge \xE0 cette adresse et elle sera automatiquement \xE9chang\xE9e contre {{targetToken}} dans votre compte"
|
|
35160
|
+
},
|
|
35161
|
+
transaction: {
|
|
35162
|
+
delayed: "Transaction lente",
|
|
35163
|
+
delayedDescription: "La transaction prend un peu plus de temps que pr\xE9vu.<br /><ContactSupportLink>Contactez-nous</ContactSupportLink> pour plus de d\xE9tails.",
|
|
35164
|
+
error: "Erreur de transaction",
|
|
35165
|
+
failedDescription: "Veuillez r\xE9essayer ou <ContactSupportLink>contacter le support</ContactSupportLink> si le probl\xE8me persiste.",
|
|
35166
|
+
pending: "Transaction en attente...",
|
|
35167
|
+
withdrawalSuccessful: "Retrait r\xE9ussi",
|
|
35168
|
+
withdrawalSuccessfulDescription: "Vos fonds ont \xE9t\xE9 retir\xE9s avec succ\xE8s.",
|
|
35169
|
+
depositSuccessful: "D\xE9p\xF4t r\xE9ussi",
|
|
35170
|
+
depositSuccessfulDescription: "Vos fonds ont \xE9t\xE9 d\xE9pos\xE9s avec succ\xE8s.",
|
|
35171
|
+
depositReceivedPending: "D\xE9p\xF4t re\xE7u et en attente...",
|
|
35172
|
+
depositCompleted: "D\xE9p\xF4t termin\xE9",
|
|
35173
|
+
didntComplete: "Non termin\xE9",
|
|
35174
|
+
depositReceivedProcessing: "D\xE9p\xF4t re\xE7u et en cours de traitement...",
|
|
35175
|
+
depositWillBeCredited: "Votre d\xE9p\xF4t sera cr\xE9dit\xE9 sur votre compte sous peu.",
|
|
35176
|
+
depositHasBeenCredited: "Votre d\xE9p\xF4t a \xE9t\xE9 cr\xE9dit\xE9 sur votre compte.",
|
|
35177
|
+
depositRefundedOrReprocessed: "Votre d\xE9p\xF4t a \xE9t\xE9 rembours\xE9 ou trait\xE9 \xE0 nouveau. N'h\xE9sitez pas \xE0 nous contacter pour une mise \xE0 jour.",
|
|
35178
|
+
issueOccurredWithDeposit: "Un probl\xE8me est survenu lors de votre d\xE9p\xF4t. Veuillez r\xE9essayer.",
|
|
35179
|
+
depositDidntCompleteFull: `Votre d\xE9p\xF4t n'a pas abouti. <ContactSupportLink text="Contactez-nous" /> pour plus d'informations.`,
|
|
35180
|
+
depositDelayedFundsSafeFull: `Votre d\xE9p\xF4t est retard\xE9 mais les fonds sont en s\xE9curit\xE9. <ContactSupportLink text="Contactez-nous" /> pour plus d'informations.`,
|
|
35181
|
+
depositExpired: "D\xE9p\xF4t expir\xE9",
|
|
35182
|
+
depositDidntCompleteError: "Votre d\xE9p\xF4t n'a pas abouti en raison d'une erreur.",
|
|
35183
|
+
depositDidntCompleteFundsSafe: "Votre d\xE9p\xF4t n'a pas abouti. Vos fonds sont en s\xE9curit\xE9 et votre commande sera trait\xE9e sous peu. N'h\xE9sitez pas \xE0 nous contacter pour une mise \xE0 jour.",
|
|
35184
|
+
depositBeingProcessedFull: `Votre d\xE9p\xF4t est en cours de traitement. <ContactSupportLink text="Contactez-nous" /> pour plus d'informations.`,
|
|
35185
|
+
transactionDelayedFundsSafeFull: `La transaction a \xE9t\xE9 retard\xE9e mais vos fonds sont en s\xE9curit\xE9. <ContactSupportLink text="Contactez-nous" /> pour plus d'informations.`,
|
|
35186
|
+
submittingTransaction: "Soumission de la transaction...",
|
|
35187
|
+
fillingTransactionOnBlockchain: "Ex\xE9cution de votre transaction sur la blockchain.",
|
|
35188
|
+
withdrawingFromAccount: "Retrait de votre compte...",
|
|
35189
|
+
fundsWillArriveInDuration: "Vos fonds arriveront dans quelques {{durationUnits}}.",
|
|
35190
|
+
depositingIntoAccount: "D\xE9p\xF4t sur votre compte...",
|
|
35191
|
+
willTakeDurationToFinalize: "Il faudra quelques {{durationUnits}} pour {{finalizeVerb}}.",
|
|
35192
|
+
waitingForExchangeToSendFunds: "En attente de l'envoi des fonds par {{exchangeName}}...",
|
|
35193
|
+
fundsAreSafeCanClose: "Vos fonds sont en s\xE9curit\xE9. Vous pouvez fermer cette fen\xEAtre.",
|
|
35194
|
+
contactUs: "Nous contacter",
|
|
35195
|
+
minutes: "minutes",
|
|
35196
|
+
seconds: "secondes",
|
|
35197
|
+
finalize: "finaliser",
|
|
35198
|
+
credit: "cr\xE9diter"
|
|
35199
|
+
},
|
|
35200
|
+
katanaBridge: {
|
|
35201
|
+
highCostsMessage: "Co\xFBts \xE9lev\xE9s ? Essayez <KatanaBridgeLink></KatanaBridgeLink>, plus lent mais moins cher pour le m\xEAme actif.",
|
|
35202
|
+
katanaNativeBridge: "Pont natif de Katana"
|
|
35203
|
+
},
|
|
35204
|
+
badge: {
|
|
35205
|
+
unsuccessful: "\xC9chou\xE9",
|
|
35206
|
+
approved: "Approuv\xE9",
|
|
35207
|
+
incomplete: "Incomplet",
|
|
35208
|
+
pending: "En attente",
|
|
35209
|
+
disabled: "D\xE9sactiv\xE9",
|
|
35210
|
+
failed: "\xC9chou\xE9",
|
|
35211
|
+
unknown: "Inconnu",
|
|
35212
|
+
native: "Natif",
|
|
35213
|
+
sameAsset: "M\xEAme actif",
|
|
35214
|
+
new: "NOUVEAU",
|
|
35215
|
+
icon: "ic\xF4ne de badge"
|
|
35216
|
+
},
|
|
35217
|
+
checkoutHistory: {
|
|
35218
|
+
processing: "En cours",
|
|
35219
|
+
incomplete: "Incomplet",
|
|
35220
|
+
expired: "Expir\xE9",
|
|
35221
|
+
successful: "R\xE9ussi",
|
|
35222
|
+
refunded: "Rembours\xE9",
|
|
35223
|
+
pending: "En attente",
|
|
35224
|
+
fillStatus: "Statut d'ex\xE9cution",
|
|
35225
|
+
totalTime: "Temps total",
|
|
35226
|
+
youReceive: "Vous recevez",
|
|
35227
|
+
moreDetails: "Plus de d\xE9tails",
|
|
35228
|
+
depositAddress: "Adresse de d\xE9p\xF4t",
|
|
35229
|
+
orderSubmitted: "Commande soumise",
|
|
35230
|
+
orderReceived: "Commande re\xE7ue",
|
|
35231
|
+
orderFilled: "Commande ex\xE9cut\xE9e",
|
|
35232
|
+
orderFailed: "Commande \xE9chou\xE9e",
|
|
35233
|
+
orderExpired: "Commande expir\xE9e",
|
|
35234
|
+
newDeposit: "Nouveau d\xE9p\xF4t",
|
|
35235
|
+
newWithdrawal: "Nouveau retrait",
|
|
35236
|
+
orderDelayedTechnicalIssues: "Votre commande a \xE9t\xE9 retard\xE9e en raison de probl\xE8mes techniques. {{orgName}} vous tiendra inform\xE9.",
|
|
35237
|
+
completed: "Termin\xE9",
|
|
35238
|
+
failed: "\xC9chou\xE9"
|
|
35239
|
+
},
|
|
35240
|
+
profile: {
|
|
35241
|
+
executeFirstCheckout: "Effectuez votre premier paiement sur {{appName}}",
|
|
35242
|
+
tokensTab: "Actifs",
|
|
35243
|
+
checkoutsTab: "Paiements",
|
|
35244
|
+
getHelp: "Obtenir de l'aide",
|
|
35245
|
+
address: "Adresse",
|
|
35246
|
+
disconnect: "D\xE9connecter"
|
|
35247
|
+
},
|
|
35248
|
+
withdrawal: {
|
|
35249
|
+
signatureDenied: "Signature refus\xE9e. Veuillez retirer pour r\xE9essayer",
|
|
35250
|
+
quoteError: "\xC9chec de la g\xE9n\xE9ration de la cotation. Veuillez r\xE9essayer.",
|
|
35251
|
+
amountTooLow: "Montant trop faible. Minimum de $1 requis.",
|
|
35252
|
+
chainDisabled: "R\xE9seau indisponible. Changez de r\xE9seau ou r\xE9essayez plus tard.",
|
|
35253
|
+
forbidden: "Acc\xE8s restreint. Compl\xE9tez la v\xE9rification pour continuer.",
|
|
35254
|
+
insufficientFunds: "Fonds insuffisants. R\xE9duisez le montant et r\xE9essayez.",
|
|
35255
|
+
insufficientLiquidity: "Liquidit\xE9 de l'actif faible. R\xE9duisez le montant ou essayez avec un autre actif.",
|
|
35256
|
+
invalidAddress: "Adresse de portefeuille invalide. V\xE9rifiez l'adresse et r\xE9essayez.",
|
|
35257
|
+
invalidInputCurrency: "Actif d'entr\xE9e non pris en charge. V\xE9rifiez l'adresse et r\xE9essayez.",
|
|
35258
|
+
invalidOutputCurrency: "Actif de sortie non pris en charge. V\xE9rifiez l'adresse et r\xE9essayez.",
|
|
35259
|
+
invalidSlippageTolerance: "Valeur de slippage invalide. Doit \xEAtre un nombre entier.",
|
|
35260
|
+
noInternalSwapRoutesFound: "Route indisponible. Essayez avec une autre paire d'actifs.",
|
|
35261
|
+
noQuotes: "Cotation indisponible. R\xE9essayez avec un montant ou actif diff\xE9rent.",
|
|
35262
|
+
noSwapRoutesFound: "Route indisponible. R\xE9essayez avec un montant ou actif diff\xE9rent.",
|
|
35263
|
+
routeTemporarilyRestricted: "Route temporairement indisponible. R\xE9essayez plus tard.",
|
|
35264
|
+
sanctionedCurrency: "Devise restreinte. S\xE9lectionnez un autre actif.",
|
|
35265
|
+
sanctionedWalletAddress: "Adresse bloqu\xE9e. Contactez le support pour examen.",
|
|
35266
|
+
swapImpactTooHigh: "Impact de l'\xE9change \xE9lev\xE9. Choisissez un autre actif ou r\xE9duisez le montant.",
|
|
35267
|
+
unauthorized: "Connectez le portefeuille pour continuer.",
|
|
35268
|
+
unsupportedChain: "Cha\xEEne non prise en charge. Changez de cha\xEEne et r\xE9essayez.",
|
|
35269
|
+
unsupportedCurrency: "Devise non prise en charge. Changez de devise et r\xE9essayez.",
|
|
35270
|
+
unsupportedExecutionType: "M\xE9thode de transaction non prise en charge. S\xE9lectionnez une autre m\xE9thode.",
|
|
35271
|
+
unsupportedRoute: "Paire d'actifs non prises en charge. Essayez des actifs diff\xE9rents.",
|
|
35272
|
+
userRecipientMismatch: "L'exp\xE9diteur et le destinataire doivent correspondre. V\xE9rifiez les adresses.",
|
|
35273
|
+
destinationTxFailed: "Transaction \xE9chou\xE9e. R\xE9essayez ou contactez le support.",
|
|
35274
|
+
erc20RouterAddressNotFound: "Une erreur s'est produite. Essayez une devise diff\xE9rente ou contactez le support.",
|
|
35275
|
+
unknownError: "Une erreur s'est produite. R\xE9essayez ou contactez le support.",
|
|
35276
|
+
swapQuoteFailed: "\xC9chec de la cotation. R\xE9essayez ou contactez le support.",
|
|
35277
|
+
permitFailed: "\xC9chec de la signature. Essayez de signer \xE0 nouveau ou reconnectez le portefeuille.",
|
|
35278
|
+
confirmingQuote: "Confirmation de la commande",
|
|
35279
|
+
processing: "Traitement en cours",
|
|
35280
|
+
enterRecipientAddress: "Entrez l'adresse du destinataire",
|
|
35281
|
+
unsupportedRecipientAddress: "Adresse du destinataire non prise en charge",
|
|
35282
|
+
enterWithdrawAmount: "Entrez le montant du retrait",
|
|
35283
|
+
enterValidAddress: "Entrez une adresse {{chainName}} valide",
|
|
35284
|
+
withdraw: "Retirer",
|
|
35285
|
+
ensureAddressSupportsToken: "Assurez-vous que l'adresse prend en charge la r\xE9ception de {{token}} sur {{chainName}}.",
|
|
35286
|
+
ensureAddressSupportsTokenNoChain: "Assurez-vous que l'adresse prend en charge la r\xE9ception de {{token}}.",
|
|
35287
|
+
failedToFetchAssetPrice: "Impossible d'obtenir le prix de l'actif",
|
|
35288
|
+
receiveToken: "Devise re\xE7ue",
|
|
35289
|
+
receiveChain: "Cha\xEEne de r\xE9ception",
|
|
35290
|
+
youWillReceive: "Vous recevrez",
|
|
35291
|
+
usdceWarning: "<strong>USDCe n'est pas pris en charge par la plupart des exchanges.</strong><br />L'envoi d'USDCe vers une plateforme ne le prenant pas en charge peut entra\xEEner une perte permanente de fonds. V\xE9rifiez toujours la compatibilit\xE9 des cryptomonnaies avant de transf\xE9rer.",
|
|
35292
|
+
recipientAddress: "Adresse du destinataire",
|
|
35293
|
+
invalidWalletAddress: "Adresse de portefeuille invalide",
|
|
35294
|
+
useConnected: "Utiliser connect\xE9",
|
|
35295
|
+
walletAddressRestricted: "Cette adresse de portefeuille ne peut pas \xEAtre utilis\xE9e en raison de restrictions.",
|
|
35296
|
+
amount: "Montant",
|
|
35297
|
+
insufficientBalance: "Solde insuffisant",
|
|
35298
|
+
minimumWithdrawAmount: "Le montant minimum de retrait est de {{amount}}",
|
|
35299
|
+
max: "Max",
|
|
35300
|
+
balance: "Solde : {{amount}} {{symbol}}"
|
|
35301
|
+
},
|
|
35302
|
+
directExecution: {
|
|
35303
|
+
fillStatus: "Statut d'ex\xE9cution",
|
|
35304
|
+
totalTime: "Temps total",
|
|
35305
|
+
moreDetails: "Plus de d\xE9tails",
|
|
35306
|
+
withdrawalTx: "Transaction de retrait",
|
|
35307
|
+
depositTx: "Transaction de d\xE9p\xF4t",
|
|
35308
|
+
completionTx: "Transaction de finalisation",
|
|
35309
|
+
orderSubmitted: "Commande soumise",
|
|
35310
|
+
orderStatus: "Commande {{status}}",
|
|
35311
|
+
statusFailed: "\xE9chou\xE9e",
|
|
35312
|
+
statusRefunded: "rembours\xE9e",
|
|
35313
|
+
statusFilled: "ex\xE9cut\xE9e"
|
|
35314
|
+
},
|
|
35315
|
+
directExecutionNotif: {
|
|
35316
|
+
depositTransactionInitiated: "Transaction de d\xE9p\xF4t initi\xE9e",
|
|
35317
|
+
depositCompletedNotification: "Vous recevrez une notification ici une fois le d\xE9p\xF4t termin\xE9.",
|
|
35318
|
+
withdrawalTransactionInitiated: "Transaction de retrait initi\xE9e",
|
|
35319
|
+
withdrawalCompletedNotification: "Vous recevrez une notification ici une fois le retrait termin\xE9."
|
|
35320
|
+
},
|
|
35321
|
+
fees: {
|
|
35322
|
+
cardProcessingFee: "Frais de traitement de carte",
|
|
35323
|
+
cardProcessingFeeTooltip: "Frais factur\xE9s par le fournisseur de carte pour le traitement de votre transaction.",
|
|
35324
|
+
moonpayCost: "Co\xFBt MoonPay",
|
|
35325
|
+
moonpayCostTooltip: "Frais factur\xE9s par MoonPay pour le traitement de votre transaction.",
|
|
35326
|
+
exchangeProcessingFee: "Frais de traitement d'exchange",
|
|
35327
|
+
exchangeProcessingFeeTooltip: "Frais factur\xE9s par l'exchange pour le traitement de votre transaction.",
|
|
35328
|
+
receiveAtLeast: "Vous recevrez au moins",
|
|
35329
|
+
exchangeRate: "Taux de change",
|
|
35330
|
+
networkCost: "Frais de r\xE9seau",
|
|
35331
|
+
totalCost: "Co\xFBt total",
|
|
35332
|
+
sourceChainGas: "Gaz de la cha\xEEne source",
|
|
35333
|
+
destinationChainGas: "Gaz de la cha\xEEne de destination",
|
|
35334
|
+
priceImpact: "Impact sur le prix",
|
|
35335
|
+
totalImpact: "Impact total",
|
|
35336
|
+
swapImpact: "Impact de l'\xE9change",
|
|
35337
|
+
funxyzFee: "Frais Fun.xyz",
|
|
35338
|
+
swapFee: "Frais d'\xE9change",
|
|
35339
|
+
instantLiquidityCost: "Co\xFBt de liquidit\xE9 instantan\xE9e",
|
|
35340
|
+
maxSlippage: "Slippage maximum",
|
|
35341
|
+
autoSlippageValue: "Auto \u2022 {{value}}",
|
|
35342
|
+
slippageTooltip: "Le slippage se produit en raison des changements de prix pendant l'ex\xE9cution de la transaction.",
|
|
35343
|
+
slippageTooltipWithMin: "Le slippage se produit en raison des changements de prix pendant l'ex\xE9cution de la transaction. Minimum re\xE7u : {{minReceived}}",
|
|
35344
|
+
marketMakerGasCosts: "Co\xFBts de gaz du teneur de march\xE9",
|
|
35345
|
+
marketMakerGasCostsTooltip: "Co\xFBt du traitement de la commande sur la blockchain, incluant le gaz et le routage requis.",
|
|
35346
|
+
lpCost: "Co\xFBt LP",
|
|
35347
|
+
lpCostTooltip: "Factur\xE9 pour couvrir les co\xFBts de fourniture de liquidit\xE9 sur la blockchain.",
|
|
35348
|
+
yourGasCosts: "Vos frais de gaz",
|
|
35349
|
+
yourGasCostsTooltip: "Montant pay\xE9 pour envoyer des actifs \xE0 votre adresse de d\xE9p\xF4t.",
|
|
35350
|
+
transactionBreakdown: "D\xE9tail de la transaction",
|
|
35351
|
+
priceImpactTooltip: "L'impact sur le prix est la diff\xE9rence entre le prix attendu et le prix d'ex\xE9cution, due \xE0 la taille de la transaction et \xE0 la liquidit\xE9.<br /><br />Le co\xFBt final peut varier en fonction des conditions du r\xE9seau. Les co\xFBts sont r\xE9duits pour les montants plus \xE9lev\xE9s. <LearnMoreLink>En savoir plus</LearnMoreLink> sur la r\xE9partition des prix.",
|
|
35352
|
+
slippageTooltipFull: "Le slippage tient compte des changements de prix pendant l'ex\xE9cution. Le slippage est ajust\xE9 par paire pour garantir une ex\xE9cution fiable.<br /><br />Le co\xFBt final peut varier en fonction des conditions du r\xE9seau. Les co\xFBts sont r\xE9duits pour les montants plus \xE9lev\xE9s. <LearnMoreLink>En savoir plus</LearnMoreLink> sur la r\xE9partition des prix."
|
|
35353
|
+
},
|
|
35354
|
+
paymentRoute: {
|
|
35355
|
+
wallet: "Portefeuille",
|
|
35356
|
+
source: "Source",
|
|
35357
|
+
destination: "Destination"
|
|
35358
|
+
},
|
|
35359
|
+
virtualFiatAccount: {
|
|
35360
|
+
walletAddressNotAvailable: "L'adresse du portefeuille n'est pas disponible",
|
|
35361
|
+
incorrectEmailFormat: "Format d'email incorrect",
|
|
35362
|
+
emailAlreadyInUse: "L'adresse email est d\xE9j\xE0 utilis\xE9e",
|
|
35363
|
+
firstName: "Pr\xE9nom",
|
|
35364
|
+
firstNamePlaceholder: "Jean",
|
|
35365
|
+
lastName: "Nom",
|
|
35366
|
+
lastNamePlaceholder: "Dupont",
|
|
35367
|
+
email: "Email",
|
|
35368
|
+
emailPlaceholder: "nom@email.com",
|
|
35369
|
+
consentText: 'Cette application utilise Bridge pour connecter des comptes de mani\xE8re s\xE9curis\xE9e et d\xE9placer des fonds. En cliquant sur "Accepter", vous acceptez les <TosLink></TosLink> et la <PrivacyLink></PrivacyLink> de Bridge',
|
|
35370
|
+
continue: "Continuer",
|
|
35371
|
+
accountNumber: "Num\xE9ro de compte",
|
|
35372
|
+
routingNumber: "Num\xE9ro de routage",
|
|
35373
|
+
iban: "IBAN",
|
|
35374
|
+
swiftBic: "SWIFT / BIC",
|
|
35375
|
+
accountHolderName: "Nom du titulaire du compte",
|
|
35376
|
+
beneficiaryName: "Nom du b\xE9n\xE9ficiaire",
|
|
35377
|
+
bankName: "Nom de la banque",
|
|
35378
|
+
bankAddress: "Adresse de la banque",
|
|
35379
|
+
currency: "Devise",
|
|
35380
|
+
loadingVerificationStatus: "Chargement du statut de v\xE9rification...",
|
|
35381
|
+
verificationUnsuccessfulTitle: "V\xE9rification \xE9chou\xE9e",
|
|
35382
|
+
verificationUnsuccessfulDescription: "Votre v\xE9rification KYC a \xE9chou\xE9. Veuillez v\xE9rifier les informations soumises et r\xE9essayer. Si le probl\xE8me persiste, <ContactSupportLink>contactez le support</ContactSupportLink> pour obtenir de l'aide.",
|
|
35383
|
+
verificationSuccessfulTitle: "V\xE9rification r\xE9ussie",
|
|
35384
|
+
verificationSuccessfulDescription: "Votre v\xE9rification KYC a \xE9t\xE9 compl\xE9t\xE9e avec succ\xE8s ! Vous \xEAtes maintenant v\xE9rifi\xE9 et pouvez continuer \xE0 utiliser nos services.",
|
|
35385
|
+
verifyYourIdentityTitle: "V\xE9rifiez votre identit\xE9",
|
|
35386
|
+
verifyYourIdentityDescription: "Avant d'utiliser les services fiat, vous devez compl\xE9ter la v\xE9rification d'identit\xE9 pour confirmer votre identit\xE9. Nous sommes l\xE9galement tenus de collecter ces informations.",
|
|
35387
|
+
accountPausedTitle: "Compte suspendu",
|
|
35388
|
+
accountPausedDescription: "Votre compte est temporairement suspendu en raison d'une activit\xE9 sur la plateforme. Si vous avez des questions ou besoin d'une assistance suppl\xE9mentaire, veuillez <ContactSupportLink>contacter notre support</ContactSupportLink> pour plus d'informations.",
|
|
35389
|
+
verificationPendingTitle: "V\xE9rification en attente",
|
|
35390
|
+
verificationPendingDescription: "Votre v\xE9rification KYC est actuellement en cours. Ce processus prend g\xE9n\xE9ralement quelques minutes, mais dans certains cas, cela peut prendre plus de temps. Merci de votre patience.",
|
|
35391
|
+
accountDisabledTitle: "Compte d\xE9sactiv\xE9",
|
|
35392
|
+
accountDisabledDescription: "Votre compte a \xE9t\xE9 d\xE9sactiv\xE9 en raison d'exigences de conformit\xE9 l\xE9gale. Si vous avez des questions ou besoin d'une assistance suppl\xE9mentaire, veuillez <ContactSupportLink>contacter notre support</ContactSupportLink> pour plus d'informations.",
|
|
35393
|
+
verificationFailedTitle: "V\xE9rification \xE9chou\xE9e",
|
|
35394
|
+
verificationFailedDescription: "Votre v\xE9rification KYC a \xE9chou\xE9. Pour plus d'informations, veuillez <ContactSupportLink>contacter le support</ContactSupportLink> pour obtenir de l'aide.",
|
|
35395
|
+
proofOfAddress: "Justificatif de domicile",
|
|
35396
|
+
governmentId: "Pi\xE8ce d'identit\xE9 gouvernementale",
|
|
35397
|
+
creatingVirtualAccount: "Cr\xE9ation du compte virtuel...",
|
|
35398
|
+
kycVerification: "V\xE9rification KYC",
|
|
35399
|
+
createVirtualAccount: "Cr\xE9ez votre compte fiat virtuel EUR",
|
|
35400
|
+
transferDetails: "Les d\xE9tails de transfert pour les paiements SEPA vous seront fournis. Une fois trait\xE9s, les fonds que vous enverrez au compte seront automatiquement d\xE9pos\xE9s sur votre compte {{appName}}.",
|
|
35401
|
+
takeLessThan3Mins: "Devrait prendre moins de 3 minutes"
|
|
35402
|
+
},
|
|
35403
|
+
brokerage: {
|
|
35404
|
+
verificationRequired: "V\xE9rification requise",
|
|
35405
|
+
enter2FACode: "Entrez votre code 2FA {{brokerName}}",
|
|
35406
|
+
enter2FADescription: "Entrez votre code d'authentification \xE0 deux facteurs. Ce code peut se trouver dans votre application d'authentification, email, PIN de trading ou SMS.",
|
|
35407
|
+
twoFASetupRequired: "Configuration 2FA requise",
|
|
35408
|
+
twoFASetupDescription: "Veuillez activer SMS ou l'application d'authentification comme m\xE9thode 2FA sur votre compte {{brokerName}} et r\xE9essayer.",
|
|
35409
|
+
kycRequired: "KYC requis",
|
|
35410
|
+
kycRequiredDescription: "{{brokerName}} exige que vous compl\xE9tiez la v\xE9rification KYC avant de pouvoir retirer. Veuillez v\xE9rifier votre identit\xE9 et r\xE9essayer.",
|
|
35411
|
+
somethingWentWrong: "Une erreur s'est produite. Veuillez r\xE9essayer.",
|
|
35412
|
+
invalid2FACode: "Code 2FA invalide. Veuillez r\xE9essayer.",
|
|
35413
|
+
withdrawalError: "Une erreur s'est produite lors du retrait. Veuillez r\xE9essayer.",
|
|
35414
|
+
meshExecutionError: "Une erreur s'est produite lors de l'ex\xE9cution Mesh.",
|
|
35415
|
+
meshExecutionErrorFull: "Une erreur s'est produite lors de l'ex\xE9cution Mesh.<br />Veuillez r\xE9essayer ou <ContactSupportLink></ContactSupportLink> pour obtenir de l'aide.",
|
|
35416
|
+
executingBrokerageTransfer: "Ex\xE9cution du transfert de courtage",
|
|
35417
|
+
goBack: "Retour",
|
|
35418
|
+
continue: "Continuer",
|
|
35419
|
+
credentialsNeverStored: "Vos identifiants de connexion ne sont jamais stock\xE9s",
|
|
35420
|
+
dataEncrypted: "Toutes les donn\xE9es sont chiffr\xE9es entre {{appName}} et {{exchangeName}}.",
|
|
35421
|
+
twoFaAlwaysRequired: "2FA toujours requis",
|
|
35422
|
+
transfersRequireApproval: "Les transferts ne peuvent pas \xEAtre effectu\xE9s sans votre approbation.",
|
|
35423
|
+
meshConnectionError: "Un probl\xE8me est survenu lors de la connexion \xE0 Mesh. Veuillez r\xE9essayer.",
|
|
35424
|
+
thirdPartyConnectionMessage: "{{appName}} utilisera un tiers pour connecter votre compte {{exchangeName}}."
|
|
35425
|
+
},
|
|
35426
|
+
sourceChange: {
|
|
35427
|
+
selectPaymentMethod: "S\xE9lectionnez le mode de paiement",
|
|
35428
|
+
moreOptions: "Plus d'options",
|
|
35429
|
+
more: "plus",
|
|
35430
|
+
walletDisplayLabel: "{{walletLabel}}",
|
|
35431
|
+
brokerageDisplayLabel: "{{brokerageLabel}}",
|
|
35432
|
+
virtualFiatDisplayLabel: "{{virtualFiatLabel}}"
|
|
35433
|
+
},
|
|
35434
|
+
quote: {
|
|
35435
|
+
preparingYourQuote: "Pr\xE9paration de votre cotation...",
|
|
35436
|
+
verifyingWithProvider: "V\xE9rification avec le fournisseur {{provider}}...",
|
|
35437
|
+
estimatingGas: "Estimation du gaz...",
|
|
35438
|
+
finalizingYourQuote: "Finalisation de votre cotation...",
|
|
35439
|
+
defaultError: "Une erreur s'est produite lors de la g\xE9n\xE9ration de la cotation. Veuillez r\xE9essayer.",
|
|
35440
|
+
noRoutesFound: "Aucune route trouv\xE9e.",
|
|
35441
|
+
checkoutAmountTooLow: "Le montant du paiement est trop bas. Veuillez r\xE9essayer.",
|
|
35442
|
+
insufficientBalance: "Solde insuffisant pour effectuer le paiement avec les frais. Veuillez r\xE9essayer."
|
|
35443
|
+
},
|
|
35444
|
+
relay: {
|
|
35445
|
+
confirmTransaction: "Confirmez la transaction dans votre portefeuille",
|
|
35446
|
+
waitingForConfirmation: "En attente de confirmation de la transaction",
|
|
35447
|
+
transactionConfirmed: "Transaction confirm\xE9e"
|
|
35448
|
+
},
|
|
35449
|
+
textCustomizations: {
|
|
35450
|
+
virtualFiat: "D\xE9poser avec SEPA",
|
|
35451
|
+
brokerageOrExchange: "Connecter un exchange",
|
|
35452
|
+
debitOrCredit: "D\xE9poser avec carte",
|
|
35453
|
+
accountBalance: "Portefeuille",
|
|
35454
|
+
selectAccount: "S\xE9lectionner un exchange",
|
|
35455
|
+
sourceMethodTitle: "Votre source",
|
|
35456
|
+
tokensListTitle: "Vos actifs",
|
|
35457
|
+
transferTokens: "Transf\xE9rer des cryptos",
|
|
35458
|
+
receiveDropdownTitle: "",
|
|
35459
|
+
receiveDropdownLabel: "Actif \xE0 recevoir",
|
|
35460
|
+
payAmountLabel: "Vous envoyez",
|
|
35461
|
+
receiveAmountLabel: "Vous recevez"
|
|
35462
|
+
},
|
|
35463
|
+
time: {
|
|
35464
|
+
oneSecond: "1 seconde",
|
|
35465
|
+
lessThanOneMin: "< 1 min",
|
|
35466
|
+
seconds: "{{count}} secondes",
|
|
35467
|
+
minutes: "{{count}} min",
|
|
35468
|
+
hours: "{{count}} h",
|
|
35469
|
+
secondsShort: "{{count}} s"
|
|
35470
|
+
},
|
|
35471
|
+
meld: {
|
|
35472
|
+
provider: "Fournisseur",
|
|
35473
|
+
autoPickedForYou: "S\xE9lectionn\xE9 automatiquement pour vous",
|
|
35474
|
+
buyMore: "Acheter plus",
|
|
35475
|
+
noDocumentUpload: "Pas de documents requis",
|
|
35476
|
+
bestPrice: "Le meilleur prix",
|
|
35477
|
+
fastest: "Le plus rapide",
|
|
35478
|
+
bestPriceFastest: "Le meilleur prix, Le plus rapide",
|
|
35479
|
+
noQuotesFoundForProvider: "Aucune cotation trouv\xE9e pour le fournisseur et le montant s\xE9lectionn\xE9s.",
|
|
35480
|
+
errorNotified: "Il semble qu'une erreur est survenue. Notre \xE9quipe a \xE9t\xE9 notifi\xE9e du probl\xE8me",
|
|
35481
|
+
noQuotesFound: "Aucune cotation trouv\xE9e"
|
|
35482
|
+
},
|
|
35483
|
+
chainModal: {
|
|
35484
|
+
switchNetworks: "Changer de r\xE9seaux",
|
|
35485
|
+
wrongNetworkDetected: "Mauvais r\xE9seau d\xE9tect\xE9, changez ou d\xE9connectez-vous pour continuer.",
|
|
35486
|
+
disconnect: "Se d\xE9connecter",
|
|
35487
|
+
chainSelector: "S\xE9lecteur de cha\xEEne",
|
|
35488
|
+
wrongNetwork: "Mauvais r\xE9seau"
|
|
35489
|
+
},
|
|
35490
|
+
meldCurrencySelect: {
|
|
35491
|
+
searchCurrency: "Rechercher une devise",
|
|
35492
|
+
noResultsFound: "Aucun r\xE9sultat trouv\xE9"
|
|
35493
|
+
},
|
|
35494
|
+
meldRedirect: {
|
|
35495
|
+
completeTransactionWith: "Compl\xE9tez la transaction avec {{providerLabel}}",
|
|
35496
|
+
canCloseModal: "Vous pouvez fermer cette fen\xEAtre.",
|
|
35497
|
+
youBuy: "Vous achetez",
|
|
35498
|
+
intentAddressWarning: "L'adresse de destination affich\xE9e dans l'on-ramp est une adresse d'intention - pas votre adresse de compte personnel."
|
|
35499
|
+
},
|
|
35500
|
+
dev: {
|
|
35501
|
+
devEmbed: "Dev Embed"
|
|
35502
|
+
},
|
|
35503
|
+
support: {
|
|
35504
|
+
requestSent: "Demande envoy\xE9e",
|
|
35505
|
+
requestSentDescription: "Notre \xE9quipe a re\xE7u votre demande et vous contactera bient\xF4t. Nous appr\xE9cions votre patience.",
|
|
35506
|
+
tellUsMore: "Dites-nous en plus",
|
|
35507
|
+
tellUsMoreDescription: "Si vous rencontrez un probl\xE8me ou avez une question, veuillez remplir le formulaire ci-dessous et notre \xE9quipe de support vous r\xE9pondra d\xE8s que possible.",
|
|
35508
|
+
email: "Email*",
|
|
35509
|
+
subject: "Sujet*",
|
|
35510
|
+
description: "Description*",
|
|
35511
|
+
resolutionPreference: "Pr\xE9f\xE9rence de r\xE9solution*"
|
|
35512
|
+
}
|
|
35513
|
+
};
|
|
35514
|
+
|
|
35062
35515
|
// src/locales/translations/ja.json
|
|
35063
35516
|
var ja_default = {
|
|
35064
35517
|
checkout: {
|
|
@@ -35137,7 +35590,6 @@ var ja_default = {
|
|
|
35137
35590
|
fiveMinutes: "5\u5206"
|
|
35138
35591
|
},
|
|
35139
35592
|
common: {
|
|
35140
|
-
privyIframeTitle: "Privy",
|
|
35141
35593
|
haveQuestions: "\u3054\u8CEA\u554F\u304C\u3042\u308A\u307E\u3059\u304B\uFF1F",
|
|
35142
35594
|
getHelp: "\u30D8\u30EB\u30D7\u3092\u898B\u308B",
|
|
35143
35595
|
depositsLive: "{{tokenName}}\u306E\u5165\u91D1\u304C\u5229\u7528\u53EF\u80FD\u306B\u306A\u308A\u307E\u3057\u305F\uFF01",
|
|
@@ -35168,16 +35620,11 @@ var ja_default = {
|
|
|
35168
35620
|
tryAgain: "\u518D\u8A66\u884C",
|
|
35169
35621
|
getStarted: "\u59CB\u3081\u308B",
|
|
35170
35622
|
back: "\u623B\u308B",
|
|
35171
|
-
accountTypeEmail: "\u30E1\u30FC\u30EB",
|
|
35172
|
-
accountTypeTwitter: "Twitter ID",
|
|
35173
|
-
accountTypeApple: "Apple ID",
|
|
35174
|
-
accountTypeFarcaster: "Farcaster ID",
|
|
35175
35623
|
close: "\u9589\u3058\u308B",
|
|
35176
35624
|
copyAddress: "\u30A2\u30C9\u30EC\u30B9\u3092\u30B3\u30D4\u30FC",
|
|
35177
35625
|
copied: "\u30B3\u30D4\u30FC\u3057\u307E\u3057\u305F",
|
|
35178
35626
|
auto: "\u81EA\u52D5",
|
|
35179
|
-
comingSoon: "\u8FD1\u65E5\u516C\u958B"
|
|
35180
|
-
or: "\u307E\u305F\u306F"
|
|
35627
|
+
comingSoon: "\u8FD1\u65E5\u516C\u958B"
|
|
35181
35628
|
},
|
|
35182
35629
|
disclaimer: {
|
|
35183
35630
|
terms: "\u5229\u7528\u898F\u7D04",
|
|
@@ -35190,13 +35637,7 @@ var ja_default = {
|
|
|
35190
35637
|
},
|
|
35191
35638
|
connect: {
|
|
35192
35639
|
confirmWalletOwnership: "\u3053\u306E\u30A6\u30A9\u30EC\u30C3\u30C8\u304C\u3042\u306A\u305F\u306E\u3082\u306E\u3067\u3042\u308B\u3053\u3068\u3092\u78BA\u8A8D\u3059\u308B\u305F\u3081\u306B\u30B5\u30A4\u30F3\u30A4\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
35193
|
-
connectWallet: "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u63A5\u7D9A"
|
|
35194
|
-
enterConfirmationCode: "\u78BA\u8A8D\u30B3\u30FC\u30C9\u3092\u5165\u529B",
|
|
35195
|
-
checkEmailForCode: "{{authProvider}}\u304B\u3089{{email}}\u306B\u9001\u4FE1\u3055\u308C\u305F\u78BA\u8A8D\u30B3\u30FC\u30C9\u3092\u4EE5\u4E0B\u306B\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
|
|
35196
|
-
enterYourEmail: "\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3092\u5165\u529B",
|
|
35197
|
-
submit: "\u9001\u4FE1",
|
|
35198
|
-
openWarpcast: "Warpcast\u3092\u958B\u304F",
|
|
35199
|
-
warpcastLink: "Warpcast\u30EA\u30F3\u30AF"
|
|
35640
|
+
connectWallet: "\u30A6\u30A9\u30EC\u30C3\u30C8\u3092\u63A5\u7D9A"
|
|
35200
35641
|
},
|
|
35201
35642
|
selectAsset: {
|
|
35202
35643
|
yourTokens: "\u3042\u306A\u305F\u306E\u30C8\u30FC\u30AF\u30F3",
|
|
@@ -35647,7 +36088,6 @@ var ko_default = {
|
|
|
35647
36088
|
fiveMinutes: "5\uBD84"
|
|
35648
36089
|
},
|
|
35649
36090
|
common: {
|
|
35650
|
-
privyIframeTitle: "Privy",
|
|
35651
36091
|
haveQuestions: "\uC9C8\uBB38\uC774 \uC788\uC73C\uC2E0\uAC00\uC694?",
|
|
35652
36092
|
getHelp: "\uB3C4\uC6C0\uBC1B\uAE30",
|
|
35653
36093
|
depositsLive: "{{tokenName}} \uC785\uAE08\uC774 \uD65C\uC131\uD654\uB418\uC5C8\uC2B5\uB2C8\uB2E4!",
|
|
@@ -35678,16 +36118,11 @@ var ko_default = {
|
|
|
35678
36118
|
tryAgain: "\uB2E4\uC2DC \uC2DC\uB3C4",
|
|
35679
36119
|
getStarted: "\uC2DC\uC791\uD558\uAE30",
|
|
35680
36120
|
back: "\uB4A4\uB85C",
|
|
35681
|
-
accountTypeEmail: "\uC774\uBA54\uC77C",
|
|
35682
|
-
accountTypeTwitter: "Twitter ID",
|
|
35683
|
-
accountTypeApple: "Apple ID",
|
|
35684
|
-
accountTypeFarcaster: "Farcaster ID",
|
|
35685
36121
|
close: "\uB2EB\uAE30",
|
|
35686
36122
|
copyAddress: "\uC8FC\uC18C \uBCF5\uC0AC",
|
|
35687
36123
|
copied: "\uBCF5\uC0AC\uB428",
|
|
35688
36124
|
auto: "\uC790\uB3D9",
|
|
35689
|
-
comingSoon: "\uACE7 \uCD9C\uC2DC"
|
|
35690
|
-
or: "\uB610\uB294"
|
|
36125
|
+
comingSoon: "\uACE7 \uCD9C\uC2DC"
|
|
35691
36126
|
},
|
|
35692
36127
|
disclaimer: {
|
|
35693
36128
|
terms: "\uC57D\uAD00",
|
|
@@ -35700,13 +36135,7 @@ var ko_default = {
|
|
|
35700
36135
|
},
|
|
35701
36136
|
connect: {
|
|
35702
36137
|
confirmWalletOwnership: "\uC774 \uC9C0\uAC11\uC744 \uC18C\uC720\uD558\uACE0 \uC788\uC74C\uC744 \uD655\uC778\uD558\uB824\uBA74 \uB85C\uADF8\uC778\uC744 \uD074\uB9AD\uD558\uC138\uC694.",
|
|
35703
|
-
connectWallet: "\uC9C0\uAC11 \uC5F0\uACB0"
|
|
35704
|
-
enterConfirmationCode: "\uD655\uC778 \uCF54\uB4DC \uC785\uB825",
|
|
35705
|
-
checkEmailForCode: "{{authProvider}}\uC5D0\uC11C {{email}}(\uC73C)\uB85C \uBCF4\uB0B8 \uC774\uBA54\uC77C\uC744 \uD655\uC778\uD558\uACE0 \uC544\uB798\uC5D0 \uCF54\uB4DC\uB97C \uC785\uB825\uD558\uC138\uC694.",
|
|
35706
|
-
enterYourEmail: "\uC774\uBA54\uC77C \uC785\uB825",
|
|
35707
|
-
submit: "\uC81C\uCD9C",
|
|
35708
|
-
openWarpcast: "Warpcast \uC5F4\uAE30",
|
|
35709
|
-
warpcastLink: "Warpcast \uB9C1\uD06C"
|
|
36138
|
+
connectWallet: "\uC9C0\uAC11 \uC5F0\uACB0"
|
|
35710
36139
|
},
|
|
35711
36140
|
selectAsset: {
|
|
35712
36141
|
yourTokens: "\uB0B4 \uD1A0\uD070",
|
|
@@ -36157,7 +36586,6 @@ var ru_default = {
|
|
|
36157
36586
|
fiveMinutes: "5 \u043C\u0438\u043D"
|
|
36158
36587
|
},
|
|
36159
36588
|
common: {
|
|
36160
|
-
privyIframeTitle: "Privy",
|
|
36161
36589
|
haveQuestions: "\u0415\u0441\u0442\u044C \u0432\u043E\u043F\u0440\u043E\u0441\u044B?",
|
|
36162
36590
|
getHelp: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u043E\u043C\u043E\u0449\u044C",
|
|
36163
36591
|
depositsLive: "\u0414\u0435\u043F\u043E\u0437\u0438\u0442\u044B {{tokenName}} \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B!",
|
|
@@ -36188,16 +36616,11 @@ var ru_default = {
|
|
|
36188
36616
|
tryAgain: "\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430",
|
|
36189
36617
|
getStarted: "\u041D\u0430\u0447\u0430\u0442\u044C",
|
|
36190
36618
|
back: "\u041D\u0430\u0437\u0430\u0434",
|
|
36191
|
-
accountTypeEmail: "Email",
|
|
36192
|
-
accountTypeTwitter: "Twitter ID",
|
|
36193
|
-
accountTypeApple: "Apple ID",
|
|
36194
|
-
accountTypeFarcaster: "Farcaster ID",
|
|
36195
36619
|
close: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C",
|
|
36196
36620
|
copyAddress: "\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0430\u0434\u0440\u0435\u0441",
|
|
36197
36621
|
copied: "\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E",
|
|
36198
36622
|
auto: "\u0410\u0432\u0442\u043E",
|
|
36199
|
-
comingSoon: "\u0421\u043A\u043E\u0440\u043E"
|
|
36200
|
-
or: "\u0438\u043B\u0438"
|
|
36623
|
+
comingSoon: "\u0421\u043A\u043E\u0440\u043E"
|
|
36201
36624
|
},
|
|
36202
36625
|
disclaimer: {
|
|
36203
36626
|
terms: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F",
|
|
@@ -36210,13 +36633,7 @@ var ru_default = {
|
|
|
36210
36633
|
},
|
|
36211
36634
|
connect: {
|
|
36212
36635
|
confirmWalletOwnership: "\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0432\u043E\u0439\u0442\u0438, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C, \u0447\u0442\u043E \u0432\u044B \u0432\u043B\u0430\u0434\u0435\u0435\u0442\u0435 \u044D\u0442\u0438\u043C \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u043E\u043C.",
|
|
36213
|
-
connectWallet: "\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043A\u043E\u0448\u0435\u043B\u0451\u043A"
|
|
36214
|
-
enterConfirmationCode: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043A\u043E\u0434 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F",
|
|
36215
|
-
checkEmailForCode: "\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 {{email}} \u0434\u043B\u044F email \u043E\u0442 {{authProvider}} \u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0432\u0430\u0448 \u043A\u043E\u0434 \u043D\u0438\u0436\u0435.",
|
|
36216
|
-
enterYourEmail: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0432\u0430\u0448 email",
|
|
36217
|
-
submit: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C",
|
|
36218
|
-
openWarpcast: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C Warpcast",
|
|
36219
|
-
warpcastLink: "\u0421\u0441\u044B\u043B\u043A\u0430 Warpcast"
|
|
36636
|
+
connectWallet: "\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043A\u043E\u0448\u0435\u043B\u0451\u043A"
|
|
36220
36637
|
},
|
|
36221
36638
|
selectAsset: {
|
|
36222
36639
|
yourTokens: "\u0412\u0430\u0448\u0438 \u0442\u043E\u043A\u0435\u043D\u044B",
|
|
@@ -36667,7 +37084,6 @@ var tr_default = {
|
|
|
36667
37084
|
fiveMinutes: "5 dk"
|
|
36668
37085
|
},
|
|
36669
37086
|
common: {
|
|
36670
|
-
privyIframeTitle: "Privy",
|
|
36671
37087
|
haveQuestions: "Sorular\u0131n\u0131z m\u0131 var?",
|
|
36672
37088
|
getHelp: "Yard\u0131m al\u0131n",
|
|
36673
37089
|
depositsLive: "{{tokenName}} yat\u0131r\u0131mlar\u0131 aktif!",
|
|
@@ -36698,16 +37114,11 @@ var tr_default = {
|
|
|
36698
37114
|
tryAgain: "Tekrar dene",
|
|
36699
37115
|
getStarted: "Ba\u015Flay\u0131n",
|
|
36700
37116
|
back: "Geri",
|
|
36701
|
-
accountTypeEmail: "E-posta",
|
|
36702
|
-
accountTypeTwitter: "Twitter ID",
|
|
36703
|
-
accountTypeApple: "Apple ID",
|
|
36704
|
-
accountTypeFarcaster: "Farcaster ID",
|
|
36705
37117
|
close: "Kapat",
|
|
36706
37118
|
copyAddress: "Adresi kopyala",
|
|
36707
37119
|
copied: "Kopyaland\u0131",
|
|
36708
37120
|
auto: "Otomatik",
|
|
36709
|
-
comingSoon: "\xC7ok Yak\u0131nda"
|
|
36710
|
-
or: "veya"
|
|
37121
|
+
comingSoon: "\xC7ok Yak\u0131nda"
|
|
36711
37122
|
},
|
|
36712
37123
|
disclaimer: {
|
|
36713
37124
|
terms: "\u015Fartlar",
|
|
@@ -36720,13 +37131,7 @@ var tr_default = {
|
|
|
36720
37131
|
},
|
|
36721
37132
|
connect: {
|
|
36722
37133
|
confirmWalletOwnership: "Bu c\xFCzdan\u0131n sahibi oldu\u011Funuzu onaylamak i\xE7in giri\u015F yap\u0131n.",
|
|
36723
|
-
connectWallet: "C\xFCzdan ba\u011Fla"
|
|
36724
|
-
enterConfirmationCode: "Onay kodunu girin",
|
|
36725
|
-
checkEmailForCode: "L\xFCtfen {{authProvider}} taraf\u0131ndan g\xF6nderilen e-postay\u0131 {{email}} adresinde kontrol edin ve kodunuzu a\u015Fa\u011F\u0131ya girin.",
|
|
36726
|
-
enterYourEmail: "E-postan\u0131z\u0131 girin",
|
|
36727
|
-
submit: "G\xF6nder",
|
|
36728
|
-
openWarpcast: "Warpcast'i A\xE7",
|
|
36729
|
-
warpcastLink: "Warpcast Ba\u011Flant\u0131s\u0131"
|
|
37134
|
+
connectWallet: "C\xFCzdan ba\u011Fla"
|
|
36730
37135
|
},
|
|
36731
37136
|
selectAsset: {
|
|
36732
37137
|
yourTokens: "Token'lar\u0131n\u0131z",
|
|
@@ -37177,7 +37582,6 @@ var zh_default = {
|
|
|
37177
37582
|
fiveMinutes: "5\u5206\u949F"
|
|
37178
37583
|
},
|
|
37179
37584
|
common: {
|
|
37180
|
-
privyIframeTitle: "Privy",
|
|
37181
37585
|
haveQuestions: "\u6709\u7591\u95EE\uFF1F",
|
|
37182
37586
|
getHelp: "\u83B7\u53D6\u5E2E\u52A9",
|
|
37183
37587
|
depositsLive: "{{tokenName}} \u5B58\u6B3E\u5DF2\u4E0A\u7EBF\uFF01",
|
|
@@ -37208,16 +37612,11 @@ var zh_default = {
|
|
|
37208
37612
|
tryAgain: "\u91CD\u8BD5",
|
|
37209
37613
|
getStarted: "\u5F00\u59CB",
|
|
37210
37614
|
back: "\u8FD4\u56DE",
|
|
37211
|
-
accountTypeEmail: "\u7535\u5B50\u90AE\u4EF6",
|
|
37212
|
-
accountTypeTwitter: "Twitter ID",
|
|
37213
|
-
accountTypeApple: "Apple ID",
|
|
37214
|
-
accountTypeFarcaster: "Farcaster ID",
|
|
37215
37615
|
close: "\u5173\u95ED",
|
|
37216
37616
|
copyAddress: "\u590D\u5236\u5730\u5740",
|
|
37217
37617
|
copied: "\u5DF2\u590D\u5236",
|
|
37218
37618
|
auto: "\u81EA\u52A8",
|
|
37219
|
-
comingSoon: "\u5373\u5C06\u63A8\u51FA"
|
|
37220
|
-
or: "\u6216"
|
|
37619
|
+
comingSoon: "\u5373\u5C06\u63A8\u51FA"
|
|
37221
37620
|
},
|
|
37222
37621
|
disclaimer: {
|
|
37223
37622
|
terms: "\u6761\u6B3E",
|
|
@@ -37230,13 +37629,7 @@ var zh_default = {
|
|
|
37230
37629
|
},
|
|
37231
37630
|
connect: {
|
|
37232
37631
|
confirmWalletOwnership: "\u70B9\u51FB\u767B\u5F55\u4EE5\u786E\u8BA4\u60A8\u62E5\u6709\u6B64\u94B1\u5305\u3002",
|
|
37233
|
-
connectWallet: "\u8FDE\u63A5\u94B1\u5305"
|
|
37234
|
-
enterConfirmationCode: "\u8F93\u5165\u786E\u8BA4\u7801",
|
|
37235
|
-
checkEmailForCode: "\u8BF7\u68C0\u67E5 {{email}} \u7684\u7535\u5B50\u90AE\u4EF6\uFF0C\u67E5\u770B\u6765\u81EA {{authProvider}} \u7684\u90AE\u4EF6\uFF0C\u5E76\u5728\u4E0B\u65B9\u8F93\u5165\u60A8\u7684\u9A8C\u8BC1\u7801\u3002",
|
|
37236
|
-
enterYourEmail: "\u8F93\u5165\u60A8\u7684\u7535\u5B50\u90AE\u4EF6",
|
|
37237
|
-
submit: "\u63D0\u4EA4",
|
|
37238
|
-
openWarpcast: "\u6253\u5F00 Warpcast",
|
|
37239
|
-
warpcastLink: "Warpcast \u94FE\u63A5"
|
|
37632
|
+
connectWallet: "\u8FDE\u63A5\u94B1\u5305"
|
|
37240
37633
|
},
|
|
37241
37634
|
selectAsset: {
|
|
37242
37635
|
yourTokens: "\u60A8\u7684\u4EE3\u5E01",
|
|
@@ -37606,8 +37999,7 @@ var zh_default = {
|
|
|
37606
37999
|
subject: "\u4E3B\u9898*",
|
|
37607
38000
|
description: "\u63CF\u8FF0*",
|
|
37608
38001
|
resolutionPreference: "\u89E3\u51B3\u504F\u597D*"
|
|
37609
|
-
}
|
|
37610
|
-
errors: {}
|
|
38002
|
+
}
|
|
37611
38003
|
};
|
|
37612
38004
|
|
|
37613
38005
|
// src/locales/i18n.ts
|
|
@@ -37619,6 +38011,7 @@ var localeMapping = {
|
|
|
37619
38011
|
tr: "tr",
|
|
37620
38012
|
es: "es",
|
|
37621
38013
|
ru: "ru",
|
|
38014
|
+
fr: "fr",
|
|
37622
38015
|
buy_en: "buy_en"
|
|
37623
38016
|
};
|
|
37624
38017
|
var resources = {
|
|
@@ -37631,6 +38024,7 @@ var resources = {
|
|
|
37631
38024
|
tr: { translation: tr_default },
|
|
37632
38025
|
es: { translation: es_default },
|
|
37633
38026
|
ru: { translation: ru_default },
|
|
38027
|
+
fr: { translation: fr_default },
|
|
37634
38028
|
buy_en: { translation: buy_en_default }
|
|
37635
38029
|
};
|
|
37636
38030
|
i18n.use(initReactI18next).init({
|
|
@@ -37657,19 +38051,19 @@ import { QueryClientProvider } from "@tanstack/react-query";
|
|
|
37657
38051
|
import React240, {
|
|
37658
38052
|
createContext as createContext18,
|
|
37659
38053
|
useContext as useContext18,
|
|
37660
|
-
useEffect as
|
|
38054
|
+
useEffect as useEffect59,
|
|
37661
38055
|
useMemo as useMemo47
|
|
37662
38056
|
} from "react";
|
|
37663
38057
|
import { WagmiProvider, useAccountEffect as useAccountEffect3 } from "wagmi";
|
|
37664
38058
|
|
|
37665
38059
|
// src/providers/FunkitI18nProvider.tsx
|
|
37666
|
-
import React238, { useEffect as
|
|
38060
|
+
import React238, { useEffect as useEffect57 } from "react";
|
|
37667
38061
|
import { I18nextProvider } from "react-i18next";
|
|
37668
38062
|
function FunkitI18nProvider({
|
|
37669
38063
|
children,
|
|
37670
38064
|
locale = "en"
|
|
37671
38065
|
}) {
|
|
37672
|
-
|
|
38066
|
+
useEffect57(() => {
|
|
37673
38067
|
const targetLanguage = localeMapping[locale];
|
|
37674
38068
|
if (i18n_default.language !== targetLanguage) {
|
|
37675
38069
|
i18n_default.changeLanguage(targetLanguage);
|
|
@@ -37716,7 +38110,7 @@ function FunkitStatsigProvider({
|
|
|
37716
38110
|
|
|
37717
38111
|
// src/providers/usePreloadImages.ts
|
|
37718
38112
|
import { isNotNullish as isNotNullish9 } from "@funkit/utils";
|
|
37719
|
-
import { useCallback as useCallback50, useEffect as
|
|
38113
|
+
import { useCallback as useCallback50, useEffect as useEffect58 } from "react";
|
|
37720
38114
|
function usePreloadImages() {
|
|
37721
38115
|
const funkitConnectChains = useFunkitConnectChains();
|
|
37722
38116
|
const walletConnectors = useWalletConnectors();
|
|
@@ -37726,7 +38120,7 @@ function usePreloadImages() {
|
|
|
37726
38120
|
...funkitConnectChains.map((chain) => chain.iconUrl).filter(isNotNullish9)
|
|
37727
38121
|
);
|
|
37728
38122
|
}, [walletConnectors, funkitConnectChains]);
|
|
37729
|
-
|
|
38123
|
+
useEffect58(() => {
|
|
37730
38124
|
preloadImages();
|
|
37731
38125
|
}, [preloadImages]);
|
|
37732
38126
|
}
|
|
@@ -37755,7 +38149,7 @@ function FunkitProvider(props) {
|
|
|
37755
38149
|
}, [initialChainId, props.wagmiConfig, props.funkitConfig.appName]);
|
|
37756
38150
|
const finalQueryClient = props.queryClient;
|
|
37757
38151
|
const sdkVersion = useMemo47(() => getCurrentSdkVersion(), []);
|
|
37758
|
-
|
|
38152
|
+
useEffect59(() => {
|
|
37759
38153
|
logger.configure(props.funkitConfig.apiKey, !!props.debug, sdkVersion);
|
|
37760
38154
|
}, [props.funkitConfig.apiKey, props.debug, sdkVersion]);
|
|
37761
38155
|
const MainChild = /* @__PURE__ */ React240.createElement(FunkitThemeProvider, { theme: props.theme }, /* @__PURE__ */ React240.createElement(
|
|
@@ -37855,7 +38249,6 @@ export {
|
|
|
37855
38249
|
FunkitConnectAuthenticationProvider,
|
|
37856
38250
|
FunkitPaymentsIconLine,
|
|
37857
38251
|
FunkitProvider,
|
|
37858
|
-
FunkitSocialLoginMethod,
|
|
37859
38252
|
NATIVE_TOKEN,
|
|
37860
38253
|
PaymentMethod,
|
|
37861
38254
|
SelectedHomeTab,
|