@funkit/connect 9.6.1 → 9.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/__generated__/default_configs.d.ts +8 -4
  3. package/dist/__generated__/default_feature_gates.d.ts +6 -1
  4. package/dist/{chunk-VLAOBEJN.js → chunk-76E6MOLR.js} +1 -0
  5. package/dist/{chunk-S65TG73G.js → chunk-AVVB5AIE.js} +1 -0
  6. package/dist/clients/fanatics.css +3381 -3318
  7. package/dist/clients/fanatics.js +2 -2
  8. package/dist/clients/polymarket.d.ts +0 -1
  9. package/dist/clients/polymarket.js +0 -2
  10. package/dist/components/Box/Box.d.ts +21 -21
  11. package/dist/components/FunPayments/FunPaymentMethods.d.ts +8 -4
  12. package/dist/components/SwappedIframeSkeleton.d.ts +7 -0
  13. package/dist/css/sprinkles.css.d.ts +23 -21
  14. package/dist/domains/quoteMode/gasEstimate.d.ts +2 -8
  15. package/dist/domains/quoteMode/index.d.ts +1 -1
  16. package/dist/hooks/queries/useFops.d.ts +4 -0
  17. package/dist/hooks/queries/useHasSavedFops.d.ts +2 -0
  18. package/dist/hooks/track/CheckoutModalEvent.d.ts +3 -1
  19. package/dist/hooks/useIsUserUnderComplianceReview.d.ts +1 -0
  20. package/dist/hooks/useSwappedIframeLifecycle.d.ts +12 -0
  21. package/dist/index.css +3381 -3318
  22. package/dist/index.js +5281 -4894
  23. package/dist/modals/CheckoutModal/InputAmount/state.d.ts +3 -1
  24. package/dist/modals/CheckoutModal/SourceChange/ComplianceReviewBanner.d.ts +6 -0
  25. package/dist/modals/CheckoutModal/SourceChange/ConnectedSource.d.ts +2 -1
  26. package/dist/modals/CheckoutModal/SourceChange/FormOfPaymentsList.d.ts +2 -1
  27. package/dist/modals/CheckoutModal/SwappedIframe/{SwappedIframeContainer.d.ts → SwappedIframeController.d.ts} +1 -1
  28. package/dist/modals/CheckoutModal/SwappedIframe/index.d.ts +1 -1
  29. package/dist/modals/CheckoutModal/TransferToken/DirectExecutionNotification.d.ts +10 -0
  30. package/dist/providers/FunkitThemeProvider.d.ts +3 -0
  31. package/dist/providers/SwappedProvider.d.ts +0 -11
  32. package/dist/themes/darkTheme.js +1 -1
  33. package/dist/themes/lightTheme.js +1 -1
  34. package/dist/utils/customer.d.ts +213 -0
  35. package/dist/utils/directExecution.d.ts +9 -1
  36. package/dist/utils/flags/config.d.ts +8 -1
  37. package/dist/utils/safeBigInt.d.ts +5 -0
  38. package/dist/utils/swapped.d.ts +2 -0
  39. package/dist/wallets/walletConnectors/index.js +22 -22
  40. package/package.json +5 -5
@@ -34,6 +34,8 @@ export interface AmountInputInitOptions {
34
34
  isNativeToken: boolean;
35
35
  /** Current gas price in wei (for native token gas buffer calculation) */
36
36
  gasPriceWei: bigint | null;
37
+ /** Gas-unit buffer reserved for the checkout tx (from Statsig dynamic config) */
38
+ gasUnits: bigint;
37
39
  }
38
40
  export interface AmountInputState {
39
41
  /** Current amount, in target asset. Undefined if input is empty */
@@ -137,6 +139,6 @@ export type AmountInputError = {
137
139
  * Return half the balance and round up to nearest 10, 100, 1000 etc
138
140
  */
139
141
  export declare function calcInitialFiatAmount(balance: number): number;
140
- export declare function initializeState({ checkoutConfig, defaultAmount, fiatCurrency, quoteBuilder, locale, maxUsd, minUsd, paymentMethodInfo, quickOptions, sourceHolding, unitPrice: realUnitPrice, meldEnabled, defaultAssetAmount, defaultIsInputInFiat, isNativeToken, gasPriceWei, }: AmountInputInitOptions): AmountInputState;
142
+ export declare function initializeState({ checkoutConfig, defaultAmount, fiatCurrency, quoteBuilder, locale, maxUsd, minUsd, paymentMethodInfo, quickOptions, sourceHolding, unitPrice: realUnitPrice, meldEnabled, defaultAssetAmount, defaultIsInputInFiat, isNativeToken, gasPriceWei, gasUnits, }: AmountInputInitOptions): AmountInputState;
141
143
  export declare function reduceState(state: AmountInputState, action: AmountInputAction): AmountInputState;
142
144
  export declare function getDerivedState(state: AmountInputState, targetAssetTicker: string): AmountInputDerivedState;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface ComplianceReviewBannerProps {
3
+ checkoutId: string;
4
+ }
5
+ export declare function ComplianceReviewBanner({ checkoutId, }: ComplianceReviewBannerProps): React.JSX.Element;
6
+ export {};
@@ -6,6 +6,7 @@ interface ConnectedSourceProps {
6
6
  selectedPaymentInfo: ConnectablePaymentMethodInfo | null;
7
7
  showSelectedCheckmark?: boolean;
8
8
  onSelect: () => void;
9
+ isDisabled?: boolean;
9
10
  }
10
- export declare const ConnectedSource: ({ paymentInfo, targetChainId, selectedPaymentInfo, showSelectedCheckmark, onSelect, }: ConnectedSourceProps) => React.JSX.Element | null;
11
+ export declare const ConnectedSource: ({ paymentInfo, targetChainId, selectedPaymentInfo, showSelectedCheckmark, onSelect, isDisabled, }: ConnectedSourceProps) => React.JSX.Element | null;
11
12
  export {};
@@ -7,6 +7,7 @@ interface FormOfPaymentsListProps {
7
7
  onFopSelect: (fop: SwappedFormOfPayment) => void;
8
8
  exchangeRatesData?: ExchangeRates;
9
9
  enableSourceGroupLabels: boolean;
10
+ isDisabled?: boolean;
10
11
  }
11
12
  interface FormOfPaymentSection {
12
13
  items: SwappedFormOfPayment[];
@@ -16,5 +17,5 @@ export declare function getFormOfPaymentSections(fopsData: GetFopsResponse, fopP
16
17
  primary: FormOfPaymentSection;
17
18
  secondary: FormOfPaymentSection;
18
19
  };
19
- export declare function FormOfPaymentsList({ fopsData, isLoading, selectedFop, onFopSelect, exchangeRatesData, enableSourceGroupLabels, }: FormOfPaymentsListProps): React.JSX.Element;
20
+ export declare function FormOfPaymentsList({ fopsData, isLoading, selectedFop, onFopSelect, exchangeRatesData, enableSourceGroupLabels, isDisabled, }: FormOfPaymentsListProps): React.JSX.Element;
20
21
  export {};
@@ -14,4 +14,4 @@ export type SwappedIframeNext = {
14
14
  success?: boolean;
15
15
  };
16
16
  export declare const SwappedIframeInfo: ModalStepInfo<FunCheckoutStep.SWAPPED_IFRAME>;
17
- export declare function SwappedIframeContainer({ modalState, onBack, onClose, setModalState, }: ModalStepComponentProps<FunCheckoutStep.SWAPPED_IFRAME>): React.JSX.Element;
17
+ export declare function SwappedIframeController({ modalState, onBack, onClose, setModalState, }: ModalStepComponentProps<FunCheckoutStep.SWAPPED_IFRAME>): React.JSX.Element;
@@ -1 +1 @@
1
- export { SwappedIframeContainer, SwappedIframeInfo, type SwappedIframeNext, type SwappedIframeState, } from './SwappedIframeContainer';
1
+ export { SwappedIframeController, SwappedIframeInfo, type SwappedIframeNext, type SwappedIframeState, } from './SwappedIframeController';
@@ -1,3 +1,4 @@
1
+ import type { TFunction } from 'i18next';
1
2
  import React from 'react';
2
3
  import type { Address } from 'viem';
3
4
  import type { MergedMultiStepDirectExecution } from '../../../hooks/queries/useRecentDeposits';
@@ -6,5 +7,14 @@ interface DirectExecutionNotificationProps {
6
7
  onClose: (id: string) => void;
7
8
  onHelp: (depositAddress: Address) => void;
8
9
  }
10
+ export declare const getNotificationProcessingConfig: ({ t, isFasterNotificationsEnabled, isLighter, isSyntheticDE, }: {
11
+ t: TFunction;
12
+ isFasterNotificationsEnabled: boolean;
13
+ isLighter: boolean;
14
+ isSyntheticDE: boolean;
15
+ }) => {
16
+ title: string;
17
+ description: string;
18
+ };
9
19
  export declare const DirectExecutionNotification: ({ directExecution, onClose, onHelp, }: DirectExecutionNotificationProps) => React.JSX.Element;
10
20
  export {};
@@ -46,6 +46,7 @@ export declare const useActiveTheme: () => {
46
46
  mediumStroke: string;
47
47
  heavyStroke: string;
48
48
  strokeColor: string;
49
+ secondaryBackground: string;
49
50
  modalTopbarIcon: string;
50
51
  modalTopbarIconBackground: string;
51
52
  modalTopbarIconBackgroundHover: string;
@@ -570,6 +571,7 @@ export declare const useActiveTheme: () => {
570
571
  mediumStroke: string;
571
572
  heavyStroke: string;
572
573
  strokeColor: string;
574
+ secondaryBackground: string;
573
575
  modalTopbarIcon: string;
574
576
  modalTopbarIconBackground: string;
575
577
  modalTopbarIconBackgroundHover: string;
@@ -1092,6 +1094,7 @@ export declare const useActiveTheme: () => {
1092
1094
  mediumStroke: string;
1093
1095
  heavyStroke: string;
1094
1096
  strokeColor: string;
1097
+ secondaryBackground: string;
1095
1098
  modalTopbarIcon: string;
1096
1099
  modalTopbarIconBackground: string;
1097
1100
  modalTopbarIconBackgroundHover: string;
@@ -1,16 +1,6 @@
1
1
  import { type FormOfPaymentType } from '@funkit/api-base';
2
2
  import React from 'react';
3
3
  import { type SwappedTheme } from '../utils/swapped';
4
- export interface SwappedIframeCallbacks {
5
- onBack: () => void;
6
- onExit: () => void;
7
- onNewDeposit: () => void;
8
- onError: (data: Record<string, unknown>) => void;
9
- onNavigation: (step: string) => void;
10
- onOrderData: (data: Record<string, unknown>) => void;
11
- onSuccess: (data: Record<string, unknown>) => void;
12
- onLogout: () => void;
13
- }
14
4
  interface SwappedContextValue {
15
5
  iframeUrl: string | null;
16
6
  isSwappedReady: boolean;
@@ -20,7 +10,6 @@ interface SwappedContextValue {
20
10
  deactivateIframe: () => void;
21
11
  resetIframe: () => void;
22
12
  setIframeRef: (el: HTMLIFrameElement | null) => void;
23
- setActiveCallbacks: (cb: SwappedIframeCallbacks | null) => void;
24
13
  focusAmountInput: () => void;
25
14
  swappedTheme: SwappedTheme;
26
15
  }
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  darkTheme
4
- } from "../chunk-S65TG73G.js";
4
+ } from "../chunk-AVVB5AIE.js";
5
5
  import "../chunk-O35RTEEF.js";
6
6
  export {
7
7
  darkTheme
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  lightTheme
4
- } from "../chunk-VLAOBEJN.js";
4
+ } from "../chunk-76E6MOLR.js";
5
5
  import "../chunk-O35RTEEF.js";
6
6
  export {
7
7
  lightTheme
@@ -1,3 +1,4 @@
1
+ import type { LighterAccountIndex } from '@funkit/api-base';
1
2
  import type { Address } from 'viem';
2
3
  export type LighterSubAccount = {
3
4
  code: number;
@@ -18,6 +19,218 @@ export type LighterAccountsByL1AddressResponse = {
18
19
  sub_accounts: LighterSubAccount[];
19
20
  };
20
21
  export declare function getLighterAccountsByL1Address(address: Address): Promise<LighterAccountsByL1AddressResponse>;
22
+ export type LighterAsset = {
23
+ symbol: string;
24
+ asset_id: number;
25
+ balance: string;
26
+ locked_balance: string;
27
+ };
28
+ export type LighterAccount = {
29
+ code: number;
30
+ account_type: number;
31
+ index: number;
32
+ l1_address: Address;
33
+ cancel_all_time: number;
34
+ total_order_count: number;
35
+ total_isolated_order_count: number;
36
+ pending_order_count: number;
37
+ available_balance: string;
38
+ status: number;
39
+ collateral: string;
40
+ transaction_time: number;
41
+ account_trading_mode: number;
42
+ account_index: number;
43
+ name: string;
44
+ description: string;
45
+ can_invite: boolean;
46
+ referral_points_percentage: string;
47
+ can_rfq: boolean;
48
+ created_at: number;
49
+ positions: unknown[];
50
+ assets: LighterAsset[];
51
+ total_asset_value: string;
52
+ cross_asset_value: string;
53
+ shares: unknown[];
54
+ pending_unlocks: unknown[];
55
+ };
56
+ export type LighterAccountResponse = {
57
+ code: number;
58
+ total: number;
59
+ accounts: LighterAccount[];
60
+ };
61
+ export type LighterAccountLookup = {
62
+ by: 'index';
63
+ value: LighterAccountIndex;
64
+ } | {
65
+ by: 'l1_address';
66
+ value: Address;
67
+ };
68
+ export declare function getLighterAccount(lookup: LighterAccountLookup, activeOnly?: boolean): Promise<LighterAccountResponse>;
69
+ export declare function useLighterAccount(lookup: LighterAccountLookup | null, options?: {
70
+ activeOnly?: boolean;
71
+ }): {
72
+ account: LighterAccount | undefined;
73
+ data: LighterAccountResponse;
74
+ error: Error;
75
+ isError: true;
76
+ isPending: false;
77
+ isLoading: false;
78
+ isLoadingError: false;
79
+ isRefetchError: true;
80
+ isSuccess: false;
81
+ isPlaceholderData: false;
82
+ status: "error";
83
+ dataUpdatedAt: number;
84
+ errorUpdatedAt: number;
85
+ failureCount: number;
86
+ failureReason: Error | null;
87
+ errorUpdateCount: number;
88
+ isFetched: boolean;
89
+ isFetchedAfterMount: boolean;
90
+ isFetching: boolean;
91
+ isInitialLoading: boolean;
92
+ isPaused: boolean;
93
+ isRefetching: boolean;
94
+ isStale: boolean;
95
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<LighterAccountResponse, Error>>;
96
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
97
+ promise: Promise<LighterAccountResponse>;
98
+ } | {
99
+ account: LighterAccount | undefined;
100
+ data: LighterAccountResponse;
101
+ error: null;
102
+ isError: false;
103
+ isPending: false;
104
+ isLoading: false;
105
+ isLoadingError: false;
106
+ isRefetchError: false;
107
+ isSuccess: true;
108
+ isPlaceholderData: false;
109
+ status: "success";
110
+ dataUpdatedAt: number;
111
+ errorUpdatedAt: number;
112
+ failureCount: number;
113
+ failureReason: Error | null;
114
+ errorUpdateCount: number;
115
+ isFetched: boolean;
116
+ isFetchedAfterMount: boolean;
117
+ isFetching: boolean;
118
+ isInitialLoading: boolean;
119
+ isPaused: boolean;
120
+ isRefetching: boolean;
121
+ isStale: boolean;
122
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<LighterAccountResponse, Error>>;
123
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
124
+ promise: Promise<LighterAccountResponse>;
125
+ } | {
126
+ account: LighterAccount | undefined;
127
+ data: undefined;
128
+ error: Error;
129
+ isError: true;
130
+ isPending: false;
131
+ isLoading: false;
132
+ isLoadingError: true;
133
+ isRefetchError: false;
134
+ isSuccess: false;
135
+ isPlaceholderData: false;
136
+ status: "error";
137
+ dataUpdatedAt: number;
138
+ errorUpdatedAt: number;
139
+ failureCount: number;
140
+ failureReason: Error | null;
141
+ errorUpdateCount: number;
142
+ isFetched: boolean;
143
+ isFetchedAfterMount: boolean;
144
+ isFetching: boolean;
145
+ isInitialLoading: boolean;
146
+ isPaused: boolean;
147
+ isRefetching: boolean;
148
+ isStale: boolean;
149
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<LighterAccountResponse, Error>>;
150
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
151
+ promise: Promise<LighterAccountResponse>;
152
+ } | {
153
+ account: LighterAccount | undefined;
154
+ data: undefined;
155
+ error: null;
156
+ isError: false;
157
+ isPending: true;
158
+ isLoading: true;
159
+ isLoadingError: false;
160
+ isRefetchError: false;
161
+ isSuccess: false;
162
+ isPlaceholderData: false;
163
+ status: "pending";
164
+ dataUpdatedAt: number;
165
+ errorUpdatedAt: number;
166
+ failureCount: number;
167
+ failureReason: Error | null;
168
+ errorUpdateCount: number;
169
+ isFetched: boolean;
170
+ isFetchedAfterMount: boolean;
171
+ isFetching: boolean;
172
+ isInitialLoading: boolean;
173
+ isPaused: boolean;
174
+ isRefetching: boolean;
175
+ isStale: boolean;
176
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<LighterAccountResponse, Error>>;
177
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
178
+ promise: Promise<LighterAccountResponse>;
179
+ } | {
180
+ account: LighterAccount | undefined;
181
+ data: undefined;
182
+ error: null;
183
+ isError: false;
184
+ isPending: true;
185
+ isLoadingError: false;
186
+ isRefetchError: false;
187
+ isSuccess: false;
188
+ isPlaceholderData: false;
189
+ status: "pending";
190
+ dataUpdatedAt: number;
191
+ errorUpdatedAt: number;
192
+ failureCount: number;
193
+ failureReason: Error | null;
194
+ errorUpdateCount: number;
195
+ isFetched: boolean;
196
+ isFetchedAfterMount: boolean;
197
+ isFetching: boolean;
198
+ isLoading: boolean;
199
+ isInitialLoading: boolean;
200
+ isPaused: boolean;
201
+ isRefetching: boolean;
202
+ isStale: boolean;
203
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<LighterAccountResponse, Error>>;
204
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
205
+ promise: Promise<LighterAccountResponse>;
206
+ } | {
207
+ account: LighterAccount | undefined;
208
+ data: LighterAccountResponse;
209
+ isError: false;
210
+ error: null;
211
+ isPending: false;
212
+ isLoading: false;
213
+ isLoadingError: false;
214
+ isRefetchError: false;
215
+ isSuccess: true;
216
+ isPlaceholderData: true;
217
+ status: "success";
218
+ dataUpdatedAt: number;
219
+ errorUpdatedAt: number;
220
+ failureCount: number;
221
+ failureReason: Error | null;
222
+ errorUpdateCount: number;
223
+ isFetched: boolean;
224
+ isFetchedAfterMount: boolean;
225
+ isFetching: boolean;
226
+ isInitialLoading: boolean;
227
+ isPaused: boolean;
228
+ isRefetching: boolean;
229
+ isStale: boolean;
230
+ refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<LighterAccountResponse, Error>>;
231
+ fetchStatus: import("@tanstack/react-query").FetchStatus;
232
+ promise: Promise<LighterAccountResponse>;
233
+ };
21
234
  export declare function useLighterAccounts({ address, }: {
22
235
  address: Address | '' | undefined;
23
236
  }): {
@@ -1,7 +1,16 @@
1
1
  import type { DirectExecution } from '@funkit/api-base';
2
2
  import type { WalletClient } from 'viem';
3
+ import type { MergedMultiStepDirectExecution } from '../hooks/queries/useRecentDeposits';
3
4
  export declare function getDirectExecutionCreatedTimeMs(directExecution: DirectExecution): number;
4
5
  export declare function getDirectExecutionUpdatedTimeMs(directExecution: DirectExecution): number;
6
+ /**
7
+ * Unique key for a DE notification record, stable between synthetic and real record.
8
+ *
9
+ * When a synthetic deposit-detection DE is replaced by the real DE, the txHash
10
+ * changes but triggeringTxHash stays the same. Preferring triggeringTxHash keeps
11
+ * the identity stable across that swap, avoiding a flash/remount of the notification.
12
+ */
13
+ export declare function getDirectExecutionNotificationKey(item: MergedMultiStepDirectExecution): string;
5
14
  export declare function getDirectExecutionRunTimeSeconds(directExecution: DirectExecution): number;
6
15
  /**
7
16
  * Resolves the completion transaction chain, hash, and explorer URL for a direct execution.
@@ -19,7 +28,6 @@ export declare function getCompletionTxInfo(directExecution: DirectExecution): {
19
28
  txHash: string | undefined;
20
29
  customRedirectUrl: string | undefined;
21
30
  };
22
- export declare function supportsAtomicBatch(wallet: WalletClient, chainId: number): Promise<boolean>;
23
31
  /**
24
32
  * Returns a proxied wallet with getCapabilities patched to disable atomic batch support.
25
33
  * This forces Relay to use sequential transactions instead of batched ones.
@@ -111,6 +111,13 @@ export declare const flagConfig: {
111
111
  readonly values: ["5UzOrcAE2F3rcuMX2EeIlaYv5VUcDe6Lyh0PeZX2"];
112
112
  }];
113
113
  readonly value: string;
114
+ }, {
115
+ readonly if_any: [{
116
+ readonly key: "apiKey";
117
+ readonly type: "isAnyOf";
118
+ readonly values: ["57G91zNoew4nYxIoqSCpS1vWr8JT3gGVasNqMwgG"];
119
+ }];
120
+ readonly value: string;
114
121
  }];
115
122
  };
116
123
  readonly withdrawal_chains_and_assets: {
@@ -252,7 +259,7 @@ export declare const flagConfig: {
252
259
  readonly if_any: [{
253
260
  readonly key: "apiKey";
254
261
  readonly type: "isAnyOf";
255
- readonly values: ["6TUi99Tq3O9MWj1IFX8Pv6spmPXzcvhy9NvBoeW2", "clDebbfo9edXq1GydZ0CahSAfSimPj616lFa9p8e", "Tkp90bAf246UQXfou5uHY9UHN7AUV6xK1tgEWKke", "57G91zNoew4nYxIoqSCpS1vWr8JT3gGVasNqMwgG", "M3uox3cw0u8YCPV9cIREA6AugUMvPFTk6qOpm4um", "cGlmpTmNh657m8TiV5RFdwna6FG5pxM6ajiNHvw3", "USyZhcp7kB2mMsbRsaHDs3i52cE6srZw8KD8jZd0", "vte0gvTFGH7hPyPED46oV8TyJlyE8p6D7Q73TSx0", "ODW4jUppoG3H87YcY9GZhoGj4hX5W0w9mr24LEU8", "pLQBJsA6zS9tg990rbdBD6UdABkWRv5O60vlrVcW", "53OWivH0fK2VIAuMZTycr52EnSEnPWj97Jy3Dpiz", "AH7lRIhbsL167nptv6eub9xDJXVHnYUm2vL7FLjK", "TY2G63jFfd7H29aHiJIzg5RqdXNdog2Q5jgb8tr7", "i6e1I8cfX625TTwRJlD2DshKyAoaUtO8aeoaR4i2", "1cRIX8XoWP801OILra02i13IJ08IARBP5B6ydcnp", "2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc", "SMbBD7DS9b3EPcyBVg4a8az1rRWR9xB068chHoUN", "Y53dikxXdT4E3afI1l8BMBSWgyhKvf65k6Dut1k6", "wQDLu86Qab61vbtru7thf8Yj0xaeqVUH4ohoXESu", "iMTsSsgDdI2FC0FjeEejS9LMxuJgDhFO3OHlwVjT", "HKHvPSPDezaxsTohFgDuG4WpKW6hB4SFYyztm9vc", "5UzOrcAE2F3rcuMX2EeIlaYv5VUcDe6Lyh0PeZX2"];
262
+ readonly values: ["6TUi99Tq3O9MWj1IFX8Pv6spmPXzcvhy9NvBoeW2", "clDebbfo9edXq1GydZ0CahSAfSimPj616lFa9p8e", "SLFrOWqgUK3XO8kVN11Is8QBXX9VnNjh3kKsCwy6", "57G91zNoew4nYxIoqSCpS1vWr8JT3gGVasNqMwgG", "M3uox3cw0u8YCPV9cIREA6AugUMvPFTk6qOpm4um", "cGlmpTmNh657m8TiV5RFdwna6FG5pxM6ajiNHvw3", "USyZhcp7kB2mMsbRsaHDs3i52cE6srZw8KD8jZd0", "vte0gvTFGH7hPyPED46oV8TyJlyE8p6D7Q73TSx0", "ODW4jUppoG3H87YcY9GZhoGj4hX5W0w9mr24LEU8", "pLQBJsA6zS9tg990rbdBD6UdABkWRv5O60vlrVcW", "53OWivH0fK2VIAuMZTycr52EnSEnPWj97Jy3Dpiz", "AH7lRIhbsL167nptv6eub9xDJXVHnYUm2vL7FLjK", "TY2G63jFfd7H29aHiJIzg5RqdXNdog2Q5jgb8tr7", "i6e1I8cfX625TTwRJlD2DshKyAoaUtO8aeoaR4i2", "1cRIX8XoWP801OILra02i13IJ08IARBP5B6ydcnp", "2hicPxo2vy2NMHcg2cEU9crOeKtDpc14NEfMCthc", "SMbBD7DS9b3EPcyBVg4a8az1rRWR9xB068chHoUN", "Y53dikxXdT4E3afI1l8BMBSWgyhKvf65k6Dut1k6", "wQDLu86Qab61vbtru7thf8Yj0xaeqVUH4ohoXESu", "iMTsSsgDdI2FC0FjeEejS9LMxuJgDhFO3OHlwVjT", "HKHvPSPDezaxsTohFgDuG4WpKW6hB4SFYyztm9vc", "5UzOrcAE2F3rcuMX2EeIlaYv5VUcDe6Lyh0PeZX2"];
256
263
  }];
257
264
  readonly value: true;
258
265
  }, {
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Convert a value to bigint without throwing. Accepts bigint, integer number,
3
+ * or an integer-valued string. Anything else returns the fallback.
4
+ */
5
+ export declare function safeBigInt(value: unknown, fallback: bigint): bigint;
@@ -27,6 +27,8 @@ export interface SwappedTheme {
27
27
  boxPaddingY?: string;
28
28
  boxPaddingX?: string;
29
29
  paymentMethodLightLogos?: boolean;
30
+ topbarPaddingX?: string;
31
+ topbarPaddingY?: string;
30
32
  }
31
33
  export declare const SWAPPED_CARD_BRANDS: Record<string, {
32
34
  displayName: string;
@@ -1,10 +1,10 @@
1
1
  "use client";
2
- import {
3
- zealWallet
4
- } from "./chunk-A5EZBNME.js";
5
2
  import {
6
3
  zerionWallet
7
4
  } from "./chunk-UFYNHHDU.js";
5
+ import {
6
+ zealWallet
7
+ } from "./chunk-A5EZBNME.js";
8
8
  import {
9
9
  tahoWallet
10
10
  } from "./chunk-KS5MJNGD.js";
@@ -77,21 +77,21 @@ import {
77
77
  import {
78
78
  phantomWallet
79
79
  } from "./chunk-57GN4W23.js";
80
+ import {
81
+ foxWallet
82
+ } from "./chunk-YGMU5VWD.js";
80
83
  import {
81
84
  frameWallet
82
85
  } from "./chunk-MTJIPVYB.js";
83
- import {
84
- frontierWallet
85
- } from "./chunk-J3PJOMO7.js";
86
86
  import {
87
87
  gateWallet
88
88
  } from "./chunk-LEAZMT5Y.js";
89
+ import {
90
+ frontierWallet
91
+ } from "./chunk-J3PJOMO7.js";
89
92
  import {
90
93
  imTokenWallet
91
94
  } from "./chunk-BWLMNATA.js";
92
- import {
93
- dawnWallet
94
- } from "./chunk-PARFRRNI.js";
95
95
  import {
96
96
  injectedWallet
97
97
  } from "./chunk-HPUEYLLS.js";
@@ -104,27 +104,30 @@ import {
104
104
  import {
105
105
  clvWallet
106
106
  } from "./chunk-3ZJN3PXP.js";
107
- import {
108
- bitskiWallet
109
- } from "./chunk-Y36HPFB3.js";
110
107
  import {
111
108
  coin98Wallet
112
109
  } from "./chunk-RZQ4B4Z7.js";
110
+ import {
111
+ coinbaseWallet
112
+ } from "./chunk-OUM6H3WU.js";
113
+ import {
114
+ bloomWallet
115
+ } from "./chunk-S6R4B763.js";
113
116
  import {
114
117
  coreWallet
115
118
  } from "./chunk-55VS2NKG.js";
119
+ import {
120
+ dawnWallet
121
+ } from "./chunk-PARFRRNI.js";
116
122
  import {
117
123
  desigWallet
118
124
  } from "./chunk-TNVLCMJD.js";
119
- import {
120
- coinbaseWallet
121
- } from "./chunk-OUM6H3WU.js";
122
125
  import {
123
126
  enkryptWallet
124
127
  } from "./chunk-2DKNXOPL.js";
125
128
  import {
126
- foxWallet
127
- } from "./chunk-YGMU5VWD.js";
129
+ argentWallet
130
+ } from "./chunk-XTD6OMZP.js";
128
131
  import {
129
132
  bifrostWallet
130
133
  } from "./chunk-OD6B2ISG.js";
@@ -132,14 +135,11 @@ import {
132
135
  bitgetWallet
133
136
  } from "./chunk-IMNI4AGV.js";
134
137
  import {
135
- argentWallet
136
- } from "./chunk-XTD6OMZP.js";
138
+ bitskiWallet
139
+ } from "./chunk-Y36HPFB3.js";
137
140
  import {
138
141
  bitverseWallet
139
142
  } from "./chunk-RZH4FSX7.js";
140
- import {
141
- bloomWallet
142
- } from "./chunk-S6R4B763.js";
143
143
  import {
144
144
  braveWallet
145
145
  } from "./chunk-XVH4JIXB.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@funkit/connect",
3
- "version": "9.6.1",
3
+ "version": "9.7.1",
4
4
  "description": "Funkit Connect SDK elevates DeFi apps via web2 sign-ins and one-click checkouts.",
5
5
  "files": [
6
6
  "dist",
@@ -104,10 +104,10 @@
104
104
  "ua-parser-js": "^1.0.37",
105
105
  "use-debounce": "^10.0.5",
106
106
  "uuid": "^9.0.1",
107
- "@funkit/api-base": "4.0.0",
108
- "@funkit/fun-relay": "2.6.5",
109
- "@funkit/utils": "2.0.0",
110
- "@funkit/chains": "1.1.2"
107
+ "@funkit/api-base": "4.1.1",
108
+ "@funkit/chains": "1.1.2",
109
+ "@funkit/fun-relay": "2.6.6",
110
+ "@funkit/utils": "2.0.0"
111
111
  },
112
112
  "repository": {
113
113
  "type": "git",