@funkit/connect 8.3.0 → 8.4.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +61 -0
- package/dist/__generated__/default_configs.d.ts +63 -0
- package/dist/{chunk-A24XIU2M.js → chunk-UE3P6YHW.js} +14 -0
- package/dist/{chunk-CMS4F5PL.js → chunk-XX5CVGHN.js} +3 -2
- package/dist/{chunk-GRQP5R23.js → chunk-YUWSE22N.js} +3 -2
- package/dist/clients/fanatics.css +3956 -3651
- package/dist/clients/fanatics.js +35 -6
- package/dist/components/Box/Box.d.ts +45 -45
- package/dist/components/FunCheckoutHistory/FunDirectExecutionHistoryBottomBar.d.ts +1 -0
- package/dist/components/FunCheckoutHistory/useCustomStatusAnimationAboveTopbar.d.ts +1 -3
- package/dist/components/FunCheckoutModalHeightAnimationWrapper/FunCheckoutModalHeightAnimationWrapper.d.ts +3 -1
- package/dist/components/FunInfoBanner/InfoBanner.d.ts +1 -1
- package/dist/components/FunPaymentMethodItem/FunPaymentMethodItem.d.ts +1 -0
- package/dist/components/FunPaymentMethodItem/FunPaymentMethodItemSkeleton.d.ts +2 -0
- package/dist/components/FunPayments/FunPaymentMethods.d.ts +7 -0
- package/dist/components/Icons/AcrossIcon.d.ts +4 -0
- package/dist/components/Tabs/Tabs.d.ts +1 -0
- package/dist/consts/customers.d.ts +1 -1
- package/dist/css/sprinkles.css.d.ts +87 -45
- package/dist/domains/meld.d.ts +0 -6
- package/dist/hooks/queries/useFops.d.ts +17 -0
- package/dist/hooks/track/CheckoutModalEvent.d.ts +7 -0
- package/dist/hooks/useCheckoutDirectExecutionHistory.d.ts +1 -0
- package/dist/hooks/useStepQueryReadiness.d.ts +32 -0
- package/dist/index.css +3976 -3665
- package/dist/index.js +3643 -2985
- package/dist/modals/CheckoutModal/ConfirmationStep/useCheckoutConfirmation.d.ts +1 -0
- package/dist/modals/CheckoutModal/FunCheckoutStep.d.ts +2 -1
- package/dist/modals/CheckoutModal/LoadingAccount.d.ts +1 -1
- package/dist/modals/CheckoutModal/MeldQuotes/MeldQuotes.d.ts +1 -1
- package/dist/modals/CheckoutModal/SourceChange/ConnectedSource.d.ts +11 -0
- package/dist/modals/CheckoutModal/SourceChange/CryptoCashToggle.d.ts +5 -1
- package/dist/modals/CheckoutModal/SourceChange/FormOfPaymentsList.d.ts +10 -0
- package/dist/modals/CheckoutModal/SourceChange/SourceChange.d.ts +10 -0
- package/dist/modals/CheckoutModal/SourceChange/SourceChangeLoading.d.ts +4 -0
- package/dist/modals/CheckoutModal/SourceChange/{DefaultSourceList.d.ts → SourceList.d.ts} +3 -3
- package/dist/modals/CheckoutModal/SourceChange/sourceChange.css.d.ts +2 -1
- package/dist/modals/CheckoutModal/SwappedIframe/SwappedIframe.d.ts +16 -0
- package/dist/modals/CheckoutModal/SwappedIframe/index.d.ts +1 -0
- package/dist/modals/CheckoutModal/stepTransition.d.ts +7 -0
- package/dist/providers/FunkitCheckoutContext/index.d.ts +1 -0
- package/dist/providers/FunkitCheckoutContext/types.d.ts +1 -0
- package/dist/providers/FunkitConfigContext.d.ts +2 -0
- package/dist/providers/FunkitThemeProvider.d.ts +63 -0
- package/dist/themes/baseTheme.js +1 -1
- package/dist/themes/darkTheme.js +2 -2
- package/dist/themes/lightTheme.js +2 -2
- package/dist/utils/across.d.ts +5 -0
- package/dist/utils/depositCutoff.d.ts +9 -0
- package/dist/utils/directExecution.d.ts +16 -0
- package/dist/utils/flags/config.d.ts +2 -2
- package/dist/utils/lighter.d.ts +1 -3
- package/dist/utils/sanitizeHtml.d.ts +7 -0
- package/dist/utils/sanitizeUrl.d.ts +10 -0
- package/dist/utils/tokenIconUrl.d.ts +1 -1
- package/dist/wallets/walletConnectors/index.js +13 -13
- package/package.json +4 -4
- package/dist/modals/CheckoutModal/SourceChange/FanaticsSourceList.d.ts +0 -15
|
@@ -9,6 +9,7 @@ export interface CheckoutConfirmationError extends ErrorNotification {
|
|
|
9
9
|
export declare enum ConfirmationErrorCode {
|
|
10
10
|
QUOTE_EXPIRED = "QUOTE_EXPIRED",
|
|
11
11
|
GENERIC_ERROR = "GENERIC_ERROR",
|
|
12
|
+
WITHDRAWAL_RATE_LIMIT_EXCEEDED = "WITHDRAWAL_RATE_LIMIT_EXCEEDED",
|
|
12
13
|
RISK_ERROR = "RISK_ERROR",
|
|
13
14
|
SIGNATURE_DENIED = "SIGNATURE_DENIED",
|
|
14
15
|
SWITCH_CHAIN_ERROR = "SWITCH_CHAIN_ERROR",
|
|
@@ -20,5 +20,6 @@ export declare enum FunCheckoutStep {
|
|
|
20
20
|
SELECT_BROKERAGE = "select_brokerage",
|
|
21
21
|
CONNECT_EXCHANGE = "connect_exchange",
|
|
22
22
|
BROKERAGE_TWO_FA = "brokerage_two_fa",
|
|
23
|
-
BROKERAGE_SUCCESS = "brokerage_success"
|
|
23
|
+
BROKERAGE_SUCCESS = "brokerage_success",
|
|
24
|
+
SWAPPED_IFRAME = "swapped_iframe"
|
|
24
25
|
}
|
|
@@ -18,4 +18,4 @@ export type LoadingAccountNext = {
|
|
|
18
18
|
};
|
|
19
19
|
export declare const LoadingAccountInfo: ModalStepInfo<FunCheckoutStep.LOADING_ACCOUNT>;
|
|
20
20
|
/** A placeholder component to handle redirecting to the checkout history page */
|
|
21
|
-
export declare function LoadingAccount({ modalState, onNext, }: ModalStepComponentProps<FunCheckoutStep.LOADING_ACCOUNT>): React.JSX.Element;
|
|
21
|
+
export declare function LoadingAccount({ modalState, onClose, onNext, }: ModalStepComponentProps<FunCheckoutStep.LOADING_ACCOUNT>): React.JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { MeldQuote, MeldServiceProvider } from '@funkit/api-base';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { PaymentMethodCardInfo } from '../../../domains/paymentMethods';
|
|
4
4
|
import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepComponentProps, type ModalStepInfo } from '../stepTransition';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ConnectablePaymentMethodInfo } from '../../../domains/paymentMethods';
|
|
3
|
+
interface ConnectedSourceProps {
|
|
4
|
+
targetChainId: string;
|
|
5
|
+
paymentInfo: ConnectablePaymentMethodInfo;
|
|
6
|
+
selectedPaymentInfo: ConnectablePaymentMethodInfo | null;
|
|
7
|
+
showSelectedCheckmark?: boolean;
|
|
8
|
+
onSelect: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const ConnectedSource: ({ paymentInfo, targetChainId, selectedPaymentInfo, showSelectedCheckmark, onSelect, }: ConnectedSourceProps) => React.JSX.Element | null;
|
|
11
|
+
export {};
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { type BoxProps } from '../../../components/Box/Box';
|
|
2
3
|
import type { PaymentMethodType } from '../../../hooks/usePaymentSources';
|
|
3
4
|
interface CryptoCashToggleProps {
|
|
4
5
|
activeTab: PaymentMethodType;
|
|
6
|
+
disabled?: boolean;
|
|
5
7
|
onTabChange: (tab: PaymentMethodType) => void;
|
|
8
|
+
marginTop?: BoxProps['marginTop'];
|
|
9
|
+
marginBottom?: BoxProps['marginBottom'];
|
|
6
10
|
style?: React.CSSProperties;
|
|
7
11
|
}
|
|
8
|
-
export declare const CryptoCashToggle: ({ activeTab, onTabChange, style, }: CryptoCashToggleProps) => React.JSX.Element;
|
|
12
|
+
export declare const CryptoCashToggle: ({ activeTab, disabled, onTabChange, marginTop, marginBottom, style, }: CryptoCashToggleProps) => React.JSX.Element;
|
|
9
13
|
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FormOfPayment } from '@funkit/api-base';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
interface FormOfPaymentsListProps {
|
|
4
|
+
fops?: FormOfPayment[];
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
selectedFop?: FormOfPayment | null;
|
|
7
|
+
onFopSelect: (fop: FormOfPayment) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function FormOfPaymentsList({ fops, isLoading, selectedFop, onFopSelect, }: FormOfPaymentsListProps): React.JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import { type FormOfPayment } from '@funkit/api-base';
|
|
1
2
|
import React from 'react';
|
|
2
3
|
import { type ConnectablePaymentMethodInfo, PaymentMethod, type PaymentMethodCardInfo, type PaymentMethodVirtualBankIncompleteInfo } from '../../../domains/paymentMethods';
|
|
4
|
+
import { type PaymentMethodType } from '../../../hooks/usePaymentSources';
|
|
3
5
|
import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepComponentProps, type ModalStepInfo } from '../stepTransition';
|
|
4
6
|
export type SourceChangeState = CheckoutModalCommonState & {
|
|
5
7
|
paymentMethodInfo: ConnectablePaymentMethodInfo | null;
|
|
8
|
+
/** Persisted payment method type filter (crypto/fiat tab) */
|
|
9
|
+
paymentMethodTypeFilter?: PaymentMethodType;
|
|
6
10
|
};
|
|
7
11
|
export type SourceChangeNext = {
|
|
8
12
|
connectNew: false;
|
|
@@ -25,6 +29,12 @@ export type SourceChangeNext = {
|
|
|
25
29
|
} | {
|
|
26
30
|
brokerageFailed: true;
|
|
27
31
|
paymentMethodInfo: ConnectablePaymentMethodInfo;
|
|
32
|
+
} | {
|
|
33
|
+
/** Navigate to Swapped iframe with a selected payment option */
|
|
34
|
+
swappedIframe: true;
|
|
35
|
+
selectedPaymentOption: FormOfPayment;
|
|
36
|
+
/** Payment method type filter to restore when returning */
|
|
37
|
+
paymentMethodTypeFilter: PaymentMethodType;
|
|
28
38
|
};
|
|
29
39
|
export declare const SourceChangeInfo: ModalStepInfo<FunCheckoutStep.SOURCE_CHANGE>;
|
|
30
40
|
export declare function SourceChange({ modalState, onClose, onNext, setModalState, }: ModalStepComponentProps<FunCheckoutStep.SOURCE_CHANGE>): React.JSX.Element;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ConnectablePaymentMethodInfo, PaymentMethod } from '../../../domains/paymentMethods';
|
|
3
|
-
interface
|
|
3
|
+
interface SourceListProps {
|
|
4
4
|
preferred: (ConnectablePaymentMethodInfo | PaymentMethod)[];
|
|
5
5
|
moreSources: (ConnectablePaymentMethodInfo | PaymentMethod)[];
|
|
6
6
|
comingSoon: PaymentMethod[];
|
|
7
|
-
|
|
7
|
+
isFallback: boolean;
|
|
8
8
|
renderSource: (source: ConnectablePaymentMethodInfo | PaymentMethod) => React.ReactNode;
|
|
9
9
|
renderComingSoon: (source: PaymentMethod) => React.ReactNode;
|
|
10
10
|
}
|
|
11
|
-
export declare function
|
|
11
|
+
export declare function SourceList({ preferred, moreSources, comingSoon, isFallback, renderSource, renderComingSoon, }: SourceListProps): React.JSX.Element;
|
|
12
12
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export declare const WITH_EMPTY_STATE_DATA_ATTRIBUTE = "data-with-empty-state";
|
|
2
2
|
export declare const emptyStateStyles: string;
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const sourceListBoxStyles: string;
|
|
4
|
+
export declare const sourceListCompactBoxStyles: string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FormOfPayment } from '@funkit/api-base';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import type { PaymentMethodType } from '../../../hooks/usePaymentSources';
|
|
4
|
+
import { type CheckoutModalCommonState, FunCheckoutStep, type ModalStepComponentProps, type ModalStepInfo } from '../../../modals/CheckoutModal/stepTransition';
|
|
5
|
+
export type SwappedIframeState = CheckoutModalCommonState & {
|
|
6
|
+
/** The selected payment option from the fops API */
|
|
7
|
+
selectedPaymentOption: FormOfPayment;
|
|
8
|
+
/** Payment method type filter to restore when returning to SOURCE_CHANGE */
|
|
9
|
+
paymentMethodTypeFilter?: PaymentMethodType;
|
|
10
|
+
};
|
|
11
|
+
export type SwappedIframeNext = {
|
|
12
|
+
success?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare const SwappedIframeInfo: ModalStepInfo<FunCheckoutStep.SWAPPED_IFRAME>;
|
|
15
|
+
declare function SwappedIframe({ modalState, onNext, onBack, }: ModalStepComponentProps<FunCheckoutStep.SWAPPED_IFRAME>): React.JSX.Element;
|
|
16
|
+
export default SwappedIframe;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as SwappedIframe, SwappedIframeInfo, type SwappedIframeNext, type SwappedIframeState, } from './SwappedIframe';
|
|
@@ -21,6 +21,7 @@ import { type MeldQuotesNext, type MeldQuotesState } from './MeldQuotes/MeldQuot
|
|
|
21
21
|
import { type MeldRedirectNext, type MeldRedirectState } from './MeldRedirect/MeldRedirect';
|
|
22
22
|
import { type SelectAssetNext, type SelectAssetState } from './SelectAsset/SelectAsset';
|
|
23
23
|
import { type SourceChangeNext, type SourceChangeState } from './SourceChange/SourceChange';
|
|
24
|
+
import { type SwappedIframeNext, type SwappedIframeState } from './SwappedIframe';
|
|
24
25
|
import { type TransferTokenNext, type TransferTokenState } from './TransferToken/TransferToken';
|
|
25
26
|
import { type FiatAccountDetailNext, type FiatAccountDetailState } from './VirtualFiatAccount/FiatAccountDetail';
|
|
26
27
|
import { type KycIframeNext, type KycIframeState } from './VirtualFiatAccount/KycIframe';
|
|
@@ -60,6 +61,8 @@ export type ModalStepInfo<S extends FunCheckoutStep> = {
|
|
|
60
61
|
disableBack?: (info: ModalStepInput<S>) => boolean;
|
|
61
62
|
/** Hides the close button in the Dialog Title element */
|
|
62
63
|
hideClose?: (startingStep?: FunCheckoutStartingStep) => boolean;
|
|
64
|
+
/** Hides the entire topbar including back button, close button, and title */
|
|
65
|
+
hideTopbar?: () => boolean;
|
|
63
66
|
onBack?(state: CheckoutModalState<S>, prevState: CheckoutModalState): CheckoutModalState;
|
|
64
67
|
onNext(state: CheckoutModalState<S>, payload: NextPayload<S>): CheckoutModalState;
|
|
65
68
|
showFullHeight?: boolean;
|
|
@@ -95,6 +98,7 @@ export type CheckoutModalState<S extends FunCheckoutStep = FunCheckoutStep> = {
|
|
|
95
98
|
[FunCheckoutStep.CONNECT_EXCHANGE]: ConnectExchangeState;
|
|
96
99
|
[FunCheckoutStep.BROKERAGE_TWO_FA]: BrokerageTwoFAState;
|
|
97
100
|
[FunCheckoutStep.BROKERAGE_SUCCESS]: BrokerageSuccessState;
|
|
101
|
+
[FunCheckoutStep.SWAPPED_IFRAME]: SwappedIframeState;
|
|
98
102
|
}[T] & {
|
|
99
103
|
step: T;
|
|
100
104
|
previousStep?: FunCheckoutStep | null;
|
|
@@ -123,6 +127,7 @@ export type NextPayload<S extends FunCheckoutStep = FunCheckoutStep> = {
|
|
|
123
127
|
[FunCheckoutStep.CONNECT_EXCHANGE]: ConnectExchangeNext;
|
|
124
128
|
[FunCheckoutStep.BROKERAGE_TWO_FA]: BrokerageTwoFANext;
|
|
125
129
|
[FunCheckoutStep.BROKERAGE_SUCCESS]: null;
|
|
130
|
+
[FunCheckoutStep.SWAPPED_IFRAME]: SwappedIframeNext;
|
|
126
131
|
}[S] & {
|
|
127
132
|
/** Whether screen transition should change direction to simulate back transition. Only applies if there is a history entry in the stack*/
|
|
128
133
|
reverseAnimation?: boolean;
|
|
@@ -145,10 +150,12 @@ export declare function useCheckoutModalTransition(checkoutItem: FunkitActiveChe
|
|
|
145
150
|
onStepChange: (nextState: CheckoutModalState) => void;
|
|
146
151
|
setModalState: import("react").Dispatch<SetStateAction<CheckoutModalState<FunCheckoutStep>>>;
|
|
147
152
|
hasHistoryEntry: boolean;
|
|
153
|
+
isStepReady: boolean;
|
|
148
154
|
};
|
|
149
155
|
export declare function useTitleConfig<S extends FunCheckoutStep>(checkoutItem: FunkitActiveCheckoutItem, state: CheckoutModalState<S>): {
|
|
150
156
|
disableBack: boolean;
|
|
151
157
|
hideClose: boolean;
|
|
158
|
+
hideTopbar: boolean;
|
|
152
159
|
showFullHeight: boolean;
|
|
153
160
|
title: string;
|
|
154
161
|
};
|
|
@@ -33,6 +33,7 @@ interface FunkitCheckoutContextInterface {
|
|
|
33
33
|
withdrawalItem: FunkitActiveWithdrawalItem | null;
|
|
34
34
|
initNewWithdrawal(initSettings: Partial<UseFunkitCheckoutPropsWithFullConfig>, config: UseFunkitCheckoutPropsWithFullConfig): string;
|
|
35
35
|
updateWithdrawalSourceAssetAmount(newSourceAmount: number): void;
|
|
36
|
+
resetForNewWithdrawal(): void;
|
|
36
37
|
applyDynamicRouting(path: Omit<DynamicRoutePath, 'getCustomRecipient' | 'generateActionsParams'> & {
|
|
37
38
|
customRecipient?: FunkitCheckoutConfig['customRecipient'];
|
|
38
39
|
generateActionsParams?: FunkitCheckoutConfig['generateActionsParams'];
|
|
@@ -23,6 +23,7 @@ export interface DynamicTargetAssetCandidate extends TokenInfo {
|
|
|
23
23
|
* 1 USDT can be exchanged for 1.01 hbUSDT.
|
|
24
24
|
*/
|
|
25
25
|
stakingTokenRate?: number;
|
|
26
|
+
dynamicRoutingId?: string;
|
|
26
27
|
}
|
|
27
28
|
export declare enum FunCheckoutStartingStep {
|
|
28
29
|
SOURCE_CHANGE = "source_change",
|
|
@@ -177,6 +177,8 @@ export interface FunkitUiCustomizationsConfig {
|
|
|
177
177
|
/** Translation key for label - defaults to `'common.close'` */
|
|
178
178
|
labelKey?: 'sourceChange.exploreMarketsFirst' | 'common.close';
|
|
179
179
|
};
|
|
180
|
+
/** Whether to show the crypto/cash toggle - defaults to false */
|
|
181
|
+
showCryptoCashToggle?: boolean;
|
|
180
182
|
/** Whether to show target asset selection menu if dynamicTargetAssetCandidates exist - defaults to false */
|
|
181
183
|
showTargetAssetSelection?: boolean;
|
|
182
184
|
/** Whether to show wallet option when balance is insufficient - defaults to false (hides wallet) */
|
|
@@ -140,9 +140,11 @@ export declare const useActiveTheme: () => {
|
|
|
140
140
|
txSummaryBoxBackground: string;
|
|
141
141
|
txSummaryBoxBorder: string;
|
|
142
142
|
counterRingColor: string;
|
|
143
|
+
cryptoCashToggleContainerBorderColor: string;
|
|
143
144
|
};
|
|
144
145
|
dimensions: {
|
|
145
146
|
connectExchangeIconSize: string;
|
|
147
|
+
cryptoCashToggleIconSize: string;
|
|
146
148
|
dollarValueSkeletonHeight: string;
|
|
147
149
|
dollarValueSkeletonWidth: string;
|
|
148
150
|
inputAmountQuickOptionButtonHeight: string;
|
|
@@ -153,6 +155,7 @@ export declare const useActiveTheme: () => {
|
|
|
153
155
|
paymentAmountSkeletonBlockHeight: string;
|
|
154
156
|
paymentAmountSkeletonBlockWidth: string;
|
|
155
157
|
paymentAmountSkeletonCircleSize: string;
|
|
158
|
+
paymentMethodItemIconSize: string;
|
|
156
159
|
selectAssetItemIconSize: string;
|
|
157
160
|
txBreakdownSkeletonWidth: string;
|
|
158
161
|
txSummaryLineSkeletonHeight: string;
|
|
@@ -175,6 +178,7 @@ export declare const useActiveTheme: () => {
|
|
|
175
178
|
semibold: string;
|
|
176
179
|
bold: string;
|
|
177
180
|
heavy: string;
|
|
181
|
+
cryptoCashToggle: string;
|
|
178
182
|
inputAmount: string;
|
|
179
183
|
modalTopbarTitle: string;
|
|
180
184
|
modalBottomBarButtonText: string;
|
|
@@ -188,6 +192,7 @@ export declare const useActiveTheme: () => {
|
|
|
188
192
|
txStatusTitle: string;
|
|
189
193
|
txSummaryLabel: string;
|
|
190
194
|
txSummaryValue: string;
|
|
195
|
+
sourceListSectionLabelFontWeight: string;
|
|
191
196
|
};
|
|
192
197
|
fontSize: {
|
|
193
198
|
'10': {
|
|
@@ -234,6 +239,10 @@ export declare const useActiveTheme: () => {
|
|
|
234
239
|
fontSize: string;
|
|
235
240
|
lineHeight: string;
|
|
236
241
|
};
|
|
242
|
+
cryptoCashToggle: {
|
|
243
|
+
fontSize: string;
|
|
244
|
+
lineHeight: string;
|
|
245
|
+
};
|
|
237
246
|
'header-14': {
|
|
238
247
|
fontSize: string;
|
|
239
248
|
lineHeight: string;
|
|
@@ -334,6 +343,10 @@ export declare const useActiveTheme: () => {
|
|
|
334
343
|
fontSize: string;
|
|
335
344
|
lineHeight: string;
|
|
336
345
|
};
|
|
346
|
+
sourceListSectionLabelFontSize: {
|
|
347
|
+
fontSize: string;
|
|
348
|
+
lineHeight: string;
|
|
349
|
+
};
|
|
337
350
|
};
|
|
338
351
|
radii: {
|
|
339
352
|
actionButton: string;
|
|
@@ -357,6 +370,7 @@ export declare const useActiveTheme: () => {
|
|
|
357
370
|
borderWidths: {
|
|
358
371
|
activeOptionBorderWidth: string;
|
|
359
372
|
buttonTertiaryBorderWidth: string;
|
|
373
|
+
cryptoCashToggleContainerBorderWidth: string;
|
|
360
374
|
txSummaryBoxBorderWidth: string;
|
|
361
375
|
};
|
|
362
376
|
shadows: {
|
|
@@ -388,11 +402,16 @@ export declare const useActiveTheme: () => {
|
|
|
388
402
|
spacing: {
|
|
389
403
|
confirmationStepMarginTop: string;
|
|
390
404
|
confirmationStepVerticalGap: string;
|
|
405
|
+
cryptoCashToggleContainerPadding: string;
|
|
406
|
+
cryptoCashToggleMarginBottom: string;
|
|
407
|
+
cryptoCashToggleMarginTop: string;
|
|
408
|
+
cryptoCashToggleTabPaddingY: string;
|
|
391
409
|
modalBaseHorizontalPadding: string;
|
|
392
410
|
modalBottomHorizontalPadding: string;
|
|
393
411
|
modalPaddingBottomUpper: string;
|
|
394
412
|
modalPaddingBottomLower: string;
|
|
395
413
|
modalTopBarVerticalTextSpacing: string;
|
|
414
|
+
modalBottomBarButtonPaddingY: string;
|
|
396
415
|
selectAssetItemPaddingX: string;
|
|
397
416
|
selectAssetItemPaddingY: string;
|
|
398
417
|
selectAssetItemTextGap: string;
|
|
@@ -405,6 +424,8 @@ export declare const useActiveTheme: () => {
|
|
|
405
424
|
txSummaryLineItemPadding: string;
|
|
406
425
|
txSummaryDividerMarginX: string;
|
|
407
426
|
txSummaryDividerMarginY: string;
|
|
427
|
+
youPayYouReceivePaddingLeft: string;
|
|
428
|
+
youPayYouReceivePaddingRight: string;
|
|
408
429
|
youPayYouReceivePaddingY: string;
|
|
409
430
|
};
|
|
410
431
|
textTransforms: {
|
|
@@ -545,9 +566,11 @@ export declare const useActiveTheme: () => {
|
|
|
545
566
|
txSummaryBoxBackground: string;
|
|
546
567
|
txSummaryBoxBorder: string;
|
|
547
568
|
counterRingColor: string;
|
|
569
|
+
cryptoCashToggleContainerBorderColor: string;
|
|
548
570
|
};
|
|
549
571
|
dimensions: {
|
|
550
572
|
connectExchangeIconSize: string;
|
|
573
|
+
cryptoCashToggleIconSize: string;
|
|
551
574
|
dollarValueSkeletonHeight: string;
|
|
552
575
|
dollarValueSkeletonWidth: string;
|
|
553
576
|
inputAmountQuickOptionButtonHeight: string;
|
|
@@ -558,6 +581,7 @@ export declare const useActiveTheme: () => {
|
|
|
558
581
|
paymentAmountSkeletonBlockHeight: string;
|
|
559
582
|
paymentAmountSkeletonBlockWidth: string;
|
|
560
583
|
paymentAmountSkeletonCircleSize: string;
|
|
584
|
+
paymentMethodItemIconSize: string;
|
|
561
585
|
selectAssetItemIconSize: string;
|
|
562
586
|
txBreakdownSkeletonWidth: string;
|
|
563
587
|
txSummaryLineSkeletonHeight: string;
|
|
@@ -580,6 +604,7 @@ export declare const useActiveTheme: () => {
|
|
|
580
604
|
semibold: string;
|
|
581
605
|
bold: string;
|
|
582
606
|
heavy: string;
|
|
607
|
+
cryptoCashToggle: string;
|
|
583
608
|
inputAmount: string;
|
|
584
609
|
modalTopbarTitle: string;
|
|
585
610
|
modalBottomBarButtonText: string;
|
|
@@ -593,6 +618,7 @@ export declare const useActiveTheme: () => {
|
|
|
593
618
|
txStatusTitle: string;
|
|
594
619
|
txSummaryLabel: string;
|
|
595
620
|
txSummaryValue: string;
|
|
621
|
+
sourceListSectionLabelFontWeight: string;
|
|
596
622
|
};
|
|
597
623
|
fontSize: {
|
|
598
624
|
'10': {
|
|
@@ -639,6 +665,10 @@ export declare const useActiveTheme: () => {
|
|
|
639
665
|
fontSize: string;
|
|
640
666
|
lineHeight: string;
|
|
641
667
|
};
|
|
668
|
+
cryptoCashToggle: {
|
|
669
|
+
fontSize: string;
|
|
670
|
+
lineHeight: string;
|
|
671
|
+
};
|
|
642
672
|
'header-14': {
|
|
643
673
|
fontSize: string;
|
|
644
674
|
lineHeight: string;
|
|
@@ -739,6 +769,10 @@ export declare const useActiveTheme: () => {
|
|
|
739
769
|
fontSize: string;
|
|
740
770
|
lineHeight: string;
|
|
741
771
|
};
|
|
772
|
+
sourceListSectionLabelFontSize: {
|
|
773
|
+
fontSize: string;
|
|
774
|
+
lineHeight: string;
|
|
775
|
+
};
|
|
742
776
|
};
|
|
743
777
|
radii: {
|
|
744
778
|
actionButton: string;
|
|
@@ -762,6 +796,7 @@ export declare const useActiveTheme: () => {
|
|
|
762
796
|
borderWidths: {
|
|
763
797
|
activeOptionBorderWidth: string;
|
|
764
798
|
buttonTertiaryBorderWidth: string;
|
|
799
|
+
cryptoCashToggleContainerBorderWidth: string;
|
|
765
800
|
txSummaryBoxBorderWidth: string;
|
|
766
801
|
};
|
|
767
802
|
shadows: {
|
|
@@ -793,11 +828,16 @@ export declare const useActiveTheme: () => {
|
|
|
793
828
|
spacing: {
|
|
794
829
|
confirmationStepMarginTop: string;
|
|
795
830
|
confirmationStepVerticalGap: string;
|
|
831
|
+
cryptoCashToggleContainerPadding: string;
|
|
832
|
+
cryptoCashToggleMarginBottom: string;
|
|
833
|
+
cryptoCashToggleMarginTop: string;
|
|
834
|
+
cryptoCashToggleTabPaddingY: string;
|
|
796
835
|
modalBaseHorizontalPadding: string;
|
|
797
836
|
modalBottomHorizontalPadding: string;
|
|
798
837
|
modalPaddingBottomUpper: string;
|
|
799
838
|
modalPaddingBottomLower: string;
|
|
800
839
|
modalTopBarVerticalTextSpacing: string;
|
|
840
|
+
modalBottomBarButtonPaddingY: string;
|
|
801
841
|
selectAssetItemPaddingX: string;
|
|
802
842
|
selectAssetItemPaddingY: string;
|
|
803
843
|
selectAssetItemTextGap: string;
|
|
@@ -810,6 +850,8 @@ export declare const useActiveTheme: () => {
|
|
|
810
850
|
txSummaryLineItemPadding: string;
|
|
811
851
|
txSummaryDividerMarginX: string;
|
|
812
852
|
txSummaryDividerMarginY: string;
|
|
853
|
+
youPayYouReceivePaddingLeft: string;
|
|
854
|
+
youPayYouReceivePaddingRight: string;
|
|
813
855
|
youPayYouReceivePaddingY: string;
|
|
814
856
|
};
|
|
815
857
|
textTransforms: {
|
|
@@ -948,9 +990,11 @@ export declare const useActiveTheme: () => {
|
|
|
948
990
|
txSummaryBoxBackground: string;
|
|
949
991
|
txSummaryBoxBorder: string;
|
|
950
992
|
counterRingColor: string;
|
|
993
|
+
cryptoCashToggleContainerBorderColor: string;
|
|
951
994
|
};
|
|
952
995
|
dimensions: {
|
|
953
996
|
connectExchangeIconSize: string;
|
|
997
|
+
cryptoCashToggleIconSize: string;
|
|
954
998
|
dollarValueSkeletonHeight: string;
|
|
955
999
|
dollarValueSkeletonWidth: string;
|
|
956
1000
|
inputAmountQuickOptionButtonHeight: string;
|
|
@@ -961,6 +1005,7 @@ export declare const useActiveTheme: () => {
|
|
|
961
1005
|
paymentAmountSkeletonBlockHeight: string;
|
|
962
1006
|
paymentAmountSkeletonBlockWidth: string;
|
|
963
1007
|
paymentAmountSkeletonCircleSize: string;
|
|
1008
|
+
paymentMethodItemIconSize: string;
|
|
964
1009
|
selectAssetItemIconSize: string;
|
|
965
1010
|
txBreakdownSkeletonWidth: string;
|
|
966
1011
|
txSummaryLineSkeletonHeight: string;
|
|
@@ -983,6 +1028,7 @@ export declare const useActiveTheme: () => {
|
|
|
983
1028
|
semibold: string;
|
|
984
1029
|
bold: string;
|
|
985
1030
|
heavy: string;
|
|
1031
|
+
cryptoCashToggle: string;
|
|
986
1032
|
inputAmount: string;
|
|
987
1033
|
modalTopbarTitle: string;
|
|
988
1034
|
modalBottomBarButtonText: string;
|
|
@@ -996,6 +1042,7 @@ export declare const useActiveTheme: () => {
|
|
|
996
1042
|
txStatusTitle: string;
|
|
997
1043
|
txSummaryLabel: string;
|
|
998
1044
|
txSummaryValue: string;
|
|
1045
|
+
sourceListSectionLabelFontWeight: string;
|
|
999
1046
|
};
|
|
1000
1047
|
fontSize: {
|
|
1001
1048
|
'10': {
|
|
@@ -1042,6 +1089,10 @@ export declare const useActiveTheme: () => {
|
|
|
1042
1089
|
fontSize: string;
|
|
1043
1090
|
lineHeight: string;
|
|
1044
1091
|
};
|
|
1092
|
+
cryptoCashToggle: {
|
|
1093
|
+
fontSize: string;
|
|
1094
|
+
lineHeight: string;
|
|
1095
|
+
};
|
|
1045
1096
|
'header-14': {
|
|
1046
1097
|
fontSize: string;
|
|
1047
1098
|
lineHeight: string;
|
|
@@ -1142,6 +1193,10 @@ export declare const useActiveTheme: () => {
|
|
|
1142
1193
|
fontSize: string;
|
|
1143
1194
|
lineHeight: string;
|
|
1144
1195
|
};
|
|
1196
|
+
sourceListSectionLabelFontSize: {
|
|
1197
|
+
fontSize: string;
|
|
1198
|
+
lineHeight: string;
|
|
1199
|
+
};
|
|
1145
1200
|
};
|
|
1146
1201
|
radii: {
|
|
1147
1202
|
actionButton: string;
|
|
@@ -1165,6 +1220,7 @@ export declare const useActiveTheme: () => {
|
|
|
1165
1220
|
borderWidths: {
|
|
1166
1221
|
activeOptionBorderWidth: string;
|
|
1167
1222
|
buttonTertiaryBorderWidth: string;
|
|
1223
|
+
cryptoCashToggleContainerBorderWidth: string;
|
|
1168
1224
|
txSummaryBoxBorderWidth: string;
|
|
1169
1225
|
};
|
|
1170
1226
|
shadows: {
|
|
@@ -1196,11 +1252,16 @@ export declare const useActiveTheme: () => {
|
|
|
1196
1252
|
spacing: {
|
|
1197
1253
|
confirmationStepMarginTop: string;
|
|
1198
1254
|
confirmationStepVerticalGap: string;
|
|
1255
|
+
cryptoCashToggleContainerPadding: string;
|
|
1256
|
+
cryptoCashToggleMarginBottom: string;
|
|
1257
|
+
cryptoCashToggleMarginTop: string;
|
|
1258
|
+
cryptoCashToggleTabPaddingY: string;
|
|
1199
1259
|
modalBaseHorizontalPadding: string;
|
|
1200
1260
|
modalBottomHorizontalPadding: string;
|
|
1201
1261
|
modalPaddingBottomUpper: string;
|
|
1202
1262
|
modalPaddingBottomLower: string;
|
|
1203
1263
|
modalTopBarVerticalTextSpacing: string;
|
|
1264
|
+
modalBottomBarButtonPaddingY: string;
|
|
1204
1265
|
selectAssetItemPaddingX: string;
|
|
1205
1266
|
selectAssetItemPaddingY: string;
|
|
1206
1267
|
selectAssetItemTextGap: string;
|
|
@@ -1213,6 +1274,8 @@ export declare const useActiveTheme: () => {
|
|
|
1213
1274
|
txSummaryLineItemPadding: string;
|
|
1214
1275
|
txSummaryDividerMarginX: string;
|
|
1215
1276
|
txSummaryDividerMarginY: string;
|
|
1277
|
+
youPayYouReceivePaddingLeft: string;
|
|
1278
|
+
youPayYouReceivePaddingRight: string;
|
|
1216
1279
|
youPayYouReceivePaddingY: string;
|
|
1217
1280
|
};
|
|
1218
1281
|
textTransforms: {
|
package/dist/themes/baseTheme.js
CHANGED
package/dist/themes/darkTheme.js
CHANGED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CheckoutQuoteResponse } from '@funkit/utils';
|
|
2
|
+
export declare const ACROSS_TIME_ESTIMATE_SECONDS = 180;
|
|
3
|
+
export declare const ACROSS_DELAYED_AUTO_TRIGGER_CUTOFF: number;
|
|
4
|
+
/** Whether the quote was routed through the Across bridge (e.g. CCTP) */
|
|
5
|
+
export declare function isAcrossRoute(metadata: CheckoutQuoteResponse['metadata'] | undefined): boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CheckoutQuoteResponse } from '@funkit/utils';
|
|
2
|
+
import type { FunkitCheckoutConfig } from '../providers/FunkitCheckoutContext';
|
|
3
|
+
export declare const DEFAULT_TX_DELAYED_CUTOFF = 60;
|
|
4
|
+
/**
|
|
5
|
+
* Returns the delayed auto trigger cutoff (in seconds) for slow deposits.
|
|
6
|
+
* Handles Lighter L1, LayerZero OFT, and Across (CCTP) routes.
|
|
7
|
+
* Falls back to {@link DEFAULT_TX_DELAYED_CUTOFF} for standard deposits.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getSlowDepositDelayedCutoff(apiKey: string, checkoutConfig: Pick<FunkitCheckoutConfig, 'targetChain'> | undefined, metadata?: CheckoutQuoteResponse['metadata']): number;
|
|
@@ -3,6 +3,22 @@ import type { WalletClient } from 'viem';
|
|
|
3
3
|
export declare function getDirectExecutionCreatedTimeMs(directExecution: DirectExecution): number;
|
|
4
4
|
export declare function getDirectExecutionUpdatedTimeMs(directExecution: DirectExecution): number;
|
|
5
5
|
export declare function getDirectExecutionRunTimeSeconds(directExecution: DirectExecution): number;
|
|
6
|
+
/**
|
|
7
|
+
* Resolves the completion transaction chain, hash, and explorer URL for a direct execution.
|
|
8
|
+
*
|
|
9
|
+
* Chain resolution: if LayerZero OFT data is present, use the LZ destination chain;
|
|
10
|
+
* otherwise fall back to the DE's toChainId.
|
|
11
|
+
*
|
|
12
|
+
* Hash resolution: for Lighter L1 deposits (new user flow where toChainId is NOT Lighter),
|
|
13
|
+
* the completion explorer should point to Lighter using lighterExecutionStatusResponse.hash.
|
|
14
|
+
* For the existing user flow (toChainId IS Lighter), relay already puts the correct
|
|
15
|
+
* Lighter hash into listenerInfo.txHashes, so the default path works.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getCompletionTxInfo(directExecution: DirectExecution): {
|
|
18
|
+
chainId: string;
|
|
19
|
+
txHash: string | undefined;
|
|
20
|
+
customRedirectUrl: string | undefined;
|
|
21
|
+
};
|
|
6
22
|
export declare function supportsAtomicBatch(wallet: WalletClient, chainId: number): Promise<boolean>;
|
|
7
23
|
/**
|
|
8
24
|
* Returns a proxied wallet with getCapabilities patched to disable atomic batch support.
|
|
@@ -205,7 +205,7 @@ export declare const flagConfig: {
|
|
|
205
205
|
readonly if_any: [{
|
|
206
206
|
readonly key: "apiKey";
|
|
207
207
|
readonly type: "isAnyOf";
|
|
208
|
-
readonly values: ["6TUi99Tq3O9MWj1IFX8Pv6spmPXzcvhy9NvBoeW2", "clDebbfo9edXq1GydZ0CahSAfSimPj616lFa9p8e", "57G91zNoew4nYxIoqSCpS1vWr8JT3gGVasNqMwgG", "M3uox3cw0u8YCPV9cIREA6AugUMvPFTk6qOpm4um", "lI7amueGK94QtGa7sGGVf8n0XhIcn4sHFAZRu5Jj", "cGlmpTmNh657m8TiV5RFdwna6FG5pxM6ajiNHvw3", "USyZhcp7kB2mMsbRsaHDs3i52cE6srZw8KD8jZd0", "ODW4jUppoG3H87YcY9GZhoGj4hX5W0w9mr24LEU8", "pLQBJsA6zS9tg990rbdBD6UdABkWRv5O60vlrVcW", "lUzTaIRxs95iin3pCAafB1ChA5akBiuQ1tjhXnau", "di9ZSqn1Ya68Y2XpBPUV1rCtNGXh8Xe5MGWzb1Xe", "53OWivH0fK2VIAuMZTycr52EnSEnPWj97Jy3Dpiz", "AH7lRIhbsL167nptv6eub9xDJXVHnYUm2vL7FLjK", "1cRIX8XoWP801OILra02i13IJ08IARBP5B6ydcnp", "i6e1I8cfX625TTwRJlD2DshKyAoaUtO8aeoaR4i2", "2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc", "SMbBD7DS9b3EPcyBVg4a8az1rRWR9xB068chHoUN", "wQDLu86Qab61vbtru7thf8Yj0xaeqVUH4ohoXESu", "Y53dikxXdT4E3afI1l8BMBSWgyhKvf65k6Dut1k6", "iMTsSsgDdI2FC0FjeEejS9LMxuJgDhFO3OHlwVjT", "HKHvPSPDezaxsTohFgDuG4WpKW6hB4SFYyztm9vc", "5UzOrcAE2F3rcuMX2EeIlaYv5VUcDe6Lyh0PeZX2"];
|
|
208
|
+
readonly values: ["6TUi99Tq3O9MWj1IFX8Pv6spmPXzcvhy9NvBoeW2", "clDebbfo9edXq1GydZ0CahSAfSimPj616lFa9p8e", "57G91zNoew4nYxIoqSCpS1vWr8JT3gGVasNqMwgG", "M3uox3cw0u8YCPV9cIREA6AugUMvPFTk6qOpm4um", "lI7amueGK94QtGa7sGGVf8n0XhIcn4sHFAZRu5Jj", "cGlmpTmNh657m8TiV5RFdwna6FG5pxM6ajiNHvw3", "USyZhcp7kB2mMsbRsaHDs3i52cE6srZw8KD8jZd0", "vte0gvTFGH7hPyPED46oV8TyJlyE8p6D7Q73TSx0", "ODW4jUppoG3H87YcY9GZhoGj4hX5W0w9mr24LEU8", "pLQBJsA6zS9tg990rbdBD6UdABkWRv5O60vlrVcW", "lUzTaIRxs95iin3pCAafB1ChA5akBiuQ1tjhXnau", "di9ZSqn1Ya68Y2XpBPUV1rCtNGXh8Xe5MGWzb1Xe", "53OWivH0fK2VIAuMZTycr52EnSEnPWj97Jy3Dpiz", "AH7lRIhbsL167nptv6eub9xDJXVHnYUm2vL7FLjK", "1cRIX8XoWP801OILra02i13IJ08IARBP5B6ydcnp", "i6e1I8cfX625TTwRJlD2DshKyAoaUtO8aeoaR4i2", "2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc", "SMbBD7DS9b3EPcyBVg4a8az1rRWR9xB068chHoUN", "wQDLu86Qab61vbtru7thf8Yj0xaeqVUH4ohoXESu", "Y53dikxXdT4E3afI1l8BMBSWgyhKvf65k6Dut1k6", "iMTsSsgDdI2FC0FjeEejS9LMxuJgDhFO3OHlwVjT", "HKHvPSPDezaxsTohFgDuG4WpKW6hB4SFYyztm9vc", "5UzOrcAE2F3rcuMX2EeIlaYv5VUcDe6Lyh0PeZX2"];
|
|
209
209
|
}];
|
|
210
210
|
readonly value: true;
|
|
211
211
|
}];
|
|
@@ -224,7 +224,7 @@ export declare const flagConfig: {
|
|
|
224
224
|
readonly if_any: [{
|
|
225
225
|
readonly key: "apiKey";
|
|
226
226
|
readonly type: "isAnyOf";
|
|
227
|
-
readonly values: ["6TUi99Tq3O9MWj1IFX8Pv6spmPXzcvhy9NvBoeW2", "clDebbfo9edXq1GydZ0CahSAfSimPj616lFa9p8e", "Tkp90bAf246UQXfou5uHY9UHN7AUV6xK1tgEWKke", "57G91zNoew4nYxIoqSCpS1vWr8JT3gGVasNqMwgG", "M3uox3cw0u8YCPV9cIREA6AugUMvPFTk6qOpm4um", "cGlmpTmNh657m8TiV5RFdwna6FG5pxM6ajiNHvw3", "USyZhcp7kB2mMsbRsaHDs3i52cE6srZw8KD8jZd0", "ODW4jUppoG3H87YcY9GZhoGj4hX5W0w9mr24LEU8", "pLQBJsA6zS9tg990rbdBD6UdABkWRv5O60vlrVcW", "lUzTaIRxs95iin3pCAafB1ChA5akBiuQ1tjhXnau", "53OWivH0fK2VIAuMZTycr52EnSEnPWj97Jy3Dpiz", "AH7lRIhbsL167nptv6eub9xDJXVHnYUm2vL7FLjK", "TY2G63jFfd7H29aHiJIzg5RqdXNdog2Q5jgb8tr7", "i6e1I8cfX625TTwRJlD2DshKyAoaUtO8aeoaR4i2", "1cRIX8XoWP801OILra02i13IJ08IARBP5B6ydcnp", "2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc", "SMbBD7DS9b3EPcyBVg4a8az1rRWR9xB068chHoUN", "Y53dikxXdT4E3afI1l8BMBSWgyhKvf65k6Dut1k6", "wQDLu86Qab61vbtru7thf8Yj0xaeqVUH4ohoXESu", "iMTsSsgDdI2FC0FjeEejS9LMxuJgDhFO3OHlwVjT", "HKHvPSPDezaxsTohFgDuG4WpKW6hB4SFYyztm9vc", "5UzOrcAE2F3rcuMX2EeIlaYv5VUcDe6Lyh0PeZX2"];
|
|
227
|
+
readonly values: ["6TUi99Tq3O9MWj1IFX8Pv6spmPXzcvhy9NvBoeW2", "clDebbfo9edXq1GydZ0CahSAfSimPj616lFa9p8e", "Tkp90bAf246UQXfou5uHY9UHN7AUV6xK1tgEWKke", "57G91zNoew4nYxIoqSCpS1vWr8JT3gGVasNqMwgG", "M3uox3cw0u8YCPV9cIREA6AugUMvPFTk6qOpm4um", "cGlmpTmNh657m8TiV5RFdwna6FG5pxM6ajiNHvw3", "USyZhcp7kB2mMsbRsaHDs3i52cE6srZw8KD8jZd0", "vte0gvTFGH7hPyPED46oV8TyJlyE8p6D7Q73TSx0", "ODW4jUppoG3H87YcY9GZhoGj4hX5W0w9mr24LEU8", "pLQBJsA6zS9tg990rbdBD6UdABkWRv5O60vlrVcW", "lUzTaIRxs95iin3pCAafB1ChA5akBiuQ1tjhXnau", "53OWivH0fK2VIAuMZTycr52EnSEnPWj97Jy3Dpiz", "AH7lRIhbsL167nptv6eub9xDJXVHnYUm2vL7FLjK", "TY2G63jFfd7H29aHiJIzg5RqdXNdog2Q5jgb8tr7", "i6e1I8cfX625TTwRJlD2DshKyAoaUtO8aeoaR4i2", "1cRIX8XoWP801OILra02i13IJ08IARBP5B6ydcnp", "2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc", "SMbBD7DS9b3EPcyBVg4a8az1rRWR9xB068chHoUN", "Y53dikxXdT4E3afI1l8BMBSWgyhKvf65k6Dut1k6", "wQDLu86Qab61vbtru7thf8Yj0xaeqVUH4ohoXESu", "iMTsSsgDdI2FC0FjeEejS9LMxuJgDhFO3OHlwVjT", "HKHvPSPDezaxsTohFgDuG4WpKW6hB4SFYyztm9vc", "5UzOrcAE2F3rcuMX2EeIlaYv5VUcDe6Lyh0PeZX2"];
|
|
228
228
|
}];
|
|
229
229
|
readonly value: true;
|
|
230
230
|
}, {
|
package/dist/utils/lighter.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Address } from 'viem';
|
|
2
2
|
export declare const LIGHTER_DEPOSIT_ADDRESS: Address;
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const LIGHTER_SLOW_DEPOSIT_TIME_ESTIMATE_SECONDS: number;
|
|
4
4
|
export declare const LIGHTER_DELAYED_AUTO_TRIGGER_CUTOFF: number;
|
|
5
5
|
export declare const LIGHTER_DYNAMIC_ROUTING_ID: {
|
|
6
6
|
ETH_SPOT: string;
|
|
@@ -14,5 +14,3 @@ export declare const LIGHTER_DYNAMIC_ROUTING_ID: {
|
|
|
14
14
|
LDO_SPOT_NEW_USER: string;
|
|
15
15
|
LIT_SPOT_NEW_USER: string;
|
|
16
16
|
};
|
|
17
|
-
export declare const getLighterRoutingIdByTokenAddress: (address: Address) => string | undefined;
|
|
18
|
-
export declare const getLighterTokenAddressByRoutingId: (id: string) => Address | undefined;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sanitizes a CSS string for injection into a `<style>` tag.
|
|
3
|
+
* Prevents breakout from the style element via `</style>` injection.
|
|
4
|
+
* This is defense-in-depth — cssStringFromTheme already strips
|
|
5
|
+
* `<`, `>`, `/` from theme values.
|
|
6
|
+
*/
|
|
7
|
+
export declare function sanitizeCssStyleContent(css: string): string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates that a URL uses a safe protocol (http: or https:) and
|
|
3
|
+
* returns it, or returns undefined if the URL is invalid/unsafe.
|
|
4
|
+
*/
|
|
5
|
+
export declare function sanitizeUrl(url: string | undefined | null): string | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Sanitizes a URL for use in CSS url() context by validating the protocol
|
|
8
|
+
* and percent-encoding characters that could break out of url('...').
|
|
9
|
+
*/
|
|
10
|
+
export declare function sanitizeCssUrl(url: string | undefined | null): string | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { DynamicTargetAssetCandidate } from '../providers/FunkitCheckoutContext';
|
|
2
|
-
export declare const getTokenIconUrl: (symbol: string, tokens?: DynamicTargetAssetCandidate[]) => string
|
|
2
|
+
export declare const getTokenIconUrl: (symbol: string, tokens?: DynamicTargetAssetCandidate[]) => string;
|