@funkit/connect 5.2.1 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/{chunk-3LR6KLPU.js → chunk-C63T33UV.js} +4 -0
  3. package/dist/{chunk-QMPPK7HO.js → chunk-LEJS74SX.js} +4 -0
  4. package/dist/components/Box/Box.d.ts +21 -21
  5. package/dist/components/Dialog/Dialog.css.d.ts +4 -2
  6. package/dist/components/Dialog/Dialog.d.ts +11 -3
  7. package/dist/components/Dialog/DialogContent.css.d.ts +2 -0
  8. package/dist/components/Dropdown/BaseDropdown.d.ts +4 -3
  9. package/dist/components/FunAsset/FunAssetLoading.d.ts +6 -3
  10. package/dist/components/FunBadge/BridgeCustomerStatusBadge.d.ts +9 -0
  11. package/dist/components/FunBadge/FunBadge.d.ts +4 -2
  12. package/dist/components/FunButton/FunIconButton.d.ts +1 -0
  13. package/dist/components/FunButton/FunLinkButton.d.ts +4 -0
  14. package/dist/components/FunCheckbox/FunCheckbox.d.ts +9 -0
  15. package/dist/components/FunCheckoutHistory/FunCheckoutStatus.d.ts +11 -2
  16. package/dist/components/FunCheckoutHistory/FunDirectExecutionStatus.d.ts +7 -0
  17. package/dist/components/FunFeatureList/FunFeatureList.d.ts +13 -0
  18. package/dist/components/FunFeatureList/FunFeatureListItem.d.ts +10 -0
  19. package/dist/components/FunGuarantees/FunGuarantees.d.ts +7 -3
  20. package/dist/components/FunInput/FunInput.d.ts +3 -1
  21. package/dist/components/FunInput/FunTextAreaInput.d.ts +1 -1
  22. package/dist/components/FunInputButton/FunInputButton.d.ts +14 -0
  23. package/dist/components/FunOptionBox/FunOptionBox.css.d.ts +1 -1
  24. package/dist/components/FunPayments/FunPaymentMethods.d.ts +8 -1
  25. package/dist/components/FunSelect/FunSelect.d.ts +3 -0
  26. package/dist/components/FunTooltip/FunTooltip.css.d.ts +1 -0
  27. package/dist/components/FunTooltip/FunTooltip.d.ts +15 -1
  28. package/dist/components/FunTransactionSummary/PaymentAmountSummary.d.ts +3 -4
  29. package/dist/components/Icons/CheckIcon.d.ts +1 -1
  30. package/dist/components/Icons/HomeIcon.d.ts +4 -0
  31. package/dist/components/Icons/Icons.css.d.ts +0 -1
  32. package/dist/components/Icons/New/BankIcon.d.ts +7 -0
  33. package/dist/components/Icons/New/BanknoteIcon.d.ts +4 -0
  34. package/dist/components/Icons/New/CoinsHandIcon.d.ts +4 -0
  35. package/dist/components/Icons/New/FiatAccountIcon.d.ts +4 -0
  36. package/dist/components/Icons/New/HelpIcon.d.ts +2 -0
  37. package/dist/components/Icons/New/LightningBoltOutlineIcon.d.ts +4 -0
  38. package/dist/components/Icons/New/ShieldCheckIcon.d.ts +4 -0
  39. package/dist/components/Icons/New/TimeIcon.d.ts +4 -0
  40. package/dist/components/Icons/New/UserIcon.d.ts +4 -0
  41. package/dist/components/Icons/SpinnerIconWithBackground.d.ts +6 -4
  42. package/dist/components/Icons/SuccessIcon.d.ts +3 -1
  43. package/dist/components/Icons/UserSquareIcon.d.ts +4 -0
  44. package/dist/components/Icons/VerificationFailedIcon.d.ts +4 -0
  45. package/dist/components/Icons/VerificationPendingIcon.d.ts +4 -0
  46. package/dist/components/Icons/VerificationSuccessIcon.d.ts +4 -0
  47. package/dist/components/Icons/VerifyIdentityIcon.d.ts +4 -0
  48. package/dist/components/SourcePaymentMethodItem/SourcePaymentMethodItem.d.ts +1 -2
  49. package/dist/components/Tabs/Tabs.d.ts +11 -0
  50. package/dist/components/Text/Text.d.ts +1 -1
  51. package/dist/components/TransferTokenDetails/TransferTokenDetails.d.ts +2 -2
  52. package/dist/components/VirtualFiatAccount/CreateAccountScreen/CreateAccountScreen.d.ts +15 -0
  53. package/dist/components/VirtualFiatAccount/IntroScreen/IntroScreen.d.ts +6 -0
  54. package/dist/components/VirtualFiatAccount/VerifyAccountScreen/VerifyAccountScreen.d.ts +15 -0
  55. package/dist/consts/customers.d.ts +1 -0
  56. package/dist/consts/quote.d.ts +3 -10
  57. package/dist/css/sprinkles.css.d.ts +27 -21
  58. package/dist/domains/bridge.d.ts +25 -0
  59. package/dist/domains/fees.d.ts +14 -1
  60. package/dist/domains/paymentMethods.d.ts +25 -4
  61. package/dist/domains/quote.d.ts +13 -4
  62. package/dist/domains/relay.d.ts +35 -1
  63. package/dist/hooks/useCheckoutDirectExecution.d.ts +10 -2
  64. package/dist/hooks/useCheckoutDirectExecutionHistory.d.ts +11 -0
  65. package/dist/hooks/useCopyToClipboard.d.ts +7 -3
  66. package/dist/hooks/useFrogAccount.d.ts +335 -0
  67. package/dist/hooks/useIsUsBankrUser.d.ts +1 -0
  68. package/dist/hooks/usePaymentMethodIcon.d.ts +1 -0
  69. package/dist/hooks/usePaymentSources.d.ts +1 -1
  70. package/dist/hooks/useReceiveAmountLabel.d.ts +4 -0
  71. package/dist/hooks/useRelayExecutionInfo.d.ts +7 -0
  72. package/dist/hooks/useTokenTransfer.d.ts +3 -2
  73. package/dist/index.css +1631 -1445
  74. package/dist/index.js +17246 -14070
  75. package/dist/modals/CheckoutModal/InputAmount/utils.d.ts +1 -1
  76. package/dist/modals/CheckoutModal/LoadingAccount.d.ts +4 -1
  77. package/dist/modals/CheckoutModal/SourceChange/SourceChange.d.ts +8 -3
  78. package/dist/modals/CheckoutModal/VirtualFiatAccount/BridgeCustomer.d.ts +13 -0
  79. package/dist/modals/CheckoutModal/VirtualFiatAccount/BridgeKyc.d.ts +22 -0
  80. package/dist/modals/CheckoutModal/VirtualFiatAccount/ErrorScreen.d.ts +7 -0
  81. package/dist/modals/CheckoutModal/VirtualFiatAccount/FiatAccountDetail.d.ts +9 -0
  82. package/dist/modals/CheckoutModal/VirtualFiatAccount/KycIframe.d.ts +5 -0
  83. package/dist/modals/CheckoutModal/VirtualFiatAccount/VirtualFiatAccount.d.ts +9 -0
  84. package/dist/modals/CheckoutModal/stepTransition.d.ts +26 -1
  85. package/dist/modals/CheckoutModal/useNewCheckoutQuote.d.ts +1 -1
  86. package/dist/providers/FunkitCheckoutContext.d.ts +9 -2
  87. package/dist/providers/FunkitConfigContext.d.ts +1 -0
  88. package/dist/providers/FunkitQuoteContext.d.ts +4 -1
  89. package/dist/providers/FunkitThemeProvider.d.ts +9 -0
  90. package/dist/providers/ModalContext.d.ts +1 -1
  91. package/dist/themes/darkTheme.js +1 -1
  92. package/dist/themes/lightTheme.js +1 -1
  93. package/dist/utils/checkout.d.ts +18 -1
  94. package/dist/utils/flags/config.d.ts +41 -16
  95. package/dist/utils/flags/types.d.ts +2 -0
  96. package/dist/utils/mesh.d.ts +1 -0
  97. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  98. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  99. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  100. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  101. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  102. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  103. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  104. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  105. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  106. package/dist/wallets/walletConnectors/index.js +58 -58
  107. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  108. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  109. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  110. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  111. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  112. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  113. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  114. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  115. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  116. package/package.json +6 -6
  117. /package/dist/components/{TransferTokenDetails/TransferTokenDetails.css.d.ts → FunFeatureList/FunFeatureList.css.d.ts} +0 -0
@@ -4,4 +4,4 @@ export declare const USD_DECIMALS = 2;
4
4
  export declare const USD_INITIAL_AMOUNT = 100;
5
5
  export declare const USD_PREFIX = "$";
6
6
  export declare function getUsdMaxAmount(paymentMethod: PaymentMethod, maxUsd: number): number | null;
7
- export declare function getUsdMinAmount(paymentMethod: PaymentMethod, minUsd?: number | undefined): number;
7
+ export declare function getUsdMinAmount(paymentMethod: PaymentMethod, minUsd?: number): number;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { PaymentMethod, type PaymentMethodAccountInfo, type PaymentMethodBrokerageInfo } from '../../domains/paymentMethods';
2
+ import { PaymentMethod, type PaymentMethodAccountInfo, type PaymentMethodBrokerageInfo, type PaymentMethodVirtualBankInfo } from '../../domains/paymentMethods';
3
3
  import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepComponentProps, type ModalStepInfo } from './stepTransition';
4
4
  export type LoadingAccountState = CheckoutModalCommonState;
5
5
  export type LoadingAccountNext = {
@@ -8,6 +8,9 @@ export type LoadingAccountNext = {
8
8
  } | {
9
9
  usablePaymentMethod: PaymentMethod.BROKERAGE;
10
10
  paymentMethodInfo: PaymentMethodBrokerageInfo;
11
+ } | {
12
+ usablePaymentMethod: PaymentMethod.VIRTUAL_BANK;
13
+ paymentMethodInfo: PaymentMethodVirtualBankInfo;
11
14
  } | {
12
15
  usablePaymentMethod: null | PaymentMethod.TOKEN_TRANSFER;
13
16
  };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { type ConnectablePaymentMethodInfo, PaymentMethod, type PaymentMethodCardInfo } from '~/domains/paymentMethods';
2
+ import { type ConnectablePaymentMethodInfo, PaymentMethod, type PaymentMethodCardInfo, type PaymentMethodVirtualBankIncompleteInfo } from '~/domains/paymentMethods';
3
3
  import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepComponentProps, type ModalStepInfo } from '../stepTransition';
4
4
  export type SourceChangeState = CheckoutModalCommonState & {
5
5
  paymentMethodInfo: ConnectablePaymentMethodInfo | null;
@@ -10,7 +10,12 @@ export type SourceChangeNext = {
10
10
  brokerageFailed: false;
11
11
  } | {
12
12
  connectNew: true;
13
- paymentMethod: Exclude<PaymentMethod, PaymentMethod.CARD>;
13
+ paymentMethod: Exclude<PaymentMethod, PaymentMethod.CARD | PaymentMethod.VIRTUAL_BANK>;
14
+ brokerageFailed: false;
15
+ } | {
16
+ connectNew: true;
17
+ paymentMethod: PaymentMethod.VIRTUAL_BANK;
18
+ paymentMethodInfo: PaymentMethodVirtualBankIncompleteInfo;
14
19
  brokerageFailed: false;
15
20
  } | {
16
21
  connectNew: true;
@@ -22,4 +27,4 @@ export type SourceChangeNext = {
22
27
  paymentMethodInfo: ConnectablePaymentMethodInfo;
23
28
  };
24
29
  export declare const SourceChangeInfo: ModalStepInfo<FunCheckoutStep.SOURCE_CHANGE>;
25
- export declare function SourceChange({ modalState, onNext, onClose, }: ModalStepComponentProps<FunCheckoutStep.SOURCE_CHANGE>): React.JSX.Element;
30
+ export declare function SourceChange({ modalState, onNext, onClose, setModalState, }: ModalStepComponentProps<FunCheckoutStep.SOURCE_CHANGE>): React.JSX.Element;
@@ -0,0 +1,13 @@
1
+ import type { PaymentMethodVirtualBankIncompleteInfo } from '~/domains/paymentMethods';
2
+ import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepInfo } from '~/modals/CheckoutModal/stepTransition';
3
+ export type BridgeCustomerNext = {
4
+ hasError?: false;
5
+ kycLink: string;
6
+ } | {
7
+ hasError: true;
8
+ errorCode: string;
9
+ };
10
+ export type BridgeCustomerState = CheckoutModalCommonState & {
11
+ paymentMethodInfo: PaymentMethodVirtualBankIncompleteInfo;
12
+ };
13
+ export declare const BridgeCustomerInfo: ModalStepInfo<FunCheckoutStep.BRIDGE_CUSTOMER>;
@@ -0,0 +1,22 @@
1
+ import { type BridgeCustomer, type BridgeVirtualBankAccount, type Guid } from '@funkit/api-base';
2
+ import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepInfo } from '~/modals/CheckoutModal/stepTransition';
3
+ export declare enum NextStep {
4
+ ShowSource = "ShowSource",
5
+ ShowKyc = "ShowKyc",
6
+ ShowError = "ShowError"
7
+ }
8
+ export type BridgeKycNext = {
9
+ nextStep: NextStep.ShowSource;
10
+ bridgeCustomer: BridgeCustomer;
11
+ virtualFiatAccount: BridgeVirtualBankAccount;
12
+ } | {
13
+ nextStep: NextStep.ShowError;
14
+ } | {
15
+ nextStep: NextStep.ShowKyc;
16
+ guidForKyc: Guid;
17
+ };
18
+ export type BridgeKycState = CheckoutModalCommonState & {
19
+ kycLink?: string;
20
+ kycIframeCompleted?: boolean;
21
+ };
22
+ export declare const BridgeKycInfo: ModalStepInfo<FunCheckoutStep.BRIDGE_KYC>;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import type { CheckoutModalCommonState, FunCheckoutStep, ModalStepInfo } from '~/modals/CheckoutModal/stepTransition';
3
+ export type ErrorScreenState = CheckoutModalCommonState & {
4
+ errorCode: string;
5
+ };
6
+ export declare const ErrorScreen: () => React.JSX.Element;
7
+ export declare const ErrorScreenInfo: ModalStepInfo<FunCheckoutStep.ERROR_SCREEN>;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { type PaymentMethodVirtualBankInfo } from '~/domains/paymentMethods';
3
+ import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepComponentProps, type ModalStepInfo } from '../stepTransition';
4
+ export type FiatAccountDetailState = CheckoutModalCommonState & {
5
+ paymentMethodInfo: PaymentMethodVirtualBankInfo;
6
+ };
7
+ export type FiatAccountDetailNext = Record<string, never>;
8
+ export declare const AccountDetailsScreen: ({ modalState, onNext, }: ModalStepComponentProps<FunCheckoutStep.FIAT_ACCOUNT_DETAIL>) => React.JSX.Element;
9
+ export declare const FiatAccountDetail: ModalStepInfo<FunCheckoutStep.FIAT_ACCOUNT_DETAIL>;
@@ -0,0 +1,5 @@
1
+ import { type KycLinkLoad } from '~/hooks/useFrogAccount';
2
+ import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepInfo } from '~/modals/CheckoutModal/stepTransition';
3
+ export type KycIframeState = CheckoutModalCommonState & KycLinkLoad;
4
+ export type KycIframeNext = Record<string, never>;
5
+ export declare const KycIframeInfo: ModalStepInfo<FunCheckoutStep.KYC_IFRAME>;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { PaymentMethodVirtualBankIncompleteInfo } from '~/domains/paymentMethods';
3
+ import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepComponentProps, type ModalStepInfo } from '~/modals/CheckoutModal/stepTransition';
4
+ export type VirtualFiatAccountNext = Record<string, never>;
5
+ export type VirtualFiatAccountState = CheckoutModalCommonState & {
6
+ paymentMethodInfo: PaymentMethodVirtualBankIncompleteInfo;
7
+ };
8
+ export declare const VirtualFiatAccountInfo: ModalStepInfo<FunCheckoutStep.CREATE_FIAT_ACCOUNT>;
9
+ export declare function VirtualFiatAccount({ onNext, }: ModalStepComponentProps<FunCheckoutStep.CREATE_FIAT_ACCOUNT>): React.JSX.Element;
@@ -1,4 +1,8 @@
1
1
  import { type ComponentType, type SetStateAction } from 'react';
2
+ import { type BridgeCustomerNext, type BridgeCustomerState } from '~/modals/CheckoutModal/VirtualFiatAccount/BridgeCustomer';
3
+ import { type BridgeKycNext, type BridgeKycState } from '~/modals/CheckoutModal/VirtualFiatAccount/BridgeKyc';
4
+ import { type ErrorScreenState } from '~/modals/CheckoutModal/VirtualFiatAccount/ErrorScreen';
5
+ import { type VirtualFiatAccountNext, type VirtualFiatAccountState } from '~/modals/CheckoutModal/VirtualFiatAccount/VirtualFiatAccount';
2
6
  import type { FunkitActiveCheckoutItem } from '../../providers/FunkitCheckoutContext';
3
7
  import { type FunkitTextCustomizationsConfig } from '../../providers/FunkitConfigContext';
4
8
  import { type CheckoutCompleteNext, type CheckoutCompleteState } from './CheckoutComplete/CheckoutComplete';
@@ -13,6 +17,8 @@ import { type SelectAssetNext, type SelectAssetState } from './SelectAsset';
13
17
  import { type SelectBrokerageNext, type SelectBrokerageState } from './SelectBrokerage';
14
18
  import { type SourceChangeNext, type SourceChangeState } from './SourceChange/SourceChange';
15
19
  import { type TransferTokenNext, type TransferTokenState } from './TransferToken/TransferToken';
20
+ import { type FiatAccountDetailNext, type FiatAccountDetailState } from './VirtualFiatAccount/FiatAccountDetail';
21
+ import { type KycIframeNext, type KycIframeState } from './VirtualFiatAccount/KycIframe';
16
22
  export interface CheckoutModalCommonState {
17
23
  checkoutId: string;
18
24
  /** Handles soft hiding of the dialog (without removing it from the DOM) */
@@ -41,7 +47,13 @@ export declare enum FunCheckoutStep {
41
47
  MESH_VERIFICATION = "mesh_verification",
42
48
  CHECKOUT_COMPLETE = "checkout_complete",
43
49
  CHECKOUT_HELP = "checkout_help",
44
- TRANSFER_TOKEN = "transfer_token"
50
+ TRANSFER_TOKEN = "transfer_token",
51
+ CREATE_FIAT_ACCOUNT = "create_fiat_account",
52
+ BRIDGE_CUSTOMER = "bridge_customer",
53
+ BRIDGE_KYC = "bridge_kyc",
54
+ KYC_IFRAME = "KYC_IFRAME",
55
+ FIAT_ACCOUNT_DETAIL = "fiat_account_detail",
56
+ ERROR_SCREEN = "error_screen"
45
57
  }
46
58
  export type ModalStepInfo<S extends FunCheckoutStep> = {
47
59
  Component: ComponentType<ModalStepComponentProps<S>>;
@@ -73,6 +85,12 @@ type CheckoutModalState<S extends FunCheckoutStep = FunCheckoutStep> = {
73
85
  [FunCheckoutStep.SELECT_BROKERAGE]: SelectBrokerageState;
74
86
  [FunCheckoutStep.SOURCE_CHANGE]: SourceChangeState;
75
87
  [FunCheckoutStep.TRANSFER_TOKEN]: TransferTokenState;
88
+ [FunCheckoutStep.CREATE_FIAT_ACCOUNT]: VirtualFiatAccountState;
89
+ [FunCheckoutStep.BRIDGE_KYC]: BridgeKycState;
90
+ [FunCheckoutStep.KYC_IFRAME]: KycIframeState;
91
+ [FunCheckoutStep.BRIDGE_CUSTOMER]: BridgeCustomerState;
92
+ [FunCheckoutStep.FIAT_ACCOUNT_DETAIL]: FiatAccountDetailState;
93
+ [FunCheckoutStep.ERROR_SCREEN]: ErrorScreenState;
76
94
  }[T] & {
77
95
  step: T;
78
96
  };
@@ -90,8 +108,15 @@ type NextPayload<S extends FunCheckoutStep = FunCheckoutStep> = {
90
108
  [FunCheckoutStep.SELECT_BROKERAGE]: SelectBrokerageNext;
91
109
  [FunCheckoutStep.SOURCE_CHANGE]: SourceChangeNext;
92
110
  [FunCheckoutStep.TRANSFER_TOKEN]: TransferTokenNext;
111
+ [FunCheckoutStep.CREATE_FIAT_ACCOUNT]: VirtualFiatAccountNext;
112
+ [FunCheckoutStep.BRIDGE_KYC]: BridgeKycNext;
113
+ [FunCheckoutStep.KYC_IFRAME]: KycIframeNext;
114
+ [FunCheckoutStep.BRIDGE_CUSTOMER]: BridgeCustomerNext;
115
+ [FunCheckoutStep.FIAT_ACCOUNT_DETAIL]: FiatAccountDetailNext;
116
+ [FunCheckoutStep.ERROR_SCREEN]: null;
93
117
  }[S] & {
94
118
  reverseAnimation?: boolean;
119
+ skipAnimation?: boolean;
95
120
  wipeHistory?: boolean;
96
121
  };
97
122
  export declare function useCheckoutModalTransition(checkoutItem: FunkitActiveCheckoutItem, onClose: () => void): {
@@ -2,6 +2,6 @@ import { type DeepPartial } from '@funkit/utils';
2
2
  import { type FunkitActiveCheckoutItem } from '~/providers/FunkitCheckoutContext';
3
3
  export declare function useNewCheckoutQuote(): (overridingCheckoutItem?: DeepPartial<FunkitActiveCheckoutItem>) => Promise<{
4
4
  baseQuote: import("@funkit/api-base").CheckoutQuoteResponse;
5
+ checkedAssetAmount: import("~/domains/quote").CheckedAssetAmount;
5
6
  finalEstimation: import("~/domains/quote").FunkitCheckoutQuoteResult;
6
- availableAssetAmount: number | undefined;
7
7
  }>;
@@ -74,8 +74,15 @@ export interface UseFunkitCheckoutProps {
74
74
  onError?: (result: FunkitCheckoutResult) => void;
75
75
  /** @optional fires if the checkout fails at any point **/
76
76
  onSuccess?: (result: FunkitCheckoutResult) => void;
77
- /** @optional fires if the checkout requires an active wallet connection. If not specified, defaults to funkit wallet connection. */
78
- onLoginRequired?: () => void;
77
+ /**
78
+ * @optional
79
+ * fires if the checkout requires an active wallet connection. If not specified, defaults to funkit wallet connection.
80
+ * Call the provided `onLoginFinished()` callback once login is completed to resume the checkout flow (and unhide the soft-hidden modal).
81
+ * It is strongly recommended to call `onLoginFinished()` after login is completed. If not called, the checkout modal may remain hidden.
82
+ */
83
+ onLoginRequired?: ({ onLoginFinished, }: {
84
+ onLoginFinished?: () => void;
85
+ }) => void;
79
86
  }
80
87
  /** Ensures that config is defined */
81
88
  export interface UseFunkitCheckoutPropsWithFullConfig extends UseFunkitCheckoutProps {
@@ -1,6 +1,7 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type FunkitPrioritizedLoginType, FunkitSocialLoginMethod } from '../consts/funkit';
3
3
  export interface FunkitTextCustomizationsConfig {
4
+ virtualFiat: string;
4
5
  brokerageOrExchange: string;
5
6
  debitOrCredit: string;
6
7
  accountBalance: string;
@@ -3,9 +3,12 @@ import { type PaymentMethodInfo } from '../domains/paymentMethods';
3
3
  import type { FunkitCheckoutQuoteResult } from '../domains/quote';
4
4
  import { type FunkitActiveCheckoutItem } from './FunkitCheckoutContext';
5
5
  export type CheckoutQuoteError = {
6
- maxTargetAssetAmount: number;
6
+ maxTargetAssetAmount?: number;
7
+ minTargetAssetAmount?: number;
7
8
  reason: 'insufficientBalance';
8
9
  } | {
10
+ maxTargetAssetAmount?: number;
11
+ minTargetAssetAmount?: number;
9
12
  minTargetUsdAmount?: number;
10
13
  reason: 'insufficientAmount';
11
14
  } | {
@@ -92,6 +92,9 @@ export declare const useActiveTheme: () => {
92
92
  newBadgeBackground: string;
93
93
  newBadgeBorder: string;
94
94
  newBadgeText: string;
95
+ red_50: string;
96
+ red_100: string;
97
+ red_800: string;
95
98
  inputAmountQuickOptionBaseBackground: string;
96
99
  inputAmountQuickOptionHoverBackground: string;
97
100
  inputAmountQuickOptionActiveBackground: string;
@@ -268,6 +271,9 @@ export declare const useActiveTheme: () => {
268
271
  newBadgeBackground: string;
269
272
  newBadgeBorder: string;
270
273
  newBadgeText: string;
274
+ red_50: string;
275
+ red_100: string;
276
+ red_800: string;
271
277
  inputAmountQuickOptionBaseBackground: string;
272
278
  inputAmountQuickOptionHoverBackground: string;
273
279
  inputAmountQuickOptionActiveBackground: string;
@@ -442,6 +448,9 @@ export declare const useActiveTheme: () => {
442
448
  newBadgeBackground: string;
443
449
  newBadgeBorder: string;
444
450
  newBadgeText: string;
451
+ red_50: string;
452
+ red_100: string;
453
+ red_800: string;
445
454
  inputAmountQuickOptionBaseBackground: string;
446
455
  inputAmountQuickOptionHoverBackground: string;
447
456
  inputAmountQuickOptionActiveBackground: string;
@@ -21,7 +21,7 @@ export declare function useWalletConnectOpenState(): {
21
21
  isWalletConnectModalOpen: boolean;
22
22
  setIsWalletConnectModalOpen: (isWalletConnectModalOpen: boolean) => void;
23
23
  };
24
- export declare function useConnectModal(): {
24
+ export declare function useConnectModal(onClose?: () => void): {
25
25
  connectModalOpen: boolean;
26
26
  openConnectModal: ((walletsOnly?: boolean) => void) | undefined;
27
27
  };
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  darkTheme
4
- } from "../chunk-QMPPK7HO.js";
4
+ } from "../chunk-LEJS74SX.js";
5
5
  import "../chunk-CRPOYQ6X.js";
6
6
  export {
7
7
  darkTheme
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  lightTheme
4
- } from "../chunk-3LR6KLPU.js";
4
+ } from "../chunk-C63T33UV.js";
5
5
  import "../chunk-CRPOYQ6X.js";
6
6
  export {
7
7
  lightTheme
@@ -1,4 +1,4 @@
1
- import { type CheckoutHistoryItem } from '@funkit/api-base';
1
+ import { type CheckoutHistoryItem, type CheckoutQuoteResponse } from '@funkit/api-base';
2
2
  import { type Config } from '@wagmi/core';
3
3
  import { type Address } from 'viem';
4
4
  import type { UseConfigReturnType } from 'wagmi';
@@ -7,6 +7,7 @@ import type { FunkitCheckoutQuoteResult } from '~/domains/quote';
7
7
  import type { FunkitCheckoutActionParams, FunkitCheckoutConfig } from '../providers/FunkitCheckoutContext';
8
8
  export declare const MOONPAY_TIME_ESTIMATE_MS = 120000;
9
9
  export declare const MESH_TIME_ESTIMATE_MS = 300000;
10
+ export declare const BANK_TIME_ESTIMATE_MS = 0;
10
11
  export declare const DUMMY_TRANSFER_PARAMS: {
11
12
  toAddress: "0x000000000000000000000000000000000000dEaD";
12
13
  tokenAmount: number;
@@ -100,6 +101,22 @@ export declare function getCheckoutItemDisplay({ checkoutConfig, hideAmount, }:
100
101
  checkoutConfig: FunkitCheckoutConfig | ServerCheckoutConfig;
101
102
  hideAmount?: boolean;
102
103
  }): string;
104
+ /**
105
+ * Given the result of a quote, calculate the effective fees (in source asset).
106
+ *
107
+ * _These are only the fees from our base quote, **not** including the initial transfer / brokerage / card processing fees._
108
+ */
109
+ export declare function getBaseQuoteTotalFeesFromAmount(baseQuote: CheckoutQuoteResponse): number;
110
+ /**
111
+ * Given the result of a quote, calculate the effective fees (in source asset).
112
+ *
113
+ * _These also including the initial transfer / brokerage / card processing fees._
114
+ */
115
+ export declare function getQuoteTotalFeesFromAmount(finalQuote: FunkitCheckoutQuoteResult): number;
116
+ /**
117
+ * Given the result of a quote, calculate the effective exchange rate (target asset / source asset).
118
+ */
119
+ export declare function getQuoteExchangeRate(config: FunkitCheckoutConfig, baseQuote: CheckoutQuoteResponse): number;
103
120
  /**
104
121
  * Given the result of a quote, estimate the maximum targetAssetAmount for which the checkout should succeed.
105
122
  * The result is then reduced by 1% to further reduce the risk of insufficient funds.
@@ -55,23 +55,28 @@ export declare const flagConfig: {
55
55
  value: true;
56
56
  }[];
57
57
  };
58
- token_transfer_source_chains_and_assets: {
59
- type: "string";
60
- default_value: string;
61
- overrides: {
62
- if_any: ({
63
- key: "userId";
64
- type: "pctRollout";
65
- pct: number;
66
- values?: undefined;
67
- } | {
58
+ enable_fiat_deposit: {
59
+ type: "boolean";
60
+ default_value: false;
61
+ overrides: ({
62
+ if_any: {
68
63
  key: "userId";
69
64
  type: "isAnyOf";
70
65
  values: string[];
71
- pct?: undefined;
72
- })[];
73
- value: string;
74
- }[];
66
+ }[];
67
+ value: true;
68
+ } | {
69
+ if_any: {
70
+ key: "apiKey";
71
+ type: "isAnyOf";
72
+ values: string[];
73
+ }[];
74
+ value: true;
75
+ })[];
76
+ };
77
+ token_transfer_source_chains_and_assets: {
78
+ type: "string";
79
+ default_value: string;
75
80
  };
76
81
  enable_token_transfer_universal_deposit_address: {
77
82
  type: "boolean";
@@ -146,11 +151,11 @@ export declare const flagConfig: {
146
151
  };
147
152
  display_solana_new_badge: {
148
153
  type: "boolean";
149
- default_value: true;
154
+ default_value: false;
150
155
  };
151
156
  display_solana_deposits_banner: {
152
157
  type: "boolean";
153
- default_value: true;
158
+ default_value: false;
154
159
  };
155
160
  token_transfer_new_tokens: {
156
161
  type: "string";
@@ -163,6 +168,14 @@ export declare const flagConfig: {
163
168
  is_relay_bypass_enabled: {
164
169
  type: "boolean";
165
170
  default_value: false;
171
+ overrides: {
172
+ if_any: {
173
+ key: "userId";
174
+ type: "isAnyOf";
175
+ values: string[];
176
+ }[];
177
+ value: true;
178
+ }[];
166
179
  };
167
180
  relay_bypass_source_chains_and_assets: {
168
181
  type: "string";
@@ -172,4 +185,16 @@ export declare const flagConfig: {
172
185
  type: "string";
173
186
  default_value: string;
174
187
  };
188
+ help_tutorial_url: {
189
+ type: "string";
190
+ default_value: string;
191
+ overrides: {
192
+ if_any: {
193
+ key: "apiKey";
194
+ type: "isAnyOf";
195
+ values: string[];
196
+ }[];
197
+ value: string;
198
+ }[];
199
+ };
175
200
  };
@@ -22,6 +22,8 @@ export type InferFlagType<F extends FlagConfig> = F['type'] extends 'number' ? n
22
22
  type Override<T> = {
23
23
  /** non-empty list of conditions, any condition will cause the value to match */
24
24
  if_any: Condition[];
25
+ /** non-empty list of conditions, all condition will cause the value to match */
26
+ if_all?: Condition[];
25
27
  value: T;
26
28
  };
27
29
  export type Condition = {
@@ -2,6 +2,7 @@ import { type TransferIntegration } from '@funkit/api-base';
2
2
  import type { MeshExchangeType } from '../consts/mesh';
3
3
  import type { AssetHoldingsMap } from '../utils/assets';
4
4
  export { FUNKIT_MESH_CLIENT_ID } from '../consts/mesh';
5
+ export declare const MIN_MESH_TRANSFER_AMOUNT_USD = 10;
5
6
  export declare function fetchMeshLinkToken(funkitUserId: string, brokerType: MeshExchangeType, funApiKey: string): Promise<import("@funkit/api-base").GetLinkTokenResponse>;
6
7
  export declare function fetchMeshTransferIntegrations(apiKey: string): Promise<TransferIntegration[]>;
7
8
  export declare function getMeshSupportedTokensAndIdByChainIdAndBrokerage({ brokerType, chainId, integrations, }: {
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  bifrostWallet
4
- } from "../chunk-545L7Y4M.js";
5
- import "../chunk-WRA2DVJ7.js";
4
+ } from "../chunk-W6N74MS3.js";
6
5
  import "../chunk-23WIEY36.js";
6
+ import "../chunk-WRA2DVJ7.js";
7
7
  export {
8
8
  bifrostWallet
9
9
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  bitgetWallet
4
- } from "../chunk-7GSNBOD3.js";
5
- import "../chunk-WRA2DVJ7.js";
4
+ } from "../chunk-A5APNTGL.js";
6
5
  import "../chunk-23WIEY36.js";
6
+ import "../chunk-WRA2DVJ7.js";
7
7
  export {
8
8
  bitgetWallet
9
9
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  bybitWallet
4
- } from "../chunk-W5O4YSZN.js";
5
- import "../chunk-WRA2DVJ7.js";
4
+ } from "../chunk-6ONTSPEY.js";
6
5
  import "../chunk-23WIEY36.js";
6
+ import "../chunk-WRA2DVJ7.js";
7
7
  export {
8
8
  bybitWallet
9
9
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  clvWallet
4
- } from "../chunk-LEXSM5KI.js";
5
- import "../chunk-WRA2DVJ7.js";
4
+ } from "../chunk-KR6JBW5E.js";
6
5
  import "../chunk-23WIEY36.js";
6
+ import "../chunk-WRA2DVJ7.js";
7
7
  export {
8
8
  clvWallet
9
9
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  coin98Wallet
4
- } from "../chunk-KFFJPS5R.js";
5
- import "../chunk-WRA2DVJ7.js";
4
+ } from "../chunk-DTRYS3MO.js";
6
5
  import "../chunk-23WIEY36.js";
6
+ import "../chunk-WRA2DVJ7.js";
7
7
  export {
8
8
  coin98Wallet
9
9
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  coreWallet
4
- } from "../chunk-JXP2QPW7.js";
5
- import "../chunk-WRA2DVJ7.js";
4
+ } from "../chunk-HBA36GW3.js";
6
5
  import "../chunk-23WIEY36.js";
6
+ import "../chunk-WRA2DVJ7.js";
7
7
  export {
8
8
  coreWallet
9
9
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  foxWallet
4
- } from "../chunk-XYBEMO3C.js";
5
- import "../chunk-WRA2DVJ7.js";
4
+ } from "../chunk-LMZMXEXL.js";
6
5
  import "../chunk-23WIEY36.js";
6
+ import "../chunk-WRA2DVJ7.js";
7
7
  export {
8
8
  foxWallet
9
9
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  frontierWallet
4
- } from "../chunk-HKV7EMYZ.js";
5
- import "../chunk-WRA2DVJ7.js";
4
+ } from "../chunk-3S2U24BJ.js";
6
5
  import "../chunk-23WIEY36.js";
6
+ import "../chunk-WRA2DVJ7.js";
7
7
  export {
8
8
  frontierWallet
9
9
  };
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  import {
3
3
  gateWallet
4
- } from "../chunk-3NC26XLM.js";
5
- import "../chunk-WRA2DVJ7.js";
4
+ } from "../chunk-GSOYKKIS.js";
6
5
  import "../chunk-23WIEY36.js";
6
+ import "../chunk-WRA2DVJ7.js";
7
7
  export {
8
8
  gateWallet
9
9
  };