@unifold/ui-react 0.1.71-beta.2 → 0.1.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +1748 -23
- package/dist/index.d.ts +1748 -23
- package/dist/index.js +8435 -4426
- package/dist/index.mjs +7999 -3998
- package/package.json +3 -2
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { DirectExecutionSucceededEvent, DirectExecutionResponse, ChainType, EvmContractCall, DepositMethod, DepositEvent, Wallet, ProductType, FiatCurrency, ExecutionStatus, FeaturedToken, PaymentNetwork, DefaultTokenResponse, ConfirmIntegrationTransferResult, CheckoutMethod, CheckoutPaymentIntent, CheckoutEvent, WithdrawDirectExecutionSucceededEvent, WithdrawEvent, DestinationToken, DestinationTokenChain, PaymentIntent, DepositQuote, PublicIncidentResponse, SupportedDestinationTokensResponse, SupportedDepositTokensResponse, VerifyAddressResponse } from '@unifold/core';
|
|
2
|
+
import { DirectExecutionSucceededEvent, DirectExecutionFailedEvent, DirectExecutionResponse, ChainType, EvmContractCall, DepositMethod, DepositEvent, Wallet, ProductType, WalletPayMethod, FiatCurrency, ExecutionStatus, FeaturedToken, PaymentNetwork, DefaultTokenResponse, ConfirmIntegrationTransferResult, CheckoutMethod, CheckoutPaymentIntent, CheckoutEvent, WithdrawDirectExecutionSucceededEvent, WithdrawEvent, DestinationToken, DestinationTokenChain, PaymentIntent, DepositQuote, PublicIncidentResponse, WithdrawDirectExecutionFailedEvent, SupportedDestinationTokensResponse, SupportedDepositTokensResponse, VerifyAddressResponse } from '@unifold/core';
|
|
3
3
|
export { ChainType, DepositMethod } from '@unifold/core';
|
|
4
4
|
import * as React$1 from 'react';
|
|
5
5
|
import { MutableRefObject } from 'react';
|
|
@@ -9,6 +9,7 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
9
9
|
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
10
10
|
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
11
11
|
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
12
|
+
import { EventTracker, AnalyticsProperties, AnalyticsEvent } from '@unifold/analytics';
|
|
12
13
|
import { ClassValue } from 'clsx';
|
|
13
14
|
|
|
14
15
|
type DepositConfirmationMode = 'auto_ui' | 'auto_silent' | 'manual';
|
|
@@ -48,6 +49,7 @@ interface UseDepositPollingOptions {
|
|
|
48
49
|
message: string;
|
|
49
50
|
error?: unknown;
|
|
50
51
|
code?: string;
|
|
52
|
+
execution?: DirectExecutionFailedEvent;
|
|
51
53
|
}) => void;
|
|
52
54
|
/**
|
|
53
55
|
* When true (with `depositWalletId`), enables `pollDirectExecutions` as soon as `enabled`
|
|
@@ -148,14 +150,14 @@ interface EvmWalletProvider {
|
|
|
148
150
|
removeListener?(event: string, callback: (...args: unknown[]) => void): void;
|
|
149
151
|
}
|
|
150
152
|
|
|
151
|
-
type DepositModalInitialScreen = 'main' | 'transfer' | 'card' | 'cashapp' | 'apple_pay' | 'tracker' | 'pay_with_exchange' | 'exchange_connect' | 'wallet_connect' | 'bank_transfer' | 'stripe_link';
|
|
153
|
+
type DepositModalInitialScreen = 'main' | 'transfer' | 'card' | 'cashapp' | 'apple_pay' | 'google_pay' | 'tracker' | 'pay_with_exchange' | 'exchange_connect' | 'wallet_connect' | 'bank_transfer' | 'stripe_link';
|
|
152
154
|
interface DepositModalProps {
|
|
153
155
|
open: boolean;
|
|
154
156
|
onOpenChange: (open: boolean) => void;
|
|
155
157
|
userId: string;
|
|
156
158
|
publishableKey: string;
|
|
157
159
|
modalTitle?: string;
|
|
158
|
-
/** Main menu — Transfer Crypto row title. @default `"Transfer Crypto"` (from `
|
|
160
|
+
/** Main menu — Transfer Crypto row title. @default `"Transfer Crypto"` (localized from `depositModal.transferCrypto.title`) */
|
|
159
161
|
transferCryptoTitle?: string;
|
|
160
162
|
/** Main menu — Deposit with Card row title. @default `"Deposit with Card"` */
|
|
161
163
|
depositWithCardTitle?: string;
|
|
@@ -247,13 +249,32 @@ interface DepositModalProps {
|
|
|
247
249
|
*/
|
|
248
250
|
enableApplePay?: boolean;
|
|
249
251
|
/**
|
|
250
|
-
* Title shown for the Apple Pay row in the main menu.
|
|
252
|
+
* Title shown for the Apple Pay row in the main menu.
|
|
253
|
+
* @default `"Pay with Apple Pay"` (localized from `depositModal.applePayMenu.title`)
|
|
251
254
|
*/
|
|
252
255
|
applePayTitle?: string;
|
|
253
256
|
/**
|
|
254
|
-
* Subtitle shown for the Apple Pay row in the main menu.
|
|
257
|
+
* Subtitle shown for the Apple Pay row in the main menu.
|
|
258
|
+
* @default `"Instant"` (localized from `depositModal.applePayMenu.subtitle`)
|
|
255
259
|
*/
|
|
256
260
|
applePaySubTitle?: string;
|
|
261
|
+
/**
|
|
262
|
+
* Enable "Pay with Google Pay" (headless Coinbase) option. Overrides dashboard
|
|
263
|
+
* default. Resolves as flag ?? dashboard `google_pay.enabled` ?? true. The
|
|
264
|
+
* server still gates per-region (US-only, NY excluded at launch) at the
|
|
265
|
+
* order-creation step.
|
|
266
|
+
*/
|
|
267
|
+
enableGooglePay?: boolean;
|
|
268
|
+
/**
|
|
269
|
+
* Title shown for the Google Pay row in the main menu.
|
|
270
|
+
* @default `"Pay with Google Pay"` (localized from `depositModal.googlePayMenu.title`)
|
|
271
|
+
*/
|
|
272
|
+
googlePayTitle?: string;
|
|
273
|
+
/**
|
|
274
|
+
* Subtitle shown for the Google Pay row in the main menu.
|
|
275
|
+
* @default `"Instant"` (localized from `depositModal.googlePayMenu.subtitle`)
|
|
276
|
+
*/
|
|
277
|
+
googlePaySubTitle?: string;
|
|
257
278
|
/**
|
|
258
279
|
* Enable the "Bank Transfer" section (SEPA, etc.). Overrides dashboard default.
|
|
259
280
|
* Resolves as flag ?? dashboard `bank_transfer.enabled` ?? true.
|
|
@@ -301,7 +322,7 @@ interface DepositModalProps {
|
|
|
301
322
|
*/
|
|
302
323
|
displayMode?: 'stacked' | 'tabs';
|
|
303
324
|
}
|
|
304
|
-
declare function DepositModal({ open, onOpenChange, userId, publishableKey, modalTitle, destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, contractCalls, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, prefilledAmountUsd, hideDepositTracker, showBalanceHeader, transferInputVariant, depositConfirmationMode, enableTransferCrypto, enableConnectWallet, browserWalletAmountQuickSelect, enablePayWithExchange, enableFiatOnramp, enableConnectExchange, enableCashApp, enableApplePay, applePayTitle, applePaySubTitle, enableBankTransfer, enableIncidentBanner, enableStripeLink, userEmail, hideDepositFlowInfo, hideDisplayDescription, onDepositSuccess, onDepositError, onEvent, theme, hideOverlay, initialScreen, displayMode, transferCryptoTitle, depositWithCardTitle, payWithExchangeTitle, depositTrackerTitle, depositTrackerSubTitle, }: DepositModalProps): react_jsx_runtime.JSX.Element;
|
|
325
|
+
declare function DepositModal({ open, onOpenChange, userId, publishableKey, modalTitle, destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, contractCalls, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, prefilledAmountUsd, hideDepositTracker, showBalanceHeader, transferInputVariant, depositConfirmationMode, enableTransferCrypto, enableConnectWallet, browserWalletAmountQuickSelect, enablePayWithExchange, enableFiatOnramp, enableConnectExchange, enableCashApp, enableApplePay, applePayTitle: applePayTitleProp, applePaySubTitle: applePaySubTitleProp, enableGooglePay, googlePayTitle: googlePayTitleProp, googlePaySubTitle: googlePaySubTitleProp, enableBankTransfer, enableIncidentBanner, enableStripeLink, userEmail, hideDepositFlowInfo, hideDisplayDescription, onDepositSuccess, onDepositError, onEvent, theme, hideOverlay, initialScreen, displayMode, transferCryptoTitle: transferCryptoTitleProp, depositWithCardTitle: depositWithCardTitleProp, payWithExchangeTitle: payWithExchangeTitleProp, depositTrackerTitle: depositTrackerTitleProp, depositTrackerSubTitle: depositTrackerSubTitleProp, }: DepositModalProps): react_jsx_runtime.JSX.Element;
|
|
305
326
|
|
|
306
327
|
interface DepositHeaderProps {
|
|
307
328
|
title: string;
|
|
@@ -464,7 +485,13 @@ declare function BuyWithCard({ userId, publishableKey, view: externalView, onVie
|
|
|
464
485
|
destinationTokenSymbol, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, onDepositSuccess, onDepositError, onEvent, themeClass, wallets: externalWallets, assetCdnUrl, hideDepositFlowInfo, hideDisplayDescription, prefilledAmountUsd, }: BuyWithCardProps): react_jsx_runtime.JSX.Element;
|
|
465
486
|
|
|
466
487
|
type View = 'loading_config' | 'disabled' | 'email_input' | 'phone_input' | 'submitting_session' | 'email_otp' | 'phone_otp' | 'amount' | 'checking_deposit' | 'success' | 'guest_limit_reached' | 'limit_upgrade_intro' | 'limit_upgrade_form' | 'limit_upgrade_submitting' | 'limit_upgrade_failed';
|
|
467
|
-
interface
|
|
488
|
+
interface BuyWithWalletPayProps {
|
|
489
|
+
/**
|
|
490
|
+
* Device wallet the user pays with. Coinbase runs both wallets through the
|
|
491
|
+
* same guest-checkout order, so this only changes the payment method sent
|
|
492
|
+
* upstream plus the wallet-specific copy and pay button.
|
|
493
|
+
*/
|
|
494
|
+
method: WalletPayMethod;
|
|
468
495
|
userId: string;
|
|
469
496
|
publishableKey: string;
|
|
470
497
|
recipientAddress?: string;
|
|
@@ -499,10 +526,11 @@ interface BuyWithApplePayProps {
|
|
|
499
526
|
/** Stream of the internal view for parent-header sync. */
|
|
500
527
|
onViewChange?: (view: View) => void;
|
|
501
528
|
/**
|
|
502
|
-
*
|
|
503
|
-
*
|
|
504
|
-
* deposit-method menu (`initialScreen` unset / `"main"`); `"Close"`
|
|
505
|
-
*
|
|
529
|
+
* Which exit the button on terminal screens (currently the guest-limit
|
|
530
|
+
* error) offers. `"Return"` when the wallet was reached via the
|
|
531
|
+
* deposit-method menu (`initialScreen` unset / `"main"`); `"Close"` when the
|
|
532
|
+
* modal was opened directly to it. Names the destination, not the copy —
|
|
533
|
+
* the rendered wording comes from the active locale.
|
|
506
534
|
*/
|
|
507
535
|
exitLabel?: 'Return' | 'Close';
|
|
508
536
|
/** Invoked when the user taps the exit button on a terminal screen. */
|
|
@@ -510,12 +538,28 @@ interface BuyWithApplePayProps {
|
|
|
510
538
|
themeClass?: string;
|
|
511
539
|
}
|
|
512
540
|
/** Imperative handle: `requestBack` returns true when the child handled the back. */
|
|
513
|
-
interface
|
|
541
|
+
interface BuyWithWalletPayHandle {
|
|
514
542
|
requestBack: () => boolean;
|
|
515
543
|
}
|
|
516
|
-
declare const
|
|
544
|
+
declare const BuyWithWalletPay: React$1.ForwardRefExoticComponent<BuyWithWalletPayProps & React$1.RefAttributes<BuyWithWalletPayHandle>>;
|
|
545
|
+
|
|
546
|
+
type BuyWithApplePayProps = Omit<BuyWithWalletPayProps, 'method'>;
|
|
547
|
+
/**
|
|
548
|
+
* Apple Pay entry point into the headless Coinbase guest-checkout flow.
|
|
549
|
+
* The flow itself lives in {@link BuyWithWalletPay}, which Google Pay
|
|
550
|
+
* shares.
|
|
551
|
+
*/
|
|
552
|
+
declare const BuyWithApplePay: React$1.ForwardRefExoticComponent<BuyWithApplePayProps & React$1.RefAttributes<BuyWithWalletPayHandle>>;
|
|
553
|
+
|
|
554
|
+
type BuyWithGooglePayProps = Omit<BuyWithWalletPayProps, 'method'>;
|
|
555
|
+
/**
|
|
556
|
+
* Google Pay entry point into the headless Coinbase guest-checkout flow.
|
|
557
|
+
* The flow itself lives in {@link BuyWithWalletPay}, which Apple Pay
|
|
558
|
+
* shares.
|
|
559
|
+
*/
|
|
560
|
+
declare const BuyWithGooglePay: React$1.ForwardRefExoticComponent<BuyWithGooglePayProps & React$1.RefAttributes<BuyWithWalletPayHandle>>;
|
|
517
561
|
|
|
518
|
-
interface
|
|
562
|
+
interface StoredWalletPaySession {
|
|
519
563
|
email: string;
|
|
520
564
|
/** US phone in E.164 (e.g. +12345678901). */
|
|
521
565
|
phone: string;
|
|
@@ -527,10 +571,10 @@ interface StoredApplePaySession {
|
|
|
527
571
|
/** Epoch ms; treated as expired 60s before this to avoid order-race. */
|
|
528
572
|
onrampTokenExpiresAtMs?: number;
|
|
529
573
|
}
|
|
530
|
-
declare function
|
|
531
|
-
declare function
|
|
532
|
-
declare function
|
|
533
|
-
declare function isOnrampTokenFresh(contact:
|
|
574
|
+
declare function getStoredWalletPaySession(userId: string): StoredWalletPaySession | null;
|
|
575
|
+
declare function setStoredWalletPaySession(userId: string, contact: StoredWalletPaySession): void;
|
|
576
|
+
declare function clearStoredWalletPaySession(userId: string): void;
|
|
577
|
+
declare function isOnrampTokenFresh(contact: StoredWalletPaySession | null): boolean;
|
|
534
578
|
|
|
535
579
|
interface CurrencyModalProps {
|
|
536
580
|
open: boolean;
|
|
@@ -646,7 +690,7 @@ interface StripeLinkButtonProps {
|
|
|
646
690
|
subtitle?: string;
|
|
647
691
|
iconUrl?: string;
|
|
648
692
|
}
|
|
649
|
-
declare function StripeLinkButton({ onClick, title, subtitle, iconUrl
|
|
693
|
+
declare function StripeLinkButton({ onClick, title, subtitle, iconUrl }: StripeLinkButtonProps): react_jsx_runtime.JSX.Element;
|
|
650
694
|
|
|
651
695
|
type BankTransferView = 'providers' | 'amount' | 'pending';
|
|
652
696
|
interface BankTransferProps {
|
|
@@ -713,8 +757,10 @@ interface CoinbaseConnectProps {
|
|
|
713
757
|
error?: unknown;
|
|
714
758
|
code?: string;
|
|
715
759
|
}) => void;
|
|
760
|
+
/** Transfer failed. `code` carries Coinbase's own status where it has one. */
|
|
716
761
|
onTransferError?: (error: {
|
|
717
762
|
message: string;
|
|
763
|
+
code?: string;
|
|
718
764
|
}) => void;
|
|
719
765
|
onClose?: () => void;
|
|
720
766
|
onBack?: () => void;
|
|
@@ -767,9 +813,15 @@ interface PayWithStripeLinkProps {
|
|
|
767
813
|
message: string;
|
|
768
814
|
transaction?: unknown;
|
|
769
815
|
}) => void;
|
|
816
|
+
/**
|
|
817
|
+
* Purchase failed. `code` is Stripe's or our backend's machine-readable
|
|
818
|
+
* reason (`card_declined`, `stripe_onramp_missing_kyc`, `expired`), which is
|
|
819
|
+
* what a funnel groups on — `message` is localized prose.
|
|
820
|
+
*/
|
|
770
821
|
onDepositError?: (error: {
|
|
771
822
|
message: string;
|
|
772
823
|
error?: unknown;
|
|
824
|
+
code?: string;
|
|
773
825
|
}) => void;
|
|
774
826
|
}
|
|
775
827
|
|
|
@@ -789,7 +841,7 @@ interface PayWithStripeLinkProps {
|
|
|
789
841
|
* The Stripe publishable key is auto-fetched from the backend via GET /config,
|
|
790
842
|
* so consumers only need their Unifold publishable key.
|
|
791
843
|
*/
|
|
792
|
-
declare function PayWithStripeLink({ userId, publishableKey, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, countryCode, subdivisionCode, wallets: externalWallets, email: emailProp, iconUrl, step: controlledStep, onStepChange, backHandlerRef, onDepositSuccess, onDepositError, }: PayWithStripeLinkProps): react_jsx_runtime.JSX.Element | null;
|
|
844
|
+
declare function PayWithStripeLink({ userId, publishableKey, recipientAddress, destinationChainType, destinationChainId, destinationTokenAddress, countryCode, subdivisionCode, wallets: externalWallets, email: emailProp, iconUrl, step: controlledStep, onStepChange, backHandlerRef, onDepositSuccess, onDepositError, onEvent, }: PayWithStripeLinkProps): react_jsx_runtime.JSX.Element | null;
|
|
793
845
|
|
|
794
846
|
interface DepositExecutionItemProps {
|
|
795
847
|
execution: DirectExecutionResponse;
|
|
@@ -844,6 +896,11 @@ interface CheckoutModalProps {
|
|
|
844
896
|
onOpenChange: (open: boolean) => void;
|
|
845
897
|
clientSecret: string;
|
|
846
898
|
publishableKey: string;
|
|
899
|
+
/**
|
|
900
|
+
* Your own id for the payer, echoed onto every `onEvent` envelope. Optional
|
|
901
|
+
* and purely a passthrough — a checkout is identified by its payment intent.
|
|
902
|
+
*/
|
|
903
|
+
externalUserId?: string;
|
|
847
904
|
modalTitle?: string;
|
|
848
905
|
/** Enable "Transfer Crypto" option. Overrides dashboard default. Resolves as flag ?? dashboard value ?? true. */
|
|
849
906
|
enableTransferCrypto?: boolean;
|
|
@@ -888,7 +945,7 @@ interface CheckoutModalProps {
|
|
|
888
945
|
}) => void;
|
|
889
946
|
onEvent?: (event: CheckoutEvent) => void;
|
|
890
947
|
}
|
|
891
|
-
declare function CheckoutModal({ open, onOpenChange, clientSecret, publishableKey, modalTitle, enableTransferCrypto, enableConnectWallet, enableIncidentBanner, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, theme, onCheckoutSuccess, onCheckoutError, onEvent, }: CheckoutModalProps): react_jsx_runtime.JSX.Element;
|
|
948
|
+
declare function CheckoutModal({ open, onOpenChange, clientSecret, publishableKey, modalTitle, enableTransferCrypto, enableConnectWallet, enableIncidentBanner, defaultSourceChainType, defaultSourceChainId, defaultSourceTokenAddress, defaultSourceSymbol, theme, onCheckoutSuccess, onCheckoutError, onEvent, externalUserId, }: CheckoutModalProps): react_jsx_runtime.JSX.Element;
|
|
892
949
|
|
|
893
950
|
interface WithdrawTransactionInfo {
|
|
894
951
|
/** Source (sending) chain type */
|
|
@@ -907,13 +964,24 @@ interface WithdrawTransactionInfo {
|
|
|
907
964
|
destinationTokenAddress: string;
|
|
908
965
|
/** Destination token symbol */
|
|
909
966
|
destinationTokenSymbol: string;
|
|
967
|
+
/** Human-readable token amount (standard unit) being withdrawn. */
|
|
910
968
|
amount: string;
|
|
969
|
+
/** Token amount in base units (smallest denomination). */
|
|
911
970
|
amountBaseUnit: string;
|
|
912
971
|
/** The Unifold deposit wallet address to send funds to */
|
|
913
972
|
withdrawIntentAddress: string;
|
|
914
973
|
/** The user-provided final destination address */
|
|
915
974
|
recipientAddress: string;
|
|
916
975
|
}
|
|
976
|
+
/**
|
|
977
|
+
* Withdraw transaction info plus the derived USD value, passed to
|
|
978
|
+
* `onWithdrawStarted` for analytics. Kept separate from
|
|
979
|
+
* {@link WithdrawTransactionInfo} so the host `onWithdraw` contract stays lean.
|
|
980
|
+
*/
|
|
981
|
+
interface WithdrawStartedInfo extends WithdrawTransactionInfo {
|
|
982
|
+
/** USD value of the withdrawal, when derivable from the form. */
|
|
983
|
+
amountUsd?: string;
|
|
984
|
+
}
|
|
917
985
|
interface WithdrawModalProps {
|
|
918
986
|
open: boolean;
|
|
919
987
|
onOpenChange: (open: boolean) => void;
|
|
@@ -1014,6 +1082,11 @@ interface WithdrawFormProps {
|
|
|
1014
1082
|
sourceTokenAddress: string;
|
|
1015
1083
|
/** Called when the user confirms the withdrawal. The host app signs and submits the transaction. */
|
|
1016
1084
|
onWithdraw: (txInfo: WithdrawTransactionInfo) => void | Promise<void>;
|
|
1085
|
+
/**
|
|
1086
|
+
* Called the moment the user confirms the form (before `onWithdraw`), so the
|
|
1087
|
+
* journey's `flow_started` reflects intent, not the wallet-callback result.
|
|
1088
|
+
*/
|
|
1089
|
+
onWithdrawStarted?: (txInfo: WithdrawStartedInfo) => void;
|
|
1017
1090
|
onWithdrawError?: (error: {
|
|
1018
1091
|
message: string;
|
|
1019
1092
|
error?: unknown;
|
|
@@ -1034,7 +1107,7 @@ interface WithdrawFormProps {
|
|
|
1034
1107
|
/** Optional element rendered on the left side of the footer row (e.g. tracker link) */
|
|
1035
1108
|
footerLeft?: React.ReactNode;
|
|
1036
1109
|
}
|
|
1037
|
-
declare function WithdrawForm({ publishableKey, externalUserId, sourceChainType, selectedToken, selectedChain, sourceTokenSymbol, recipientAddressProp, balanceData, isLoadingBalance, isStablecoin, minimumWithdrawAmountUsd, estimatedProcessingTime, maxSlippagePercent, priceImpactPercent, senderAddress, sourceChainId, sourceTokenAddress, onWithdraw, onWithdrawError, onDepositWalletCreation, onWithdrawSubmitted, footerLeft, }: WithdrawFormProps): react_jsx_runtime.JSX.Element;
|
|
1110
|
+
declare function WithdrawForm({ publishableKey, externalUserId, sourceChainType, selectedToken, selectedChain, sourceTokenSymbol, recipientAddressProp, balanceData, isLoadingBalance, isStablecoin, minimumWithdrawAmountUsd, estimatedProcessingTime, maxSlippagePercent, priceImpactPercent, senderAddress, sourceChainId, sourceTokenAddress, onWithdraw, onWithdrawStarted, onWithdrawError, onDepositWalletCreation, onWithdrawSubmitted, footerLeft, }: WithdrawFormProps): react_jsx_runtime.JSX.Element;
|
|
1038
1111
|
|
|
1039
1112
|
interface WithdrawExecutionItemProps {
|
|
1040
1113
|
execution: DirectExecutionResponse;
|
|
@@ -1173,6 +1246,1634 @@ declare function Tooltip({ children, ...props }: React$1.ComponentPropsWithoutRe
|
|
|
1173
1246
|
declare const TooltipTrigger: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
1174
1247
|
declare const TooltipContent: React$1.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
1175
1248
|
|
|
1249
|
+
var common = {
|
|
1250
|
+
loading: "Loading...",
|
|
1251
|
+
search: "Search",
|
|
1252
|
+
close: "Close",
|
|
1253
|
+
review: "Review",
|
|
1254
|
+
tryAgain: "Try Again",
|
|
1255
|
+
somethingWentWrong: "Something went wrong",
|
|
1256
|
+
seeMoreDetails: "See more details",
|
|
1257
|
+
seeLess: "See less",
|
|
1258
|
+
dateTime: "{{date}} at {{time}}",
|
|
1259
|
+
"continue": "Continue",
|
|
1260
|
+
processing: "Processing",
|
|
1261
|
+
terms: "Terms",
|
|
1262
|
+
help: "Help",
|
|
1263
|
+
done: "Done",
|
|
1264
|
+
from: "From",
|
|
1265
|
+
max: "Max",
|
|
1266
|
+
or: "or",
|
|
1267
|
+
minimumAmount: "Minimum amount is {{amount}}",
|
|
1268
|
+
maximumAmount: "Maximum amount is {{amount}}",
|
|
1269
|
+
minimumDeposit: "Minimum deposit: {{amount}}",
|
|
1270
|
+
minSuffix: "{{amount}} min",
|
|
1271
|
+
duration: {
|
|
1272
|
+
lessThanMinute: "< 1 min",
|
|
1273
|
+
lessThanSeconds: "< {{seconds}} sec",
|
|
1274
|
+
lessThanMinutes: "< {{minutes}} min",
|
|
1275
|
+
lessThanHours: "< {{hours}} hr",
|
|
1276
|
+
lessThanHoursMinutes: "< {{hours}} hr {{minutes}} min",
|
|
1277
|
+
lessThanMinutesSeconds: "< {{minutes}} min {{seconds}} sec"
|
|
1278
|
+
},
|
|
1279
|
+
balance: "Balance: {{amount}}",
|
|
1280
|
+
balanceWithProject: "{{projectName}} Balance: {{amount}}",
|
|
1281
|
+
balanceWithToken: "Balance: {{amount}} ({{tokenAmount}})",
|
|
1282
|
+
amountDue: "Amount due: {{amount}}"
|
|
1283
|
+
};
|
|
1284
|
+
var executionDetails = {
|
|
1285
|
+
processing: "Processing",
|
|
1286
|
+
completed: "Completed",
|
|
1287
|
+
amountSent: "Amount Sent",
|
|
1288
|
+
amountReceived: "Amount Received",
|
|
1289
|
+
usdValue: "USD Value",
|
|
1290
|
+
estimatedDeliveryTime: "Estimated delivery time",
|
|
1291
|
+
sourceNetwork: "Source Network",
|
|
1292
|
+
destinationNetwork: "Destination Network",
|
|
1293
|
+
depositTx: "Deposit Tx",
|
|
1294
|
+
withdrawalTx: "Withdrawal Tx",
|
|
1295
|
+
completionTx: "Completion Tx"
|
|
1296
|
+
};
|
|
1297
|
+
var depositTracker = {
|
|
1298
|
+
title: "Deposit Tracker",
|
|
1299
|
+
detailsTitle: "Deposit Details",
|
|
1300
|
+
empty: "No deposits yet",
|
|
1301
|
+
viewStatus: "View status",
|
|
1302
|
+
checkingForDeposit: "Checking for deposit",
|
|
1303
|
+
iveMadeDeposit: "I've made the deposit",
|
|
1304
|
+
item: {
|
|
1305
|
+
processing: "Deposit processing",
|
|
1306
|
+
completed: "Deposit completed"
|
|
1307
|
+
},
|
|
1308
|
+
estimatedPrefix: "Est. {{time}}"
|
|
1309
|
+
};
|
|
1310
|
+
var connectWallet = {
|
|
1311
|
+
title: "Connect Wallet",
|
|
1312
|
+
selectWalletSubtitle: "Select a wallet to connect",
|
|
1313
|
+
selectWalletSubtitleChain: "Select a {{chain}} wallet",
|
|
1314
|
+
openInWalletApp: "Open this page in your wallet's app to connect",
|
|
1315
|
+
noWalletsAvailable: "No wallets available",
|
|
1316
|
+
noBalancesFound: "No balances found",
|
|
1317
|
+
lastUsed: "Last used",
|
|
1318
|
+
selectNetwork: "Select Network",
|
|
1319
|
+
whichNetwork: "Which network do you want to connect?",
|
|
1320
|
+
connectingTitle: "Connecting...",
|
|
1321
|
+
connectingTo: "Connecting to {{wallet}}...",
|
|
1322
|
+
approveInWallet: "Please approve the connection in your wallet",
|
|
1323
|
+
continueInWallet: "Continue in {{wallet}}",
|
|
1324
|
+
completeInWalletApp: "Complete your deposit in the {{wallet}} app",
|
|
1325
|
+
openInWallet: "Open in {{wallet}}",
|
|
1326
|
+
checkingForDeposit: "Checking for deposit...",
|
|
1327
|
+
review: {
|
|
1328
|
+
title: "Review",
|
|
1329
|
+
destination: "Destination",
|
|
1330
|
+
estimatedTime: "Estimated time",
|
|
1331
|
+
priceImpact: "Price impact",
|
|
1332
|
+
maxSlippage: "Max slippage",
|
|
1333
|
+
confirmOrder: "Confirm Order",
|
|
1334
|
+
confirming: "Confirming...",
|
|
1335
|
+
minimumForTokenOnChain: "Minimum for {{token}} on {{chain}} is ${{amount}}",
|
|
1336
|
+
amountAdjusted: "Amount adjusted from remaining ${{amount}}",
|
|
1337
|
+
minimumDeposit: "Minimum deposit: ${{amount}}",
|
|
1338
|
+
walletWillPrompt: "{{wallet}} wallet will ask you to approve this transaction."
|
|
1339
|
+
},
|
|
1340
|
+
confirming: {
|
|
1341
|
+
waitingTitle: "Waiting for confirmation...",
|
|
1342
|
+
waitingSubtitle: "Please confirm the transaction in your wallet",
|
|
1343
|
+
submittedTitle: "Transaction Submitted",
|
|
1344
|
+
submittedSubtitle: "Waiting for your deposit to be detected..."
|
|
1345
|
+
},
|
|
1346
|
+
detected: "Detected",
|
|
1347
|
+
install: "Install",
|
|
1348
|
+
open: "Open",
|
|
1349
|
+
evmCompatibleChains: "EVM compatible chains",
|
|
1350
|
+
solanaNetwork: "Solana network",
|
|
1351
|
+
approveInSolanaWallet: "Please approve the connection in your Solana wallet",
|
|
1352
|
+
selectToken: "Select Token",
|
|
1353
|
+
enterAmount: "Enter Amount",
|
|
1354
|
+
insufficientBalance: "Insufficient balance",
|
|
1355
|
+
"continue": "Continue",
|
|
1356
|
+
loadBalancesFailed: "Failed to load balances. Please try again.",
|
|
1357
|
+
lowBalance: "Low balance",
|
|
1358
|
+
notSupported: "Not supported",
|
|
1359
|
+
notEligible: "Not eligible",
|
|
1360
|
+
paymentComplete: "Payment Complete",
|
|
1361
|
+
paymentFailed: "Payment Failed",
|
|
1362
|
+
paymentProcessing: "Payment Processing",
|
|
1363
|
+
processing: "Processing",
|
|
1364
|
+
depositDetails: "Deposit Details",
|
|
1365
|
+
invalidDepositAddress: "Invalid deposit address. Please contact support.",
|
|
1366
|
+
payAmount: "Pay ${{amount}}",
|
|
1367
|
+
connectFailed: "Failed to connect wallet",
|
|
1368
|
+
transactionFailed: "Transaction failed"
|
|
1369
|
+
};
|
|
1370
|
+
var transferCrypto = {
|
|
1371
|
+
priceImpact: {
|
|
1372
|
+
label: "Price impact",
|
|
1373
|
+
tooltip: "Price impact reflects the difference between the expected price and the final execution price, influenced by trade size and available liquidity. Larger trades may move the market price during execution.",
|
|
1374
|
+
finalCost: "The final cost reflects price impact and may vary depending on market and network conditions. Larger trade sizes typically benefit from lower relative costs."
|
|
1375
|
+
},
|
|
1376
|
+
slippage: {
|
|
1377
|
+
label: "Max slippage",
|
|
1378
|
+
auto: "Auto",
|
|
1379
|
+
tooltip: "Slippage represents price changes that can occur while a transaction is being processed. Slippage is dynamically adjusted per trading pair to support reliable execution during market movements.",
|
|
1380
|
+
finalCost: "The final cost includes any slippage and may change based on real-time network conditions. Costs are generally reduced for larger transaction amounts."
|
|
1381
|
+
},
|
|
1382
|
+
processingTime: {
|
|
1383
|
+
label: "Processing time",
|
|
1384
|
+
lessThanMinutes: "< {{minutes}} min",
|
|
1385
|
+
lessThanHours: "< {{hours}} hr"
|
|
1386
|
+
},
|
|
1387
|
+
minDeposit: {
|
|
1388
|
+
label: "min",
|
|
1389
|
+
tooltip: "The minimum amount you can deposit on the selected network."
|
|
1390
|
+
},
|
|
1391
|
+
help: {
|
|
1392
|
+
needHelp: "Need help?",
|
|
1393
|
+
contactSupport: "Contact support"
|
|
1394
|
+
},
|
|
1395
|
+
terms: {
|
|
1396
|
+
seeTerms: "See terms",
|
|
1397
|
+
termsApply: "Terms apply"
|
|
1398
|
+
},
|
|
1399
|
+
selectedToken: "Selected token",
|
|
1400
|
+
selectedChain: "Selected chain",
|
|
1401
|
+
depositAddress: {
|
|
1402
|
+
label: "Your deposit address",
|
|
1403
|
+
tooltip: "Send any supported token to this address, and it will be automatically converted to {{token}} in your account."
|
|
1404
|
+
},
|
|
1405
|
+
copyAddress: "Copy address",
|
|
1406
|
+
copied: "Copied!",
|
|
1407
|
+
loading: "Loading...",
|
|
1408
|
+
loadingQRCode: "Loading QR Code...",
|
|
1409
|
+
noAddressAvailable: "No address available",
|
|
1410
|
+
noChainsAvailable: "No chains available for this token",
|
|
1411
|
+
minimumDeposit: "Minimum: {{amount}}",
|
|
1412
|
+
minimumDepositTooltip: "The minimum amount you can deposit on the selected network.",
|
|
1413
|
+
selectTokenDeposit: "Your deposit token",
|
|
1414
|
+
selectTokenDepositTooltip: "Select the token you want to deposit with in order to begin the deposit process.",
|
|
1415
|
+
tokenSelector: {
|
|
1416
|
+
title: "Select token to deposit",
|
|
1417
|
+
quickSelect: "Quick select",
|
|
1418
|
+
allSupportedTokens: "All supported tokens",
|
|
1419
|
+
noTokensFound: "No tokens found",
|
|
1420
|
+
minimumLabel: "Minimum: "
|
|
1421
|
+
},
|
|
1422
|
+
currency: {
|
|
1423
|
+
title: "Currency",
|
|
1424
|
+
popularCurrencies: "Popular currencies",
|
|
1425
|
+
allCurrencies: "All currencies",
|
|
1426
|
+
noCurrenciesFound: "No currencies found"
|
|
1427
|
+
},
|
|
1428
|
+
youSend: "You send",
|
|
1429
|
+
intentAddress: "Intent address",
|
|
1430
|
+
createAddressFailed: "Failed to create deposit address",
|
|
1431
|
+
createAddressRetrying: "Retrying automatically every 5 seconds...",
|
|
1432
|
+
addressValidation: {
|
|
1433
|
+
validating: "Verifying recipient address...",
|
|
1434
|
+
unableToReceiveFunds: "Unable to Receive Funds",
|
|
1435
|
+
errors: {
|
|
1436
|
+
token_not_supported: "The destination token is not supported",
|
|
1437
|
+
not_opted_in: "Please make sure you opt-in {{token_symbol}}({{chain_name}}) before receiving funds",
|
|
1438
|
+
insufficient_balance: "Recipient account does not meet the minimum balance requirement",
|
|
1439
|
+
account_not_found: "Recipient account does not exist on {{chain_name}}",
|
|
1440
|
+
validation_error: "Unable to verify recipient address on {{chain_name}}"
|
|
1441
|
+
},
|
|
1442
|
+
defaultError: "The recipient address cannot receive funds for the selected token"
|
|
1443
|
+
},
|
|
1444
|
+
selectNetworkPlaceholder: "Select network"
|
|
1445
|
+
};
|
|
1446
|
+
var glossary = {
|
|
1447
|
+
title: "Glossary",
|
|
1448
|
+
depositToken: "Your Deposit Token",
|
|
1449
|
+
depositAddress: "Deposit Address",
|
|
1450
|
+
depositAddressDescription: "A unique wallet address generated for you. Send supported tokens to this address and they will be automatically converted and deposited into your account.",
|
|
1451
|
+
priceImpact: "Price Impact",
|
|
1452
|
+
slippage: "Slippage",
|
|
1453
|
+
processingTime: "Processing Time",
|
|
1454
|
+
processingTimeDescription: "The estimated time for your deposit to be confirmed and credited. This depends on the source network's block confirmation time and current congestion.",
|
|
1455
|
+
minimumDeposit: "Minimum Deposit",
|
|
1456
|
+
recipientAddress: "Recipient Address",
|
|
1457
|
+
recipientAddressDescription: "The destination address on the target blockchain where your converted deposit will be sent. This is typically your wallet address on the application's native chain.",
|
|
1458
|
+
linkLabel: "Glossary"
|
|
1459
|
+
};
|
|
1460
|
+
var depositModal = {
|
|
1461
|
+
title: "Deposit",
|
|
1462
|
+
transferCrypto: {
|
|
1463
|
+
title: "Transfer Crypto",
|
|
1464
|
+
subtitle: "No limit • Instant"
|
|
1465
|
+
},
|
|
1466
|
+
depositWithCard: {
|
|
1467
|
+
title: "Deposit with Card",
|
|
1468
|
+
subtitle: "$50,000 limit"
|
|
1469
|
+
},
|
|
1470
|
+
quotes: "Quotes",
|
|
1471
|
+
payWithExchange: {
|
|
1472
|
+
title: "Pay with Exchange",
|
|
1473
|
+
subtitle: "Transfer from exchange"
|
|
1474
|
+
},
|
|
1475
|
+
depositTracker: {
|
|
1476
|
+
title: "Deposit Tracker",
|
|
1477
|
+
subtitle: "Track your deposit progress"
|
|
1478
|
+
},
|
|
1479
|
+
stripeLink: {
|
|
1480
|
+
title: "Pay with Link",
|
|
1481
|
+
subtitle: "Buy with card or bank",
|
|
1482
|
+
unavailableInRegionMessage: "Pay with Link is currently unavailable in your region."
|
|
1483
|
+
},
|
|
1484
|
+
browserWallet: {
|
|
1485
|
+
title: "Connect Wallet",
|
|
1486
|
+
subtitle: "Deposit from your wallet",
|
|
1487
|
+
disconnect: "Disconnect"
|
|
1488
|
+
},
|
|
1489
|
+
cashApp: {
|
|
1490
|
+
creatingOrder: "Creating order...",
|
|
1491
|
+
"continue": "Continue",
|
|
1492
|
+
sessionExpiredTitle: "This session may have expired",
|
|
1493
|
+
sessionExpiredSubtitle: "If you already paid, your deposit will still be processed. Otherwise, start a new session.",
|
|
1494
|
+
newSession: "New Cash App session",
|
|
1495
|
+
copyPaymentLink: "Copy payment link",
|
|
1496
|
+
openCashApp: "Open Cash App",
|
|
1497
|
+
paymentProcessing: "Payment processing",
|
|
1498
|
+
paymentProcessingSubtitle: "Your Cash App payment is being confirmed...",
|
|
1499
|
+
paymentReceived: "Payment received",
|
|
1500
|
+
paymentReceivedSubtitle: "Converting to your destination token..."
|
|
1501
|
+
},
|
|
1502
|
+
bankTransfer: {
|
|
1503
|
+
title: "Bank Transfer",
|
|
1504
|
+
subtitle: "SEPA, ACH and more",
|
|
1505
|
+
unavailableInCountry: "Bank-transfer rails are not yet available in your country."
|
|
1506
|
+
},
|
|
1507
|
+
cashAppMenu: {
|
|
1508
|
+
title: "Pay with Cash App",
|
|
1509
|
+
subtitle: "Deposit via Cash App"
|
|
1510
|
+
},
|
|
1511
|
+
applePayMenu: {
|
|
1512
|
+
title: "Pay with Apple Pay",
|
|
1513
|
+
subtitle: "Instant"
|
|
1514
|
+
},
|
|
1515
|
+
googlePayMenu: {
|
|
1516
|
+
title: "Pay with Google Pay",
|
|
1517
|
+
subtitle: "Instant"
|
|
1518
|
+
},
|
|
1519
|
+
cardMethodName: "Card",
|
|
1520
|
+
applePayMethodName: "Apple Pay",
|
|
1521
|
+
googlePayMethodName: "Google Pay",
|
|
1522
|
+
stripeLinkHeaderTitle: "Deposit with Link",
|
|
1523
|
+
locationError: {
|
|
1524
|
+
title: "Unable to Verify Location",
|
|
1525
|
+
description: "We couldn't verify your location. Please check your connection and try again."
|
|
1526
|
+
},
|
|
1527
|
+
blocked: {
|
|
1528
|
+
title: "No Tokens Available",
|
|
1529
|
+
description: "There are no supported tokens available from your current location."
|
|
1530
|
+
},
|
|
1531
|
+
geoRestriction: {
|
|
1532
|
+
title: "{{method}} is unavailable",
|
|
1533
|
+
description: "This deposit method is not supported in your region."
|
|
1534
|
+
},
|
|
1535
|
+
tabs: {
|
|
1536
|
+
crypto: "Use Crypto",
|
|
1537
|
+
cash: "Use Cash"
|
|
1538
|
+
},
|
|
1539
|
+
applePayHeader: {
|
|
1540
|
+
enterEmail: "Enter your email",
|
|
1541
|
+
enterPhone: "Enter your phone",
|
|
1542
|
+
verifyEmail: "Verify your email",
|
|
1543
|
+
verifyPhone: "Verify your phone",
|
|
1544
|
+
amount: "Amount",
|
|
1545
|
+
checkingDeposit: "Checking deposit",
|
|
1546
|
+
success: "Success",
|
|
1547
|
+
limitReached: "Limit reached",
|
|
1548
|
+
verifyIdentity: "Verify identity",
|
|
1549
|
+
verifying: "Verifying"
|
|
1550
|
+
},
|
|
1551
|
+
cashAppHeader: {
|
|
1552
|
+
payAmount: "Pay ${{amount}} via Cash App"
|
|
1553
|
+
},
|
|
1554
|
+
cashAppScan: {
|
|
1555
|
+
mobile: "Complete payment in Cash App",
|
|
1556
|
+
desktop: "Scan to pay"
|
|
1557
|
+
},
|
|
1558
|
+
cashAppErrors: {
|
|
1559
|
+
missingFields: "Missing required fields",
|
|
1560
|
+
createSessionFailed: "Failed to create session",
|
|
1561
|
+
paymentFailed: "Payment failed",
|
|
1562
|
+
cashAppPaymentFailed: "Cash App payment failed"
|
|
1563
|
+
}
|
|
1564
|
+
};
|
|
1565
|
+
var checkoutModal = {
|
|
1566
|
+
title: "Checkout",
|
|
1567
|
+
unableToLoad: "Unable to Load Checkout",
|
|
1568
|
+
transferCrypto: {
|
|
1569
|
+
title: "Transfer Crypto",
|
|
1570
|
+
subtitle: "Send to a deposit address"
|
|
1571
|
+
},
|
|
1572
|
+
browserWallet: {
|
|
1573
|
+
title: "Connect Wallet",
|
|
1574
|
+
subtitle: "Pay directly from your wallet"
|
|
1575
|
+
},
|
|
1576
|
+
status: {
|
|
1577
|
+
succeeded: "Payment Complete",
|
|
1578
|
+
processing: "Partial Payment Received",
|
|
1579
|
+
canceled: "Canceled",
|
|
1580
|
+
expired: "Expired"
|
|
1581
|
+
},
|
|
1582
|
+
received: "Received",
|
|
1583
|
+
genericError: "Something went wrong. Please try again.",
|
|
1584
|
+
amountReceived: "{{received}} / {{total}} received",
|
|
1585
|
+
amountRemaining: "{{amount}} remaining"
|
|
1586
|
+
};
|
|
1587
|
+
var payWithExchange = {
|
|
1588
|
+
title: "Pay with Exchange",
|
|
1589
|
+
subtitle: "Transfer from exchange",
|
|
1590
|
+
comingSoon: "Coming soon",
|
|
1591
|
+
completeTransaction: "Complete transfer with {{provider}}",
|
|
1592
|
+
canCloseModal: "You can close this modal.",
|
|
1593
|
+
reopenExchange: "Reopen exchange window",
|
|
1594
|
+
walletOrTokenUnavailable: "Wallet address or token information not available"
|
|
1595
|
+
};
|
|
1596
|
+
var connectExchange = {
|
|
1597
|
+
title: "Connect Exchange",
|
|
1598
|
+
subtitle: "No limit • 2 min",
|
|
1599
|
+
selectExchange: "Select an exchange",
|
|
1600
|
+
comingSoon: "Coming Soon",
|
|
1601
|
+
disclosure: {
|
|
1602
|
+
message: "{{appName}} will securely connect to your {{exchange}} account.",
|
|
1603
|
+
credentialsNotStored: "Your credentials are never stored",
|
|
1604
|
+
credentialsNotStoredDesc: "All data is encrypted between {{appName}} and {{exchange}}.",
|
|
1605
|
+
mfaRequired: "2FA always required",
|
|
1606
|
+
mfaRequiredDesc: "Transfers cannot be made without your approval first."
|
|
1607
|
+
},
|
|
1608
|
+
connecting: "Connecting to {{exchange}}...",
|
|
1609
|
+
connectingDesc: "Complete authorization in the popup window",
|
|
1610
|
+
connected: {
|
|
1611
|
+
title: "Connected to {{exchange}}",
|
|
1612
|
+
subtitle: "Your {{exchange}} account is linked and ready to use.",
|
|
1613
|
+
exchange: "Exchange",
|
|
1614
|
+
status: "Status",
|
|
1615
|
+
statusConnected: "Connected",
|
|
1616
|
+
continueToDeposit: "Continue",
|
|
1617
|
+
continueToPay: "Continue to Pay",
|
|
1618
|
+
flowSource: "Source",
|
|
1619
|
+
flowTransfer: "Transfer",
|
|
1620
|
+
flowDirect: "Direct",
|
|
1621
|
+
flowDestination: "Destination",
|
|
1622
|
+
secureNote: "All transfers are secured with two-factor authentication and encrypted end-to-end."
|
|
1623
|
+
},
|
|
1624
|
+
holdings: {
|
|
1625
|
+
title: "Select asset"
|
|
1626
|
+
},
|
|
1627
|
+
transfer: {
|
|
1628
|
+
source: "Source",
|
|
1629
|
+
destination: "Destination",
|
|
1630
|
+
destinationWallet: "Wallet",
|
|
1631
|
+
estimatedTime: "Estimated time",
|
|
1632
|
+
estimatedTimeLessThanMin: "< 1 min",
|
|
1633
|
+
youSend: "You send",
|
|
1634
|
+
youReceive: "You receive",
|
|
1635
|
+
transactionBreakdown: "Transaction breakdown",
|
|
1636
|
+
networkFee: "Network fee",
|
|
1637
|
+
confirmOrder: "Confirm Order",
|
|
1638
|
+
termsNoticePrefix: "By clicking on Confirm Order, you agree to our ",
|
|
1639
|
+
termsNoticeLink: "terms",
|
|
1640
|
+
termsNoticeSuffix: "."
|
|
1641
|
+
},
|
|
1642
|
+
mfa: {
|
|
1643
|
+
title: "Enter your {{exchange}} 2FA code",
|
|
1644
|
+
description: "Enter your two factor authentication code. This code could be in your authenticator app, email, trading pin, or SMS.",
|
|
1645
|
+
invalidCode: "Invalid 2FA code. Please try again.",
|
|
1646
|
+
"continue": "Continue"
|
|
1647
|
+
},
|
|
1648
|
+
success: {
|
|
1649
|
+
title: "Transfer Complete",
|
|
1650
|
+
description: "Your transfer has been submitted successfully.",
|
|
1651
|
+
done: "Done",
|
|
1652
|
+
processingTitle: "Transfer initiated",
|
|
1653
|
+
processingSubtitle: "Waiting for deposit from {{exchange}}"
|
|
1654
|
+
},
|
|
1655
|
+
error: {
|
|
1656
|
+
title: "Transfer Failed",
|
|
1657
|
+
tryAgain: "Try Again"
|
|
1658
|
+
},
|
|
1659
|
+
"continue": "Continue",
|
|
1660
|
+
disconnect: "Disconnect",
|
|
1661
|
+
depositFromExchange: "Deposit from exchange",
|
|
1662
|
+
noHoldingsFound: "No holdings found",
|
|
1663
|
+
enterAmount: "Enter Amount",
|
|
1664
|
+
balanceWithMax: "Balance: ${{usd}} ({{balance}})",
|
|
1665
|
+
balanceOnly: "Balance: {{balance}}",
|
|
1666
|
+
exchangeFallback: "Exchange",
|
|
1667
|
+
insufficientBalance: "Insufficient balance",
|
|
1668
|
+
minimumDeposit: "Minimum deposit: ${{amount}}",
|
|
1669
|
+
depositDetails: "Deposit Details",
|
|
1670
|
+
balanceWithTime: "${{balance}} • 2 min",
|
|
1671
|
+
errors: {
|
|
1672
|
+
oauthStartFailed: "Failed to start OAuth",
|
|
1673
|
+
createTransferFailed: "Failed to create transfer",
|
|
1674
|
+
transferFailed: "Transfer failed"
|
|
1675
|
+
}
|
|
1676
|
+
};
|
|
1677
|
+
var buyWithCard = {
|
|
1678
|
+
autoPicked: "Auto-picked for you",
|
|
1679
|
+
noDocumentUpload: "No document upload",
|
|
1680
|
+
youReceive: "You receive",
|
|
1681
|
+
onramp: {
|
|
1682
|
+
completeTransaction: "Complete transaction with {{provider}}",
|
|
1683
|
+
canCloseModal: "You can close this modal.",
|
|
1684
|
+
youUse: "You use",
|
|
1685
|
+
youBuy: "You buy",
|
|
1686
|
+
youReceive: "You receive",
|
|
1687
|
+
intentAddressNote: "The wallet address displayed in the payment provider is a temporary deposit address. Your funds will be automatically converted and deposited into your account."
|
|
1688
|
+
},
|
|
1689
|
+
provider: "Provider",
|
|
1690
|
+
loadingTokenInformation: "Loading token information...",
|
|
1691
|
+
detectingLocation: "Detecting location...",
|
|
1692
|
+
errors: {
|
|
1693
|
+
fetchQuotesFailed: "Failed to fetch quotes",
|
|
1694
|
+
walletAddressUnavailable: "Wallet address not available",
|
|
1695
|
+
destinationTokenUnresolved: "Unable to resolve destination token",
|
|
1696
|
+
bankTransferWalletUnavailable: "Wallet address not available for bank transfer"
|
|
1697
|
+
},
|
|
1698
|
+
refreshingIn: "Refreshing in {{seconds}}s",
|
|
1699
|
+
estimatedDeliveryTime: "Estimated delivery time: {{time}}"
|
|
1700
|
+
};
|
|
1701
|
+
var buyWithApplePay = {
|
|
1702
|
+
email: {
|
|
1703
|
+
label: "Email",
|
|
1704
|
+
placeholder: "you@example.com"
|
|
1705
|
+
},
|
|
1706
|
+
phone: {
|
|
1707
|
+
label: "US phone number",
|
|
1708
|
+
placeholder: "555 123 4567",
|
|
1709
|
+
invalid: "Enter a valid US mobile number (no VoIP).",
|
|
1710
|
+
reverified: "Re-verified every 60 days.",
|
|
1711
|
+
sendCode: "Send code"
|
|
1712
|
+
},
|
|
1713
|
+
otp: {
|
|
1714
|
+
sentTo: "Sent to {{target}}",
|
|
1715
|
+
placeholder: "000000",
|
|
1716
|
+
incorrect: "Incorrect code. Please try again.",
|
|
1717
|
+
resend: "Resend code",
|
|
1718
|
+
resendIn: "Resend in {{seconds}}s"
|
|
1719
|
+
},
|
|
1720
|
+
amount: {
|
|
1721
|
+
enterAmount: "Enter amount",
|
|
1722
|
+
unableToPrepare: "Unable to prepare {{wallet}}",
|
|
1723
|
+
loadingToken: "Loading token information…",
|
|
1724
|
+
tokenRoutingUnavailable: "Token routing unavailable",
|
|
1725
|
+
preparing: "Preparing {{wallet}}",
|
|
1726
|
+
payWith: "Pay with",
|
|
1727
|
+
pay: "Pay"
|
|
1728
|
+
},
|
|
1729
|
+
checking: {
|
|
1730
|
+
title: "Checking for your deposit…",
|
|
1731
|
+
description: "Return if the payment is not made."
|
|
1732
|
+
},
|
|
1733
|
+
upgrade: {
|
|
1734
|
+
limitReached: "{{wallet}} limit reached",
|
|
1735
|
+
introDescription: "Submit your date of birth and SSN to increase your {{wallet}} limit.",
|
|
1736
|
+
verifyingTitle: "Verifying your information",
|
|
1737
|
+
verifyingDescription: "Your limit increase request is under review. This usually takes just a few seconds.",
|
|
1738
|
+
dobLabel: "Date of birth",
|
|
1739
|
+
dobPlaceholder: "MM/DD/YYYY",
|
|
1740
|
+
ssnLabel: "Last 4 of SSN",
|
|
1741
|
+
ssnAriaLabel: "Last 4 digits of SSN",
|
|
1742
|
+
submit: "Submit",
|
|
1743
|
+
submitting: "Submitting…",
|
|
1744
|
+
failedPrefix: "Failed to increase. Please try again later or ",
|
|
1745
|
+
contactSupport: "contact support",
|
|
1746
|
+
failedSuffix: ".",
|
|
1747
|
+
guestNotEligible: "Your account is not eligible for a limit increase at this time."
|
|
1748
|
+
},
|
|
1749
|
+
disclaimer: {
|
|
1750
|
+
prefix: "By continuing, you agree to Coinbase's ",
|
|
1751
|
+
separator: ", ",
|
|
1752
|
+
lastSeparator: ", and ",
|
|
1753
|
+
suffix: ". Coinbase is the regulated provider of this fiat-to-crypto onramp."
|
|
1754
|
+
},
|
|
1755
|
+
errors: {
|
|
1756
|
+
rateLimited: "Too many attempts. Please wait a few minutes and try again.",
|
|
1757
|
+
network: "Network error. Check your connection and try again.",
|
|
1758
|
+
voip: "We can only verify real US cell phones (not VoIP). Try a different number.",
|
|
1759
|
+
destinationNotConfigured: "Deposit destination not configured. Please contact support.",
|
|
1760
|
+
tokenInfoUnavailable: "Unable to load token information. Please try again.",
|
|
1761
|
+
depositWalletUnavailable: "Deposit wallet unavailable. Please try again.",
|
|
1762
|
+
requestFailed: "Unable to process your request. Please try again later."
|
|
1763
|
+
},
|
|
1764
|
+
"continue": "Continue",
|
|
1765
|
+
cancel: "Cancel",
|
|
1766
|
+
"return": "Return",
|
|
1767
|
+
close: "Close",
|
|
1768
|
+
formErrors: {
|
|
1769
|
+
guestLimitReached: "Guest purchase limit reached",
|
|
1770
|
+
startVerificationFailed: "Failed to start verification",
|
|
1771
|
+
verifyInfoFailed: "We couldn't verify your information. Please check your SSN and date of birth and try again.",
|
|
1772
|
+
limitUpgradeFailed: "Failed to request limit upgrade",
|
|
1773
|
+
verificationFailed: "Verification failed",
|
|
1774
|
+
createPaymentFailed: "Failed to create payment"
|
|
1775
|
+
}
|
|
1776
|
+
};
|
|
1777
|
+
var payWithStripeLink = {
|
|
1778
|
+
notConfigured: "Stripe is not configured for this project.",
|
|
1779
|
+
loading: "Loading...",
|
|
1780
|
+
pleaseWait: "Please wait",
|
|
1781
|
+
retry: "Retry",
|
|
1782
|
+
goBack: "Go Back",
|
|
1783
|
+
back: "Back",
|
|
1784
|
+
"continue": "Continue",
|
|
1785
|
+
done: "Done",
|
|
1786
|
+
submitting: "Submitting...",
|
|
1787
|
+
connecting: "Connecting...",
|
|
1788
|
+
creatingAccount: "Creating account...",
|
|
1789
|
+
verifyingIdentity: "Verifying identity...",
|
|
1790
|
+
settingUp: "Setting up...",
|
|
1791
|
+
kycPending: {
|
|
1792
|
+
title: "Verification in progress",
|
|
1793
|
+
checkingAutomatically: "Checking automatically..."
|
|
1794
|
+
},
|
|
1795
|
+
kycForm: {
|
|
1796
|
+
title: "Verify your identity",
|
|
1797
|
+
stepName: "Step 1 of 2 · What’s your name?",
|
|
1798
|
+
stepAddress: "Step 2 of 2 · What’s your address?",
|
|
1799
|
+
stepLimit: "Add your date of birth and SSN to increase your limit",
|
|
1800
|
+
firstName: "First name",
|
|
1801
|
+
firstNamePlaceholder: "John",
|
|
1802
|
+
lastName: "Last name",
|
|
1803
|
+
lastNamePlaceholder: "Smith",
|
|
1804
|
+
dateOfBirth: "Date of birth",
|
|
1805
|
+
ssn: "Social Security number",
|
|
1806
|
+
addressLine1: "Address line 1",
|
|
1807
|
+
addressLine1Placeholder: "123 Main St",
|
|
1808
|
+
addressLine2: "Address line 2",
|
|
1809
|
+
addressLine2Placeholder: "Apt, suite, etc. (optional)",
|
|
1810
|
+
city: "City",
|
|
1811
|
+
state: "State",
|
|
1812
|
+
country: "Country",
|
|
1813
|
+
unitedStates: "United States",
|
|
1814
|
+
zip: "ZIP"
|
|
1815
|
+
},
|
|
1816
|
+
kycDocument: {
|
|
1817
|
+
title: "Verify your identity",
|
|
1818
|
+
description: "We’re opening a secure flow to verify your identity. Follow the prompts to upload a photo ID and take a quick selfie."
|
|
1819
|
+
},
|
|
1820
|
+
payment: {
|
|
1821
|
+
empty: "No saved payment methods yet.",
|
|
1822
|
+
addPaymentMethod: "Add payment method"
|
|
1823
|
+
},
|
|
1824
|
+
email: {
|
|
1825
|
+
label: "Email address",
|
|
1826
|
+
placeholder: "you@example.com"
|
|
1827
|
+
},
|
|
1828
|
+
register: {
|
|
1829
|
+
title: "Create your Link account",
|
|
1830
|
+
subtitle: "A Link account is needed to continue",
|
|
1831
|
+
emailLabel: "Email",
|
|
1832
|
+
phoneLabel: "Phone number"
|
|
1833
|
+
},
|
|
1834
|
+
terms: {
|
|
1835
|
+
intro: "Your data will be encrypted and processed by our partner, Stripe. Funds transfer services are provided by Stripe Payments Company. Cryptocurrency conversion services are provided by Bridge. By continuing you agree to the ",
|
|
1836
|
+
linkOnrampTerms: "Link Onramp Terms",
|
|
1837
|
+
separator: ", ",
|
|
1838
|
+
bridgeTerms: "Bridge Terms",
|
|
1839
|
+
acknowledge: " and you acknowledge receipt of the ",
|
|
1840
|
+
linkPrivacyNotice: "Link US Consumer Privacy Notice",
|
|
1841
|
+
and: " and the ",
|
|
1842
|
+
bridgePrivacyNotice: "Bridge Privacy Notice",
|
|
1843
|
+
suffix: "."
|
|
1844
|
+
},
|
|
1845
|
+
amount: {
|
|
1846
|
+
selectPaymentMethod: "Select payment method",
|
|
1847
|
+
ready: "Ready",
|
|
1848
|
+
minimumAmount: "Minimum amount is ${{amount}}",
|
|
1849
|
+
limitVerifyToRaise: "Limit ${{limit}} · Verify to raise",
|
|
1850
|
+
limitReachedVerifyToRaise: "Limit reached · Verify to raise",
|
|
1851
|
+
limitTryLess: "Limit ${{limit}} · Try less",
|
|
1852
|
+
limitReachedTryLess: "Limit reached · Try less",
|
|
1853
|
+
fetchingQuote: "Fetching quote...",
|
|
1854
|
+
feesApply: "Fees apply",
|
|
1855
|
+
instant: "Instant",
|
|
1856
|
+
verifyToRaiseLimit: "Verify identity to raise limit",
|
|
1857
|
+
preparing: "Preparing..."
|
|
1858
|
+
},
|
|
1859
|
+
review: {
|
|
1860
|
+
title: "Purchase review",
|
|
1861
|
+
refreshing: "Refreshing...",
|
|
1862
|
+
refreshesIn: "Refreshes in {{seconds}}s",
|
|
1863
|
+
amount: "Amount",
|
|
1864
|
+
fees: "Fees",
|
|
1865
|
+
total: "Total",
|
|
1866
|
+
youReceive: "You receive",
|
|
1867
|
+
buyNow: "Buy Now",
|
|
1868
|
+
processing: "Processing...",
|
|
1869
|
+
preparing: "Preparing..."
|
|
1870
|
+
},
|
|
1871
|
+
checkout: {
|
|
1872
|
+
title: "Processing purchase",
|
|
1873
|
+
subtitle: "Please don’t close this window"
|
|
1874
|
+
},
|
|
1875
|
+
error: {
|
|
1876
|
+
title: "Something went wrong",
|
|
1877
|
+
fallback: "An unexpected error occurred. Please try again.",
|
|
1878
|
+
tryAgain: "Try Again"
|
|
1879
|
+
},
|
|
1880
|
+
paymentFailure: {
|
|
1881
|
+
lead: "We couldn’t complete your payment.",
|
|
1882
|
+
retryHint: "Please try again.",
|
|
1883
|
+
codes: {
|
|
1884
|
+
card_declined: "Your card was declined. Try again or use a different payment method.",
|
|
1885
|
+
insufficient_funds: "Your card has insufficient funds. Try a different payment method.",
|
|
1886
|
+
expired_card: "Your card has expired. Use a different payment method.",
|
|
1887
|
+
incorrect_cvc: "Your card’s security code is incorrect. Try again or use a different card.",
|
|
1888
|
+
incorrect_number: "Your card number is incorrect. Try again or use a different card.",
|
|
1889
|
+
card_not_supported: "This card isn’t supported for this purchase. Try a different payment method.",
|
|
1890
|
+
processing_error: "We couldn’t process your card. Please try again in a moment.",
|
|
1891
|
+
authentication_required: "Your bank requires authentication for this payment. Please try again.",
|
|
1892
|
+
payment_intent_authentication_failure: "Card authentication failed. Try again or use a different card.",
|
|
1893
|
+
payment_method_provider_decline: "Your payment provider declined the charge. Try a different payment method.",
|
|
1894
|
+
payment_failed: "Your payment didn’t go through. Try again or use a different payment method."
|
|
1895
|
+
}
|
|
1896
|
+
},
|
|
1897
|
+
kycErrors: {
|
|
1898
|
+
generic: "We couldn’t verify your identity. Please double-check your details and try again.",
|
|
1899
|
+
resubmit: "Please correct your information and resubmit.",
|
|
1900
|
+
codes: {
|
|
1901
|
+
phone_verification_failed: "We couldn’t verify your phone number.",
|
|
1902
|
+
id_document_verification_failed: "We couldn’t verify your identity document.",
|
|
1903
|
+
address_verification_failed: "We couldn’t verify your address.",
|
|
1904
|
+
date_of_birth_verification_failed: "We couldn’t verify your date of birth.",
|
|
1905
|
+
id_number_verification_failed: "We couldn’t verify your Social Security number.",
|
|
1906
|
+
name_verification_failed: "We couldn’t verify your name."
|
|
1907
|
+
}
|
|
1908
|
+
},
|
|
1909
|
+
success: {
|
|
1910
|
+
processingTitle: "Payment confirmed",
|
|
1911
|
+
processingSubtitle: "We’ve received your payment and are sending your purchase to your wallet. This usually takes just a few minutes.",
|
|
1912
|
+
completeTitle: "Your purchase is on the way",
|
|
1913
|
+
completeSubtitle: "Your purchase is complete and is being sent to your wallet.",
|
|
1914
|
+
failedTitle: "Purchase didn’t go through",
|
|
1915
|
+
failedSubtitle: "Something went wrong and we couldn’t complete your purchase. Any charge will be reversed."
|
|
1916
|
+
},
|
|
1917
|
+
paymentMethodReady: "Payment method ready",
|
|
1918
|
+
enterAmountPlaceholder: "Enter amount",
|
|
1919
|
+
bankAccount: "Bank account",
|
|
1920
|
+
paymentMethod: "Payment method",
|
|
1921
|
+
expires: "Expires {{month}}/{{year}}",
|
|
1922
|
+
accountTypeSuffix: "{{type}} account",
|
|
1923
|
+
formErrors: {
|
|
1924
|
+
configLoadFailed: "Failed to load Stripe config",
|
|
1925
|
+
sessionExpiredBeforeCompletion: "Purchase session expired before completion",
|
|
1926
|
+
purchaseRejected: "Purchase was rejected",
|
|
1927
|
+
authStartFailed: "Failed to start authentication",
|
|
1928
|
+
invalidUsPhone: "Enter a valid 10-digit US phone number",
|
|
1929
|
+
registerFailed: "Failed to register",
|
|
1930
|
+
reverifyFailed: "Failed to re-verify. Please try again.",
|
|
1931
|
+
verificationCancelled: "Verification was cancelled.",
|
|
1932
|
+
consentRequired: "You must consent to continue.",
|
|
1933
|
+
reviewingDocuments: "Reviewing your identity documents. This can take a few minutes.",
|
|
1934
|
+
verifyingInformation: "Verifying your information. This usually only takes a moment.",
|
|
1935
|
+
needMoreDetails: "We couldn't verify you with your basic details. Please provide more information to continue.",
|
|
1936
|
+
kycStatusFailed: "Failed to check KYC status",
|
|
1937
|
+
enterFullName: "Please enter your first and last name.",
|
|
1938
|
+
enterFullAddress: "Please enter your full address.",
|
|
1939
|
+
enterValidSsn: "Please enter a valid 9-digit Social Security number.",
|
|
1940
|
+
enterValidDob: "Please enter a valid date of birth.",
|
|
1941
|
+
kycSubmissionFailed: "KYC submission failed",
|
|
1942
|
+
documentVerificationFailed: "Document verification failed",
|
|
1943
|
+
registerWalletFailed: "Failed to register wallet",
|
|
1944
|
+
loadPaymentMethodsFailed: "Failed to load payment methods",
|
|
1945
|
+
addPaymentMethodFailed: "Failed to add payment method",
|
|
1946
|
+
paymentMethodUnusable: "That payment method can’t be used. Please choose another.",
|
|
1947
|
+
pricingUpdated: "Pricing updated. Please try again.",
|
|
1948
|
+
checkoutFailed: "Checkout failed",
|
|
1949
|
+
preparePurchaseFailed: "Something went wrong preparing your purchase. Please try again."
|
|
1950
|
+
},
|
|
1951
|
+
retrySuffix: "{{message}} Please try again."
|
|
1952
|
+
};
|
|
1953
|
+
var withdrawModal = {
|
|
1954
|
+
title: "Withdraw",
|
|
1955
|
+
withdrawCrypto: {
|
|
1956
|
+
title: "Withdraw with Crypto",
|
|
1957
|
+
subtitle: "Send to any wallet address"
|
|
1958
|
+
},
|
|
1959
|
+
selectToken: "Select withdrawal token",
|
|
1960
|
+
receiveToken: "Receive token",
|
|
1961
|
+
receiveChain: "Receive chain",
|
|
1962
|
+
recipientAddress: "Recipient address",
|
|
1963
|
+
recipientAddressPlaceholder: "Enter wallet address",
|
|
1964
|
+
amount: "Amount",
|
|
1965
|
+
amountPlaceholder: "0.00",
|
|
1966
|
+
balance: "Balance",
|
|
1967
|
+
minimum: "min",
|
|
1968
|
+
withdraw: "Withdraw",
|
|
1969
|
+
invalidAddress: "Please enter a valid address",
|
|
1970
|
+
invalidAmount: "Please enter a valid amount",
|
|
1971
|
+
verifyingAddress: "Verifying address...",
|
|
1972
|
+
loading: "Loading...",
|
|
1973
|
+
noTokensAvailable: "No tokens available",
|
|
1974
|
+
review: "Review Withdrawal",
|
|
1975
|
+
back: "Back",
|
|
1976
|
+
pasteFromClipboard: "Paste from clipboard",
|
|
1977
|
+
switchUnit: "Switch unit",
|
|
1978
|
+
processing: "Processing...",
|
|
1979
|
+
balanceBelowMinimum: "Balance lower than minimum",
|
|
1980
|
+
insufficientBalance: "Insufficient balance",
|
|
1981
|
+
minimumNotMet: "Minimum amount not met",
|
|
1982
|
+
withdrawFailedRetry: "Withdrawal failed. Try again",
|
|
1983
|
+
noChainsAvailable: "No chains available",
|
|
1984
|
+
searchTokenOrNetwork: "Search token or network",
|
|
1985
|
+
unsupportedSourceToken: "Unsupported Source Token",
|
|
1986
|
+
details: {
|
|
1987
|
+
title: "Withdrawal Details",
|
|
1988
|
+
history: "Withdrawal History",
|
|
1989
|
+
status: "Withdrawal Status",
|
|
1990
|
+
checking: "Checking Withdrawal",
|
|
1991
|
+
empty: "No withdrawals to track yet"
|
|
1992
|
+
},
|
|
1993
|
+
executionItem: {
|
|
1994
|
+
processing: "Withdrawal processing",
|
|
1995
|
+
completed: "Withdrawal completed"
|
|
1996
|
+
},
|
|
1997
|
+
withdrawFailed: "Withdrawal failed. Please try again.",
|
|
1998
|
+
sourceTokenFallback: "Source token",
|
|
1999
|
+
sourceTokenNotSupported: "{{token}} is not a supported withdrawal token. Supported tokens include USDC, USDT, and other stablecoins."
|
|
2000
|
+
};
|
|
2001
|
+
var incident = {
|
|
2002
|
+
outage: "Outage",
|
|
2003
|
+
info: "Info",
|
|
2004
|
+
degraded: "Degraded service"
|
|
2005
|
+
};
|
|
2006
|
+
var hypercore = {
|
|
2007
|
+
withdrawFee: "~{{fee}} fee will be applied to this withdrawal.",
|
|
2008
|
+
activationFee: "~{{fee}} fee is required to activate a new HyperCore account."
|
|
2009
|
+
};
|
|
2010
|
+
var en = {
|
|
2011
|
+
common: common,
|
|
2012
|
+
executionDetails: executionDetails,
|
|
2013
|
+
depositTracker: depositTracker,
|
|
2014
|
+
connectWallet: connectWallet,
|
|
2015
|
+
transferCrypto: transferCrypto,
|
|
2016
|
+
glossary: glossary,
|
|
2017
|
+
depositModal: depositModal,
|
|
2018
|
+
checkoutModal: checkoutModal,
|
|
2019
|
+
payWithExchange: payWithExchange,
|
|
2020
|
+
connectExchange: connectExchange,
|
|
2021
|
+
buyWithCard: buyWithCard,
|
|
2022
|
+
buyWithApplePay: buyWithApplePay,
|
|
2023
|
+
payWithStripeLink: payWithStripeLink,
|
|
2024
|
+
withdrawModal: withdrawModal,
|
|
2025
|
+
incident: incident,
|
|
2026
|
+
hypercore: hypercore
|
|
2027
|
+
};
|
|
2028
|
+
|
|
2029
|
+
/**
|
|
2030
|
+
* The full set of localized strings. `en.json` is the source of truth and its
|
|
2031
|
+
* shape defines the `I18nStrings` type — every other locale must match it.
|
|
2032
|
+
*/
|
|
2033
|
+
type I18nStrings = typeof en;
|
|
2034
|
+
/**
|
|
2035
|
+
* Canonical locale codes we ship a translation table for.
|
|
2036
|
+
* - `zh` → Simplified Chinese (Mainland China, Singapore)
|
|
2037
|
+
* - `zh-TW` → Traditional Chinese (Taiwan, Hong Kong, Macau)
|
|
2038
|
+
*
|
|
2039
|
+
* Callers may pass any BCP-47 tag (e.g. `zh-CN`, `zh-HK`, `zh-Hant-TW`); it is
|
|
2040
|
+
* mapped onto one of these via `normalizeLocale`.
|
|
2041
|
+
*/
|
|
2042
|
+
type LocaleCode = 'en' | 'zh' | 'zh-TW';
|
|
2043
|
+
/** Locales with a bundled translation table. */
|
|
2044
|
+
declare const SUPPORTED_LOCALES: LocaleCode[];
|
|
2045
|
+
/**
|
|
2046
|
+
* English string table.
|
|
2047
|
+
*
|
|
2048
|
+
* @deprecated Prefer `useI18n()` inside components so strings follow the active
|
|
2049
|
+
* locale. This export always returns English and exists for compatibility with
|
|
2050
|
+
* code that reads strings outside of React.
|
|
2051
|
+
*/
|
|
2052
|
+
declare const i18n: {
|
|
2053
|
+
common: {
|
|
2054
|
+
loading: string;
|
|
2055
|
+
search: string;
|
|
2056
|
+
close: string;
|
|
2057
|
+
review: string;
|
|
2058
|
+
tryAgain: string;
|
|
2059
|
+
somethingWentWrong: string;
|
|
2060
|
+
seeMoreDetails: string;
|
|
2061
|
+
seeLess: string;
|
|
2062
|
+
dateTime: string;
|
|
2063
|
+
continue: string;
|
|
2064
|
+
processing: string;
|
|
2065
|
+
terms: string;
|
|
2066
|
+
help: string;
|
|
2067
|
+
done: string;
|
|
2068
|
+
from: string;
|
|
2069
|
+
max: string;
|
|
2070
|
+
or: string;
|
|
2071
|
+
minimumAmount: string;
|
|
2072
|
+
maximumAmount: string;
|
|
2073
|
+
minimumDeposit: string;
|
|
2074
|
+
minSuffix: string;
|
|
2075
|
+
duration: {
|
|
2076
|
+
lessThanMinute: string;
|
|
2077
|
+
lessThanSeconds: string;
|
|
2078
|
+
lessThanMinutes: string;
|
|
2079
|
+
lessThanHours: string;
|
|
2080
|
+
lessThanHoursMinutes: string;
|
|
2081
|
+
lessThanMinutesSeconds: string;
|
|
2082
|
+
};
|
|
2083
|
+
balance: string;
|
|
2084
|
+
balanceWithProject: string;
|
|
2085
|
+
balanceWithToken: string;
|
|
2086
|
+
amountDue: string;
|
|
2087
|
+
};
|
|
2088
|
+
executionDetails: {
|
|
2089
|
+
processing: string;
|
|
2090
|
+
completed: string;
|
|
2091
|
+
amountSent: string;
|
|
2092
|
+
amountReceived: string;
|
|
2093
|
+
usdValue: string;
|
|
2094
|
+
estimatedDeliveryTime: string;
|
|
2095
|
+
sourceNetwork: string;
|
|
2096
|
+
destinationNetwork: string;
|
|
2097
|
+
depositTx: string;
|
|
2098
|
+
withdrawalTx: string;
|
|
2099
|
+
completionTx: string;
|
|
2100
|
+
};
|
|
2101
|
+
depositTracker: {
|
|
2102
|
+
title: string;
|
|
2103
|
+
detailsTitle: string;
|
|
2104
|
+
empty: string;
|
|
2105
|
+
viewStatus: string;
|
|
2106
|
+
checkingForDeposit: string;
|
|
2107
|
+
iveMadeDeposit: string;
|
|
2108
|
+
item: {
|
|
2109
|
+
processing: string;
|
|
2110
|
+
completed: string;
|
|
2111
|
+
};
|
|
2112
|
+
estimatedPrefix: string;
|
|
2113
|
+
};
|
|
2114
|
+
connectWallet: {
|
|
2115
|
+
title: string;
|
|
2116
|
+
selectWalletSubtitle: string;
|
|
2117
|
+
selectWalletSubtitleChain: string;
|
|
2118
|
+
openInWalletApp: string;
|
|
2119
|
+
noWalletsAvailable: string;
|
|
2120
|
+
noBalancesFound: string;
|
|
2121
|
+
lastUsed: string;
|
|
2122
|
+
selectNetwork: string;
|
|
2123
|
+
whichNetwork: string;
|
|
2124
|
+
connectingTitle: string;
|
|
2125
|
+
connectingTo: string;
|
|
2126
|
+
approveInWallet: string;
|
|
2127
|
+
continueInWallet: string;
|
|
2128
|
+
completeInWalletApp: string;
|
|
2129
|
+
openInWallet: string;
|
|
2130
|
+
checkingForDeposit: string;
|
|
2131
|
+
review: {
|
|
2132
|
+
title: string;
|
|
2133
|
+
destination: string;
|
|
2134
|
+
estimatedTime: string;
|
|
2135
|
+
priceImpact: string;
|
|
2136
|
+
maxSlippage: string;
|
|
2137
|
+
confirmOrder: string;
|
|
2138
|
+
confirming: string;
|
|
2139
|
+
minimumForTokenOnChain: string;
|
|
2140
|
+
amountAdjusted: string;
|
|
2141
|
+
minimumDeposit: string;
|
|
2142
|
+
walletWillPrompt: string;
|
|
2143
|
+
};
|
|
2144
|
+
confirming: {
|
|
2145
|
+
waitingTitle: string;
|
|
2146
|
+
waitingSubtitle: string;
|
|
2147
|
+
submittedTitle: string;
|
|
2148
|
+
submittedSubtitle: string;
|
|
2149
|
+
};
|
|
2150
|
+
detected: string;
|
|
2151
|
+
install: string;
|
|
2152
|
+
open: string;
|
|
2153
|
+
evmCompatibleChains: string;
|
|
2154
|
+
solanaNetwork: string;
|
|
2155
|
+
approveInSolanaWallet: string;
|
|
2156
|
+
selectToken: string;
|
|
2157
|
+
enterAmount: string;
|
|
2158
|
+
insufficientBalance: string;
|
|
2159
|
+
continue: string;
|
|
2160
|
+
loadBalancesFailed: string;
|
|
2161
|
+
lowBalance: string;
|
|
2162
|
+
notSupported: string;
|
|
2163
|
+
notEligible: string;
|
|
2164
|
+
paymentComplete: string;
|
|
2165
|
+
paymentFailed: string;
|
|
2166
|
+
paymentProcessing: string;
|
|
2167
|
+
processing: string;
|
|
2168
|
+
depositDetails: string;
|
|
2169
|
+
invalidDepositAddress: string;
|
|
2170
|
+
payAmount: string;
|
|
2171
|
+
connectFailed: string;
|
|
2172
|
+
transactionFailed: string;
|
|
2173
|
+
};
|
|
2174
|
+
transferCrypto: {
|
|
2175
|
+
priceImpact: {
|
|
2176
|
+
label: string;
|
|
2177
|
+
tooltip: string;
|
|
2178
|
+
finalCost: string;
|
|
2179
|
+
};
|
|
2180
|
+
slippage: {
|
|
2181
|
+
label: string;
|
|
2182
|
+
auto: string;
|
|
2183
|
+
tooltip: string;
|
|
2184
|
+
finalCost: string;
|
|
2185
|
+
};
|
|
2186
|
+
processingTime: {
|
|
2187
|
+
label: string;
|
|
2188
|
+
lessThanMinutes: string;
|
|
2189
|
+
lessThanHours: string;
|
|
2190
|
+
};
|
|
2191
|
+
minDeposit: {
|
|
2192
|
+
label: string;
|
|
2193
|
+
tooltip: string;
|
|
2194
|
+
};
|
|
2195
|
+
help: {
|
|
2196
|
+
needHelp: string;
|
|
2197
|
+
contactSupport: string;
|
|
2198
|
+
};
|
|
2199
|
+
terms: {
|
|
2200
|
+
seeTerms: string;
|
|
2201
|
+
termsApply: string;
|
|
2202
|
+
};
|
|
2203
|
+
selectedToken: string;
|
|
2204
|
+
selectedChain: string;
|
|
2205
|
+
depositAddress: {
|
|
2206
|
+
label: string;
|
|
2207
|
+
tooltip: string;
|
|
2208
|
+
};
|
|
2209
|
+
copyAddress: string;
|
|
2210
|
+
copied: string;
|
|
2211
|
+
loading: string;
|
|
2212
|
+
loadingQRCode: string;
|
|
2213
|
+
noAddressAvailable: string;
|
|
2214
|
+
noChainsAvailable: string;
|
|
2215
|
+
minimumDeposit: string;
|
|
2216
|
+
minimumDepositTooltip: string;
|
|
2217
|
+
selectTokenDeposit: string;
|
|
2218
|
+
selectTokenDepositTooltip: string;
|
|
2219
|
+
tokenSelector: {
|
|
2220
|
+
title: string;
|
|
2221
|
+
quickSelect: string;
|
|
2222
|
+
allSupportedTokens: string;
|
|
2223
|
+
noTokensFound: string;
|
|
2224
|
+
minimumLabel: string;
|
|
2225
|
+
};
|
|
2226
|
+
currency: {
|
|
2227
|
+
title: string;
|
|
2228
|
+
popularCurrencies: string;
|
|
2229
|
+
allCurrencies: string;
|
|
2230
|
+
noCurrenciesFound: string;
|
|
2231
|
+
};
|
|
2232
|
+
youSend: string;
|
|
2233
|
+
intentAddress: string;
|
|
2234
|
+
createAddressFailed: string;
|
|
2235
|
+
createAddressRetrying: string;
|
|
2236
|
+
addressValidation: {
|
|
2237
|
+
validating: string;
|
|
2238
|
+
unableToReceiveFunds: string;
|
|
2239
|
+
errors: {
|
|
2240
|
+
token_not_supported: string;
|
|
2241
|
+
not_opted_in: string;
|
|
2242
|
+
insufficient_balance: string;
|
|
2243
|
+
account_not_found: string;
|
|
2244
|
+
validation_error: string;
|
|
2245
|
+
};
|
|
2246
|
+
defaultError: string;
|
|
2247
|
+
};
|
|
2248
|
+
selectNetworkPlaceholder: string;
|
|
2249
|
+
};
|
|
2250
|
+
glossary: {
|
|
2251
|
+
title: string;
|
|
2252
|
+
depositToken: string;
|
|
2253
|
+
depositAddress: string;
|
|
2254
|
+
depositAddressDescription: string;
|
|
2255
|
+
priceImpact: string;
|
|
2256
|
+
slippage: string;
|
|
2257
|
+
processingTime: string;
|
|
2258
|
+
processingTimeDescription: string;
|
|
2259
|
+
minimumDeposit: string;
|
|
2260
|
+
recipientAddress: string;
|
|
2261
|
+
recipientAddressDescription: string;
|
|
2262
|
+
linkLabel: string;
|
|
2263
|
+
};
|
|
2264
|
+
depositModal: {
|
|
2265
|
+
title: string;
|
|
2266
|
+
transferCrypto: {
|
|
2267
|
+
title: string;
|
|
2268
|
+
subtitle: string;
|
|
2269
|
+
};
|
|
2270
|
+
depositWithCard: {
|
|
2271
|
+
title: string;
|
|
2272
|
+
subtitle: string;
|
|
2273
|
+
};
|
|
2274
|
+
quotes: string;
|
|
2275
|
+
payWithExchange: {
|
|
2276
|
+
title: string;
|
|
2277
|
+
subtitle: string;
|
|
2278
|
+
};
|
|
2279
|
+
depositTracker: {
|
|
2280
|
+
title: string;
|
|
2281
|
+
subtitle: string;
|
|
2282
|
+
};
|
|
2283
|
+
stripeLink: {
|
|
2284
|
+
title: string;
|
|
2285
|
+
subtitle: string;
|
|
2286
|
+
unavailableInRegionMessage: string;
|
|
2287
|
+
};
|
|
2288
|
+
browserWallet: {
|
|
2289
|
+
title: string;
|
|
2290
|
+
subtitle: string;
|
|
2291
|
+
disconnect: string;
|
|
2292
|
+
};
|
|
2293
|
+
cashApp: {
|
|
2294
|
+
creatingOrder: string;
|
|
2295
|
+
continue: string;
|
|
2296
|
+
sessionExpiredTitle: string;
|
|
2297
|
+
sessionExpiredSubtitle: string;
|
|
2298
|
+
newSession: string;
|
|
2299
|
+
copyPaymentLink: string;
|
|
2300
|
+
openCashApp: string;
|
|
2301
|
+
paymentProcessing: string;
|
|
2302
|
+
paymentProcessingSubtitle: string;
|
|
2303
|
+
paymentReceived: string;
|
|
2304
|
+
paymentReceivedSubtitle: string;
|
|
2305
|
+
};
|
|
2306
|
+
bankTransfer: {
|
|
2307
|
+
title: string;
|
|
2308
|
+
subtitle: string;
|
|
2309
|
+
unavailableInCountry: string;
|
|
2310
|
+
};
|
|
2311
|
+
cashAppMenu: {
|
|
2312
|
+
title: string;
|
|
2313
|
+
subtitle: string;
|
|
2314
|
+
};
|
|
2315
|
+
applePayMenu: {
|
|
2316
|
+
title: string;
|
|
2317
|
+
subtitle: string;
|
|
2318
|
+
};
|
|
2319
|
+
googlePayMenu: {
|
|
2320
|
+
title: string;
|
|
2321
|
+
subtitle: string;
|
|
2322
|
+
};
|
|
2323
|
+
cardMethodName: string;
|
|
2324
|
+
applePayMethodName: string;
|
|
2325
|
+
googlePayMethodName: string;
|
|
2326
|
+
stripeLinkHeaderTitle: string;
|
|
2327
|
+
locationError: {
|
|
2328
|
+
title: string;
|
|
2329
|
+
description: string;
|
|
2330
|
+
};
|
|
2331
|
+
blocked: {
|
|
2332
|
+
title: string;
|
|
2333
|
+
description: string;
|
|
2334
|
+
};
|
|
2335
|
+
geoRestriction: {
|
|
2336
|
+
title: string;
|
|
2337
|
+
description: string;
|
|
2338
|
+
};
|
|
2339
|
+
tabs: {
|
|
2340
|
+
crypto: string;
|
|
2341
|
+
cash: string;
|
|
2342
|
+
};
|
|
2343
|
+
applePayHeader: {
|
|
2344
|
+
enterEmail: string;
|
|
2345
|
+
enterPhone: string;
|
|
2346
|
+
verifyEmail: string;
|
|
2347
|
+
verifyPhone: string;
|
|
2348
|
+
amount: string;
|
|
2349
|
+
checkingDeposit: string;
|
|
2350
|
+
success: string;
|
|
2351
|
+
limitReached: string;
|
|
2352
|
+
verifyIdentity: string;
|
|
2353
|
+
verifying: string;
|
|
2354
|
+
};
|
|
2355
|
+
cashAppHeader: {
|
|
2356
|
+
payAmount: string;
|
|
2357
|
+
};
|
|
2358
|
+
cashAppScan: {
|
|
2359
|
+
mobile: string;
|
|
2360
|
+
desktop: string;
|
|
2361
|
+
};
|
|
2362
|
+
cashAppErrors: {
|
|
2363
|
+
missingFields: string;
|
|
2364
|
+
createSessionFailed: string;
|
|
2365
|
+
paymentFailed: string;
|
|
2366
|
+
cashAppPaymentFailed: string;
|
|
2367
|
+
};
|
|
2368
|
+
};
|
|
2369
|
+
checkoutModal: {
|
|
2370
|
+
title: string;
|
|
2371
|
+
unableToLoad: string;
|
|
2372
|
+
transferCrypto: {
|
|
2373
|
+
title: string;
|
|
2374
|
+
subtitle: string;
|
|
2375
|
+
};
|
|
2376
|
+
browserWallet: {
|
|
2377
|
+
title: string;
|
|
2378
|
+
subtitle: string;
|
|
2379
|
+
};
|
|
2380
|
+
status: {
|
|
2381
|
+
succeeded: string;
|
|
2382
|
+
processing: string;
|
|
2383
|
+
canceled: string;
|
|
2384
|
+
expired: string;
|
|
2385
|
+
};
|
|
2386
|
+
received: string;
|
|
2387
|
+
genericError: string;
|
|
2388
|
+
amountReceived: string;
|
|
2389
|
+
amountRemaining: string;
|
|
2390
|
+
};
|
|
2391
|
+
payWithExchange: {
|
|
2392
|
+
title: string;
|
|
2393
|
+
subtitle: string;
|
|
2394
|
+
comingSoon: string;
|
|
2395
|
+
completeTransaction: string;
|
|
2396
|
+
canCloseModal: string;
|
|
2397
|
+
reopenExchange: string;
|
|
2398
|
+
walletOrTokenUnavailable: string;
|
|
2399
|
+
};
|
|
2400
|
+
connectExchange: {
|
|
2401
|
+
title: string;
|
|
2402
|
+
subtitle: string;
|
|
2403
|
+
selectExchange: string;
|
|
2404
|
+
comingSoon: string;
|
|
2405
|
+
disclosure: {
|
|
2406
|
+
message: string;
|
|
2407
|
+
credentialsNotStored: string;
|
|
2408
|
+
credentialsNotStoredDesc: string;
|
|
2409
|
+
mfaRequired: string;
|
|
2410
|
+
mfaRequiredDesc: string;
|
|
2411
|
+
};
|
|
2412
|
+
connecting: string;
|
|
2413
|
+
connectingDesc: string;
|
|
2414
|
+
connected: {
|
|
2415
|
+
title: string;
|
|
2416
|
+
subtitle: string;
|
|
2417
|
+
exchange: string;
|
|
2418
|
+
status: string;
|
|
2419
|
+
statusConnected: string;
|
|
2420
|
+
continueToDeposit: string;
|
|
2421
|
+
continueToPay: string;
|
|
2422
|
+
flowSource: string;
|
|
2423
|
+
flowTransfer: string;
|
|
2424
|
+
flowDirect: string;
|
|
2425
|
+
flowDestination: string;
|
|
2426
|
+
secureNote: string;
|
|
2427
|
+
};
|
|
2428
|
+
holdings: {
|
|
2429
|
+
title: string;
|
|
2430
|
+
};
|
|
2431
|
+
transfer: {
|
|
2432
|
+
source: string;
|
|
2433
|
+
destination: string;
|
|
2434
|
+
destinationWallet: string;
|
|
2435
|
+
estimatedTime: string;
|
|
2436
|
+
estimatedTimeLessThanMin: string;
|
|
2437
|
+
youSend: string;
|
|
2438
|
+
youReceive: string;
|
|
2439
|
+
transactionBreakdown: string;
|
|
2440
|
+
networkFee: string;
|
|
2441
|
+
confirmOrder: string;
|
|
2442
|
+
termsNoticePrefix: string;
|
|
2443
|
+
termsNoticeLink: string;
|
|
2444
|
+
termsNoticeSuffix: string;
|
|
2445
|
+
};
|
|
2446
|
+
mfa: {
|
|
2447
|
+
title: string;
|
|
2448
|
+
description: string;
|
|
2449
|
+
invalidCode: string;
|
|
2450
|
+
continue: string;
|
|
2451
|
+
};
|
|
2452
|
+
success: {
|
|
2453
|
+
title: string;
|
|
2454
|
+
description: string;
|
|
2455
|
+
done: string;
|
|
2456
|
+
processingTitle: string;
|
|
2457
|
+
processingSubtitle: string;
|
|
2458
|
+
};
|
|
2459
|
+
error: {
|
|
2460
|
+
title: string;
|
|
2461
|
+
tryAgain: string;
|
|
2462
|
+
};
|
|
2463
|
+
continue: string;
|
|
2464
|
+
disconnect: string;
|
|
2465
|
+
depositFromExchange: string;
|
|
2466
|
+
noHoldingsFound: string;
|
|
2467
|
+
enterAmount: string;
|
|
2468
|
+
balanceWithMax: string;
|
|
2469
|
+
balanceOnly: string;
|
|
2470
|
+
exchangeFallback: string;
|
|
2471
|
+
insufficientBalance: string;
|
|
2472
|
+
minimumDeposit: string;
|
|
2473
|
+
depositDetails: string;
|
|
2474
|
+
balanceWithTime: string;
|
|
2475
|
+
errors: {
|
|
2476
|
+
oauthStartFailed: string;
|
|
2477
|
+
createTransferFailed: string;
|
|
2478
|
+
transferFailed: string;
|
|
2479
|
+
};
|
|
2480
|
+
};
|
|
2481
|
+
buyWithCard: {
|
|
2482
|
+
autoPicked: string;
|
|
2483
|
+
noDocumentUpload: string;
|
|
2484
|
+
youReceive: string;
|
|
2485
|
+
onramp: {
|
|
2486
|
+
completeTransaction: string;
|
|
2487
|
+
canCloseModal: string;
|
|
2488
|
+
youUse: string;
|
|
2489
|
+
youBuy: string;
|
|
2490
|
+
youReceive: string;
|
|
2491
|
+
intentAddressNote: string;
|
|
2492
|
+
};
|
|
2493
|
+
provider: string;
|
|
2494
|
+
loadingTokenInformation: string;
|
|
2495
|
+
detectingLocation: string;
|
|
2496
|
+
errors: {
|
|
2497
|
+
fetchQuotesFailed: string;
|
|
2498
|
+
walletAddressUnavailable: string;
|
|
2499
|
+
destinationTokenUnresolved: string;
|
|
2500
|
+
bankTransferWalletUnavailable: string;
|
|
2501
|
+
};
|
|
2502
|
+
refreshingIn: string;
|
|
2503
|
+
estimatedDeliveryTime: string;
|
|
2504
|
+
};
|
|
2505
|
+
buyWithApplePay: {
|
|
2506
|
+
email: {
|
|
2507
|
+
label: string;
|
|
2508
|
+
placeholder: string;
|
|
2509
|
+
};
|
|
2510
|
+
phone: {
|
|
2511
|
+
label: string;
|
|
2512
|
+
placeholder: string;
|
|
2513
|
+
invalid: string;
|
|
2514
|
+
reverified: string;
|
|
2515
|
+
sendCode: string;
|
|
2516
|
+
};
|
|
2517
|
+
otp: {
|
|
2518
|
+
sentTo: string;
|
|
2519
|
+
placeholder: string;
|
|
2520
|
+
incorrect: string;
|
|
2521
|
+
resend: string;
|
|
2522
|
+
resendIn: string;
|
|
2523
|
+
};
|
|
2524
|
+
amount: {
|
|
2525
|
+
enterAmount: string;
|
|
2526
|
+
unableToPrepare: string;
|
|
2527
|
+
loadingToken: string;
|
|
2528
|
+
tokenRoutingUnavailable: string;
|
|
2529
|
+
preparing: string;
|
|
2530
|
+
payWith: string;
|
|
2531
|
+
pay: string;
|
|
2532
|
+
};
|
|
2533
|
+
checking: {
|
|
2534
|
+
title: string;
|
|
2535
|
+
description: string;
|
|
2536
|
+
};
|
|
2537
|
+
upgrade: {
|
|
2538
|
+
limitReached: string;
|
|
2539
|
+
introDescription: string;
|
|
2540
|
+
verifyingTitle: string;
|
|
2541
|
+
verifyingDescription: string;
|
|
2542
|
+
dobLabel: string;
|
|
2543
|
+
dobPlaceholder: string;
|
|
2544
|
+
ssnLabel: string;
|
|
2545
|
+
ssnAriaLabel: string;
|
|
2546
|
+
submit: string;
|
|
2547
|
+
submitting: string;
|
|
2548
|
+
failedPrefix: string;
|
|
2549
|
+
contactSupport: string;
|
|
2550
|
+
failedSuffix: string;
|
|
2551
|
+
guestNotEligible: string;
|
|
2552
|
+
};
|
|
2553
|
+
disclaimer: {
|
|
2554
|
+
prefix: string;
|
|
2555
|
+
separator: string;
|
|
2556
|
+
lastSeparator: string;
|
|
2557
|
+
suffix: string;
|
|
2558
|
+
};
|
|
2559
|
+
errors: {
|
|
2560
|
+
rateLimited: string;
|
|
2561
|
+
network: string;
|
|
2562
|
+
voip: string;
|
|
2563
|
+
destinationNotConfigured: string;
|
|
2564
|
+
tokenInfoUnavailable: string;
|
|
2565
|
+
depositWalletUnavailable: string;
|
|
2566
|
+
requestFailed: string;
|
|
2567
|
+
};
|
|
2568
|
+
continue: string;
|
|
2569
|
+
cancel: string;
|
|
2570
|
+
return: string;
|
|
2571
|
+
close: string;
|
|
2572
|
+
formErrors: {
|
|
2573
|
+
guestLimitReached: string;
|
|
2574
|
+
startVerificationFailed: string;
|
|
2575
|
+
verifyInfoFailed: string;
|
|
2576
|
+
limitUpgradeFailed: string;
|
|
2577
|
+
verificationFailed: string;
|
|
2578
|
+
createPaymentFailed: string;
|
|
2579
|
+
};
|
|
2580
|
+
};
|
|
2581
|
+
payWithStripeLink: {
|
|
2582
|
+
notConfigured: string;
|
|
2583
|
+
loading: string;
|
|
2584
|
+
pleaseWait: string;
|
|
2585
|
+
retry: string;
|
|
2586
|
+
goBack: string;
|
|
2587
|
+
back: string;
|
|
2588
|
+
continue: string;
|
|
2589
|
+
done: string;
|
|
2590
|
+
submitting: string;
|
|
2591
|
+
connecting: string;
|
|
2592
|
+
creatingAccount: string;
|
|
2593
|
+
verifyingIdentity: string;
|
|
2594
|
+
settingUp: string;
|
|
2595
|
+
kycPending: {
|
|
2596
|
+
title: string;
|
|
2597
|
+
checkingAutomatically: string;
|
|
2598
|
+
};
|
|
2599
|
+
kycForm: {
|
|
2600
|
+
title: string;
|
|
2601
|
+
stepName: string;
|
|
2602
|
+
stepAddress: string;
|
|
2603
|
+
stepLimit: string;
|
|
2604
|
+
firstName: string;
|
|
2605
|
+
firstNamePlaceholder: string;
|
|
2606
|
+
lastName: string;
|
|
2607
|
+
lastNamePlaceholder: string;
|
|
2608
|
+
dateOfBirth: string;
|
|
2609
|
+
ssn: string;
|
|
2610
|
+
addressLine1: string;
|
|
2611
|
+
addressLine1Placeholder: string;
|
|
2612
|
+
addressLine2: string;
|
|
2613
|
+
addressLine2Placeholder: string;
|
|
2614
|
+
city: string;
|
|
2615
|
+
state: string;
|
|
2616
|
+
country: string;
|
|
2617
|
+
unitedStates: string;
|
|
2618
|
+
zip: string;
|
|
2619
|
+
};
|
|
2620
|
+
kycDocument: {
|
|
2621
|
+
title: string;
|
|
2622
|
+
description: string;
|
|
2623
|
+
};
|
|
2624
|
+
payment: {
|
|
2625
|
+
empty: string;
|
|
2626
|
+
addPaymentMethod: string;
|
|
2627
|
+
};
|
|
2628
|
+
email: {
|
|
2629
|
+
label: string;
|
|
2630
|
+
placeholder: string;
|
|
2631
|
+
};
|
|
2632
|
+
register: {
|
|
2633
|
+
title: string;
|
|
2634
|
+
subtitle: string;
|
|
2635
|
+
emailLabel: string;
|
|
2636
|
+
phoneLabel: string;
|
|
2637
|
+
};
|
|
2638
|
+
terms: {
|
|
2639
|
+
intro: string;
|
|
2640
|
+
linkOnrampTerms: string;
|
|
2641
|
+
separator: string;
|
|
2642
|
+
bridgeTerms: string;
|
|
2643
|
+
acknowledge: string;
|
|
2644
|
+
linkPrivacyNotice: string;
|
|
2645
|
+
and: string;
|
|
2646
|
+
bridgePrivacyNotice: string;
|
|
2647
|
+
suffix: string;
|
|
2648
|
+
};
|
|
2649
|
+
amount: {
|
|
2650
|
+
selectPaymentMethod: string;
|
|
2651
|
+
ready: string;
|
|
2652
|
+
minimumAmount: string;
|
|
2653
|
+
limitVerifyToRaise: string;
|
|
2654
|
+
limitReachedVerifyToRaise: string;
|
|
2655
|
+
limitTryLess: string;
|
|
2656
|
+
limitReachedTryLess: string;
|
|
2657
|
+
fetchingQuote: string;
|
|
2658
|
+
feesApply: string;
|
|
2659
|
+
instant: string;
|
|
2660
|
+
verifyToRaiseLimit: string;
|
|
2661
|
+
preparing: string;
|
|
2662
|
+
};
|
|
2663
|
+
review: {
|
|
2664
|
+
title: string;
|
|
2665
|
+
refreshing: string;
|
|
2666
|
+
refreshesIn: string;
|
|
2667
|
+
amount: string;
|
|
2668
|
+
fees: string;
|
|
2669
|
+
total: string;
|
|
2670
|
+
youReceive: string;
|
|
2671
|
+
buyNow: string;
|
|
2672
|
+
processing: string;
|
|
2673
|
+
preparing: string;
|
|
2674
|
+
};
|
|
2675
|
+
checkout: {
|
|
2676
|
+
title: string;
|
|
2677
|
+
subtitle: string;
|
|
2678
|
+
};
|
|
2679
|
+
error: {
|
|
2680
|
+
title: string;
|
|
2681
|
+
fallback: string;
|
|
2682
|
+
tryAgain: string;
|
|
2683
|
+
};
|
|
2684
|
+
paymentFailure: {
|
|
2685
|
+
lead: string;
|
|
2686
|
+
retryHint: string;
|
|
2687
|
+
codes: {
|
|
2688
|
+
card_declined: string;
|
|
2689
|
+
insufficient_funds: string;
|
|
2690
|
+
expired_card: string;
|
|
2691
|
+
incorrect_cvc: string;
|
|
2692
|
+
incorrect_number: string;
|
|
2693
|
+
card_not_supported: string;
|
|
2694
|
+
processing_error: string;
|
|
2695
|
+
authentication_required: string;
|
|
2696
|
+
payment_intent_authentication_failure: string;
|
|
2697
|
+
payment_method_provider_decline: string;
|
|
2698
|
+
payment_failed: string;
|
|
2699
|
+
};
|
|
2700
|
+
};
|
|
2701
|
+
kycErrors: {
|
|
2702
|
+
generic: string;
|
|
2703
|
+
resubmit: string;
|
|
2704
|
+
codes: {
|
|
2705
|
+
phone_verification_failed: string;
|
|
2706
|
+
id_document_verification_failed: string;
|
|
2707
|
+
address_verification_failed: string;
|
|
2708
|
+
date_of_birth_verification_failed: string;
|
|
2709
|
+
id_number_verification_failed: string;
|
|
2710
|
+
name_verification_failed: string;
|
|
2711
|
+
};
|
|
2712
|
+
};
|
|
2713
|
+
success: {
|
|
2714
|
+
processingTitle: string;
|
|
2715
|
+
processingSubtitle: string;
|
|
2716
|
+
completeTitle: string;
|
|
2717
|
+
completeSubtitle: string;
|
|
2718
|
+
failedTitle: string;
|
|
2719
|
+
failedSubtitle: string;
|
|
2720
|
+
};
|
|
2721
|
+
paymentMethodReady: string;
|
|
2722
|
+
enterAmountPlaceholder: string;
|
|
2723
|
+
bankAccount: string;
|
|
2724
|
+
paymentMethod: string;
|
|
2725
|
+
expires: string;
|
|
2726
|
+
accountTypeSuffix: string;
|
|
2727
|
+
formErrors: {
|
|
2728
|
+
configLoadFailed: string;
|
|
2729
|
+
sessionExpiredBeforeCompletion: string;
|
|
2730
|
+
purchaseRejected: string;
|
|
2731
|
+
authStartFailed: string;
|
|
2732
|
+
invalidUsPhone: string;
|
|
2733
|
+
registerFailed: string;
|
|
2734
|
+
reverifyFailed: string;
|
|
2735
|
+
verificationCancelled: string;
|
|
2736
|
+
consentRequired: string;
|
|
2737
|
+
reviewingDocuments: string;
|
|
2738
|
+
verifyingInformation: string;
|
|
2739
|
+
needMoreDetails: string;
|
|
2740
|
+
kycStatusFailed: string;
|
|
2741
|
+
enterFullName: string;
|
|
2742
|
+
enterFullAddress: string;
|
|
2743
|
+
enterValidSsn: string;
|
|
2744
|
+
enterValidDob: string;
|
|
2745
|
+
kycSubmissionFailed: string;
|
|
2746
|
+
documentVerificationFailed: string;
|
|
2747
|
+
registerWalletFailed: string;
|
|
2748
|
+
loadPaymentMethodsFailed: string;
|
|
2749
|
+
addPaymentMethodFailed: string;
|
|
2750
|
+
paymentMethodUnusable: string;
|
|
2751
|
+
pricingUpdated: string;
|
|
2752
|
+
checkoutFailed: string;
|
|
2753
|
+
preparePurchaseFailed: string;
|
|
2754
|
+
};
|
|
2755
|
+
retrySuffix: string;
|
|
2756
|
+
};
|
|
2757
|
+
withdrawModal: {
|
|
2758
|
+
title: string;
|
|
2759
|
+
withdrawCrypto: {
|
|
2760
|
+
title: string;
|
|
2761
|
+
subtitle: string;
|
|
2762
|
+
};
|
|
2763
|
+
selectToken: string;
|
|
2764
|
+
receiveToken: string;
|
|
2765
|
+
receiveChain: string;
|
|
2766
|
+
recipientAddress: string;
|
|
2767
|
+
recipientAddressPlaceholder: string;
|
|
2768
|
+
amount: string;
|
|
2769
|
+
amountPlaceholder: string;
|
|
2770
|
+
balance: string;
|
|
2771
|
+
minimum: string;
|
|
2772
|
+
withdraw: string;
|
|
2773
|
+
invalidAddress: string;
|
|
2774
|
+
invalidAmount: string;
|
|
2775
|
+
verifyingAddress: string;
|
|
2776
|
+
loading: string;
|
|
2777
|
+
noTokensAvailable: string;
|
|
2778
|
+
review: string;
|
|
2779
|
+
back: string;
|
|
2780
|
+
pasteFromClipboard: string;
|
|
2781
|
+
switchUnit: string;
|
|
2782
|
+
processing: string;
|
|
2783
|
+
balanceBelowMinimum: string;
|
|
2784
|
+
insufficientBalance: string;
|
|
2785
|
+
minimumNotMet: string;
|
|
2786
|
+
withdrawFailedRetry: string;
|
|
2787
|
+
noChainsAvailable: string;
|
|
2788
|
+
searchTokenOrNetwork: string;
|
|
2789
|
+
unsupportedSourceToken: string;
|
|
2790
|
+
details: {
|
|
2791
|
+
title: string;
|
|
2792
|
+
history: string;
|
|
2793
|
+
status: string;
|
|
2794
|
+
checking: string;
|
|
2795
|
+
empty: string;
|
|
2796
|
+
};
|
|
2797
|
+
executionItem: {
|
|
2798
|
+
processing: string;
|
|
2799
|
+
completed: string;
|
|
2800
|
+
};
|
|
2801
|
+
withdrawFailed: string;
|
|
2802
|
+
sourceTokenFallback: string;
|
|
2803
|
+
sourceTokenNotSupported: string;
|
|
2804
|
+
};
|
|
2805
|
+
incident: {
|
|
2806
|
+
outage: string;
|
|
2807
|
+
info: string;
|
|
2808
|
+
degraded: string;
|
|
2809
|
+
};
|
|
2810
|
+
hypercore: {
|
|
2811
|
+
withdrawFee: string;
|
|
2812
|
+
activationFee: string;
|
|
2813
|
+
};
|
|
2814
|
+
};
|
|
2815
|
+
/**
|
|
2816
|
+
* Interpolate parameters into a template string
|
|
2817
|
+
* Replaces {{key}} placeholders with values from params
|
|
2818
|
+
*
|
|
2819
|
+
* @example
|
|
2820
|
+
* interpolate("Hello {{name}}!", { name: "World" }) // "Hello World!"
|
|
2821
|
+
*/
|
|
2822
|
+
declare function interpolate(template: string, params?: Record<string, string | number> | null): string;
|
|
2823
|
+
/**
|
|
2824
|
+
* Normalize an arbitrary locale tag to a supported `LocaleCode`, falling back to
|
|
2825
|
+
* "en" for anything we don't ship.
|
|
2826
|
+
*
|
|
2827
|
+
* Chinese is resolved by script rather than a single region: any Traditional
|
|
2828
|
+
* signal (script `Hant`, or region TW/HK/MO) maps to `zh-TW` (Traditional);
|
|
2829
|
+
* every other `zh` tag maps to `zh` (Simplified).
|
|
2830
|
+
*
|
|
2831
|
+
* @example normalizeLocale("zh-CN") // "zh" (Simplified)
|
|
2832
|
+
* @example normalizeLocale("zh-TW") // "zh-TW" (Traditional)
|
|
2833
|
+
* @example normalizeLocale("zh-HK") // "zh-TW" (Traditional)
|
|
2834
|
+
* @example normalizeLocale("zh-Hant-TW") // "zh-TW" (Traditional)
|
|
2835
|
+
* @example normalizeLocale("en_US") // "en"
|
|
2836
|
+
*/
|
|
2837
|
+
declare function normalizeLocale(tag?: string | null): LocaleCode;
|
|
2838
|
+
/**
|
|
2839
|
+
* Best-effort browser locale detection. Walks `navigator.languages` in the
|
|
2840
|
+
* user's own order and takes the first language we ship, so `["fr", "zh-TW"]`
|
|
2841
|
+
* resolves to `zh-TW` while `["en-US", "zh-CN"]` stays English. Returns "en"
|
|
2842
|
+
* during SSR or when nothing matches.
|
|
2843
|
+
*/
|
|
2844
|
+
declare function detectBrowserLocale(): LocaleCode;
|
|
2845
|
+
/** Get the string table for a locale (defaults to English). */
|
|
2846
|
+
declare function getStrings(locale: LocaleCode): I18nStrings;
|
|
2847
|
+
/** Active string table for use outside React components. */
|
|
2848
|
+
declare function getActiveStrings(): I18nStrings;
|
|
2849
|
+
/** Active locale for use outside React components. */
|
|
2850
|
+
declare function getActiveLocale(): LocaleCode;
|
|
2851
|
+
/** Set the active locale for the module singleton (called by `I18nProvider`). */
|
|
2852
|
+
declare function setActiveLocale(locale: LocaleCode): void;
|
|
2853
|
+
interface I18nContextValue {
|
|
2854
|
+
/** Localized string table for the active locale. */
|
|
2855
|
+
t: I18nStrings;
|
|
2856
|
+
/** The resolved active locale. */
|
|
2857
|
+
locale: LocaleCode;
|
|
2858
|
+
/** Interpolate `{{placeholders}}` in a template string. */
|
|
2859
|
+
format: (template: string, params?: Record<string, string | number> | null) => string;
|
|
2860
|
+
}
|
|
2861
|
+
interface I18nProviderProps {
|
|
2862
|
+
children: React$1.ReactNode;
|
|
2863
|
+
/**
|
|
2864
|
+
* Locale tag (e.g. "zh", "zh-CN", "en-US"). When omitted, the browser locale
|
|
2865
|
+
* is auto-detected. Unsupported locales fall back to English.
|
|
2866
|
+
*/
|
|
2867
|
+
locale?: string;
|
|
2868
|
+
}
|
|
2869
|
+
declare function I18nProvider({ children, locale }: I18nProviderProps): react_jsx_runtime.JSX.Element;
|
|
2870
|
+
/**
|
|
2871
|
+
* Access the active localized strings. Falls back to the module singleton (and
|
|
2872
|
+
* ultimately English) when used outside an `I18nProvider`, matching how
|
|
2873
|
+
* `useTheme` degrades gracefully.
|
|
2874
|
+
*/
|
|
2875
|
+
declare function useI18n(): I18nContextValue;
|
|
2876
|
+
|
|
1176
2877
|
/**
|
|
1177
2878
|
* Result of the useAllowedCountry hook
|
|
1178
2879
|
*/
|
|
@@ -1308,6 +3009,7 @@ interface UseWithdrawPollingOptions {
|
|
|
1308
3009
|
message: string;
|
|
1309
3010
|
error?: unknown;
|
|
1310
3011
|
code?: string;
|
|
3012
|
+
execution?: WithdrawDirectExecutionFailedEvent;
|
|
1311
3013
|
}) => void;
|
|
1312
3014
|
}
|
|
1313
3015
|
interface UseWithdrawPollingResult {
|
|
@@ -1640,6 +3342,29 @@ interface ThemeProviderProps {
|
|
|
1640
3342
|
declare function ThemeProvider({ children, mode, accentColor, theme, fontFamily, fonts: fontConfig, components: componentConfig, themeClass: legacyThemeClass, }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
1641
3343
|
declare function useTheme(): ThemeContextValue;
|
|
1642
3344
|
|
|
3345
|
+
interface AnalyticsProviderProps {
|
|
3346
|
+
children: React$1.ReactNode;
|
|
3347
|
+
tracker?: EventTracker | null;
|
|
3348
|
+
}
|
|
3349
|
+
/**
|
|
3350
|
+
* Provides an optional EventTracker to all Unifold UI components.
|
|
3351
|
+
* When no tracker is provided, all tracking calls are silently skipped.
|
|
3352
|
+
*/
|
|
3353
|
+
declare function AnalyticsProvider({ children, tracker }: AnalyticsProviderProps): react_jsx_runtime.JSX.Element;
|
|
3354
|
+
/**
|
|
3355
|
+
* Hook that returns a `track` function plus analytics-journey (session)
|
|
3356
|
+
* helpers. Safe to call even when no tracker is configured — calls are
|
|
3357
|
+
* silently dropped; {@link getSessionId} returns `undefined` outside a journey.
|
|
3358
|
+
*/
|
|
3359
|
+
declare function useAnalytics(): {
|
|
3360
|
+
track: (event: string, properties?: AnalyticsProperties) => void;
|
|
3361
|
+
startSession: () => string;
|
|
3362
|
+
endSession: () => void | undefined;
|
|
3363
|
+
getSessionId: () => string | undefined;
|
|
3364
|
+
setUserId: (userId: string | null) => void | undefined;
|
|
3365
|
+
subscribe: (handler: (event: AnalyticsEvent) => void) => () => void;
|
|
3366
|
+
};
|
|
3367
|
+
|
|
1643
3368
|
declare function cn(...inputs: ClassValue[]): string;
|
|
1644
3369
|
/**
|
|
1645
3370
|
* Format estimated processing time in human-readable format
|
|
@@ -1655,4 +3380,4 @@ declare function cn(...inputs: ClassValue[]): string;
|
|
|
1655
3380
|
*/
|
|
1656
3381
|
declare function truncateAddress(address: string, startChars?: number, endChars?: number): string;
|
|
1657
3382
|
|
|
1658
|
-
export { type AllowedCountryResult, BankTransfer, BankTransferButton, type BankTransferProps, type BankTransferView, type BrowserWalletAmountQuickSelect, Button, type ButtonProps, type ButtonTokens, BuyWithApplePay, type BuyWithApplePayProps, BuyWithCard, type BuyWithCardProps, type CardTokens, CheckingForDepositIndicator, CheckoutModal, type CheckoutModalProps, CoinbaseConnect, type ComponentConfig, type ComponentOverrides, type ComponentTokens, ConfirmingView, ConnectExchangeButton, type ContainerTokens, CurrencyListItem, CurrencyListSection, CurrencyModal, type CustomThemeColors, type DepositConfirmationMode, DepositDetailContent, DepositExecutionItem, DepositHeader, DepositModal, type DepositModalInitialScreen, DepositSuccessToast, DepositTrackerButton, DepositWithCardButton, DepositsModal, type DetectedWallet, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type EvmWalletProvider, type FontConfig, HYPERCORE_CHAIN_ID, type HeaderTokens, type InputTokens, type ListTokens, ManualDepositButton, PayWithStripeLink, type PayWithStripeLinkProps, QRCodeSkeleton, type ResolvedFonts, type SearchTokens, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SolanaWalletProvider, type StoredApplePaySession, StripeLinkButton, type StripeLinkStep, StyledQRCode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TransferCryptoButton, TransferCryptoDoubleInput, TransferCryptoSingleInput, type UseDepositQuoteParams, type UsePaymentIntentParams, type UseSupportedDepositTokensOptions, WithdrawConfirmingView, WithdrawDoubleInput, WithdrawExecutionItem, WithdrawForm, WithdrawModal, type WithdrawModalProps, WithdrawTokenSelector, type WithdrawTransactionInfo, buttonVariants, clearStoredApplePaySession, cn, colors, defaultColors, detectBrowserWallet, getColors, getStoredApplePaySession, isHypercoreChain, isOnrampTokenFresh, mergeColors, resolveComponentTokens, sendEvmWithdraw, sendHypercoreWithdraw, sendSolanaWithdraw, setStoredApplePaySession, truncateAddress, useAddressBalance, useAllowedCountry, useDebounce, useDepositPolling, useDepositQuote, usePaymentIntent, usePublicIncident, useSourceTokenValidation, useSupportedDepositTokens, useSupportedDestinationTokens, useTheme, useVerifyRecipientAddress, useWithdrawPolling };
|
|
3383
|
+
export { type AllowedCountryResult, AnalyticsProvider, type AnalyticsProviderProps, BankTransfer, BankTransferButton, type BankTransferProps, type BankTransferView, type BrowserWalletAmountQuickSelect, Button, type ButtonProps, type ButtonTokens, BuyWithApplePay, type BuyWithApplePayProps, BuyWithCard, type BuyWithCardProps, BuyWithGooglePay, type BuyWithGooglePayProps, BuyWithWalletPay, type BuyWithWalletPayHandle, type BuyWithWalletPayProps, type CardTokens, CheckingForDepositIndicator, CheckoutModal, type CheckoutModalProps, CoinbaseConnect, type ComponentConfig, type ComponentOverrides, type ComponentTokens, ConfirmingView, ConnectExchangeButton, type ContainerTokens, CurrencyListItem, CurrencyListSection, CurrencyModal, type CustomThemeColors, type DepositConfirmationMode, DepositDetailContent, DepositExecutionItem, DepositHeader, DepositModal, type DepositModalInitialScreen, DepositSuccessToast, DepositTrackerButton, DepositWithCardButton, DepositsModal, type DetectedWallet, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, type EvmWalletProvider, type FontConfig, HYPERCORE_CHAIN_ID, type HeaderTokens, type I18nContextValue, I18nProvider, type I18nProviderProps, type I18nStrings, type InputTokens, type ListTokens, type LocaleCode, ManualDepositButton, PayWithStripeLink, type PayWithStripeLinkProps, QRCodeSkeleton, type ResolvedFonts, SUPPORTED_LOCALES, type SearchTokens, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, type SolanaWalletProvider, type StoredWalletPaySession as StoredApplePaySession, type StoredWalletPaySession, StripeLinkButton, type StripeLinkStep, StyledQRCode, type ThemeColors, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TransferCryptoButton, TransferCryptoDoubleInput, TransferCryptoSingleInput, type UseDepositQuoteParams, type UsePaymentIntentParams, type UseSupportedDepositTokensOptions, WithdrawConfirmingView, WithdrawDoubleInput, WithdrawExecutionItem, WithdrawForm, WithdrawModal, type WithdrawModalProps, WithdrawTokenSelector, type WithdrawTransactionInfo, buttonVariants, clearStoredWalletPaySession as clearStoredApplePaySession, clearStoredWalletPaySession, cn, colors, defaultColors, detectBrowserLocale, detectBrowserWallet, getActiveLocale, getActiveStrings, getColors, getStoredWalletPaySession as getStoredApplePaySession, getStoredWalletPaySession, getStrings, i18n, interpolate, isHypercoreChain, isOnrampTokenFresh, mergeColors, normalizeLocale, resolveComponentTokens, sendEvmWithdraw, sendHypercoreWithdraw, sendSolanaWithdraw, setActiveLocale, setStoredWalletPaySession as setStoredApplePaySession, setStoredWalletPaySession, truncateAddress, useAddressBalance, useAllowedCountry, useAnalytics, useDebounce, useDepositPolling, useDepositQuote, useI18n, usePaymentIntent, usePublicIncident, useSourceTokenValidation, useSupportedDepositTokens, useSupportedDestinationTokens, useTheme, useVerifyRecipientAddress, useWithdrawPolling };
|