@swype-org/react-sdk 0.2.372 → 0.2.375

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.cts CHANGED
@@ -814,6 +814,25 @@ declare function BlinkPayment(props: BlinkPaymentProps): react_jsx_runtime.JSX.E
814
814
 
815
815
  /** True when a USD balance would render above `$0.00` at two-decimal precision. */
816
816
  declare function isVisibleUsdAmountAtTwoDecimals(amount: number): boolean;
817
+ /**
818
+ * A native gas-asset row (ETH, MON, SOL, …) the wallet holds but Permit2 /
819
+ * SPL delegate cannot authorize. Rendered as a dimmed, unselectable "Not
820
+ * supported" row on the Link Token screen with a native-unit balance.
821
+ */
822
+ interface NativeUnsupportedEntry {
823
+ tokenSymbol: string;
824
+ chainName: string;
825
+ /** Native amount (e.g. 0.7 for 0.7 SOL). */
826
+ amount: number;
827
+ /** Server-provided token logo URI (Relay CDN), if configured. */
828
+ logoURI?: string | null;
829
+ }
830
+ /**
831
+ * Maps SELECT_SOURCE `nativeUnsupportedOptions` to display rows. Unlike
832
+ * {@link buildSelectSourceChoices}, this does NOT apply the USD-min filter —
833
+ * the balance is a native amount, not USD — and only drops zero balances.
834
+ */
835
+ declare function buildNativeUnsupportedEntries(options: SourceOption[]): NativeUnsupportedEntry[];
817
836
  interface SelectSourceChainChoice {
818
837
  chainName: string;
819
838
  balance: number;
@@ -1744,6 +1763,8 @@ interface StepRendererDerivedProps {
1744
1763
  selectSourceChoices: SelectSourceChainChoice[];
1745
1764
  /** Balances on chains the WalletConnect session did not approve — rendered as disabled "Not supported" rows. */
1746
1765
  selectSourceUnsupportedChoices: SelectSourceChainChoice[];
1766
+ /** Native gas assets (ETH, MON, SOL, …) the wallet holds but Permit2 can't authorize — disabled "Not supported" rows. */
1767
+ selectSourceNativeChoices: NativeUnsupportedEntry[];
1747
1768
  selectSourceRecommended: {
1748
1769
  chainName: string;
1749
1770
  tokenSymbol: string;
@@ -2308,8 +2329,21 @@ interface LinkTokenEntry {
2308
2329
  * chain (missing from both the session's approved chains and the Reown
2309
2330
  * registry). Renders the "Not supported, deposit manually" pill and makes
2310
2331
  * the row unselectable.
2332
+ *
2333
+ * Also set for native gas assets (ETH, MON, SOL, …) that Permit2 / SPL
2334
+ * delegate cannot authorize — see `balanceLabel` / `tokenLogoUri` below.
2311
2335
  */
2312
2336
  notSupported?: boolean;
2337
+ /**
2338
+ * Server-provided token logo URI (Relay CDN). Used for native gas-asset
2339
+ * rows; supported stablecoins fall back to the bundled `TOKEN_LOGOS` map.
2340
+ */
2341
+ tokenLogoUri?: string | null;
2342
+ /**
2343
+ * Preformatted native-unit balance (e.g. "0.7 SOL"). When set, it renders
2344
+ * verbatim on the right instead of the `$X.XX` USD figure.
2345
+ */
2346
+ balanceLabel?: string;
2313
2347
  }
2314
2348
  interface LinkTokensScreenProps {
2315
2349
  entries: LinkTokenEntry[];
@@ -2721,6 +2755,14 @@ interface GuestTokenPickerScreenProps {
2721
2755
  }
2722
2756
  declare function GuestTokenPickerScreen({ entries, loading, bridgePhase, error, pendingEntry, onSelect, onConfirm, onBack, oneTapEnabled, onToggleOneTap, oneTapLimit, onSetOneTapLimit, variant, closeListOnSelect, emptyMessage, }: GuestTokenPickerScreenProps): react_jsx_runtime.JSX.Element;
2723
2757
 
2758
+ /**
2759
+ * Formats a native-asset amount for display (e.g. `0.7`, `1.2345`, `12.5`).
2760
+ * Caps at `maxDecimals` significant fraction digits and trims trailing zeros
2761
+ * so balances stay compact. Sub-threshold dust renders as `< 0.0001` rather
2762
+ * than a misleading `0`.
2763
+ */
2764
+ declare function formatNativeAmount(value: number, maxDecimals?: number): string;
2765
+
2724
2766
  declare function isTerminalTransferStatus(status: string): boolean;
2725
2767
  /**
2726
2768
  * True when reducer `transfer` should keep the processing screen until a terminal status.
@@ -2821,4 +2863,4 @@ declare function clearDebugEntries(): void;
2821
2863
  */
2822
2864
  declare function useBlinkDebugLog(): DebugEntry[];
2823
2865
 
2824
- export { ACCOUNT_SWITCH_CONFLICT_MESSAGE, type Account, type ActionExecutionResult, type AdvancedSettings, AdvancedSourceScreen, type Amount, ApprovingInWalletScreen, type ApprovingInWalletScreenProps, type AuthorizationAction, type AuthorizationSession, AuthorizationSessionCancelledError, type AuthorizationSessionDetail, BLINK_ERROR_ILLUSTRATION, BLINK_LOGO, BLINK_MASCOT, BLINK_PASSKEY_ILLUSTRATION, BLINK_SUCCESS_ILLUSTRATION, BlinkDepositButton, BlinkErrorScreen, BlinkInitialLoadingScreen, BlinkLoadingScreen, BlinkPayment, type BlinkPaymentProps, BlinkProvider, type BlinkProviderProps, type Chain, ConfirmSignScreen, type DebugEntry, type DebugLevel, DepositCompleteScreen, DepositOptionsScreen, DepositScreen, DepositTransferStatusScreen, type Destination, type ErrorResponse, type ExecutionResult, type GuestTokenEntry, type GuestTokenPickerRawRow, GuestTokenPickerScreen, IconCircle, InfoBanner, LOGIN_KEY_ILLUSTRATION, type LinkTokenEntry, LinkTokensScreen, type ListResponse, LoginScreen, ManualTransferPasskeyScreen, type MerchantAuthorization, type MerchantPublicKey, type MobileFlowState, OpenWalletScreen, type OrchestratorResult, type OrchestratorRunOptions, OtpVerifyScreen, OutlineButton, PasskeyIframeBlockedError, PasskeyPopupWelcomeScreen, PasskeyScreen, type PaymentPhase, type PaymentState, PoweredByFooter, type PreciseMoney, PrimaryButton, type Provider, ScreenHeader, ScreenLayout, type ScreenName, SecondaryButton, SelectDepositSourceScreen, SelectSourceScreen, SettingsMenu, type SetupTokenOption, type SolanaAccountSwitchDeps, type SourceOption, type SourceSelection, type SourceType, Spinner, type StepHandlers, type StepItem, StepList, StepRenderer, type StepRendererDerivedProps, type StepRendererFlowProps, type StepRendererFormProps, type StepRendererProps, type StepRendererRemoteProps, SuccessScreen, type ThemeMode, type ThemeTokens, type TokenBalance, TokenPickerScreen, type Transfer, type TransferDestination, type TransferPhase, type UseAuthorizationExecutorResult, type UseAuthorizationOrchestratorResult, type UserConfig, VerifyPasskeyScreen, type Wallet, type WalletAccountChange, type WalletAccountSwitchResult, type WalletCapabilities, type WalletCapabilitiesDebugSnapshot, type WalletDeeplink, WalletPickerScreen, type WalletSource, type WalletToken, WelcomeBackScreen, appendDebug, api as blinkApi, clearDebugEntries, createInitialState, credentialIdBase64ToBytes, darkTheme, darkThemeNew, darkTransparentTheme, darkTransparentThemeNew, deviceHasPasskey, encodePermit2ApproveCalldata, findDevicePasskey, findDevicePasskeyViaPopup, getAtomicBatchSupportDebugInfo, getDebugEntries, getDeviceBiometricUnlockText, getTheme, getThemeBase, getWalletCapabilities, isAuthorizationSessionCancelled, isExpectedAuthorizationCancellation, isTerminalTransferStatus, isTransferAwaitingCompletion, isTransparentTheme, isUserDismissedAuthorizationError, isVisibleUsdAmountAtTwoDecimals, lightTheme, lightThemeNew, lightTransparentTheme, lightTransparentThemeNew, mapGuestPickerEntries, replaceOpenProviderForAccountSwitch, resolvePasskeyRpId, screenForPhase, subscribeDebug, supportsAtomicBatch, supportsPaymasterService, useAuthorizationExecutor, useAuthorizationOrchestrator, useBlinkConfig, useBlinkDebugLog, useBlinkDepositAmount, useSolanaAccountSwitchEffect, useTransferPolling, useTransferSigning };
2866
+ export { ACCOUNT_SWITCH_CONFLICT_MESSAGE, type Account, type ActionExecutionResult, type AdvancedSettings, AdvancedSourceScreen, type Amount, ApprovingInWalletScreen, type ApprovingInWalletScreenProps, type AuthorizationAction, type AuthorizationSession, AuthorizationSessionCancelledError, type AuthorizationSessionDetail, BLINK_ERROR_ILLUSTRATION, BLINK_LOGO, BLINK_MASCOT, BLINK_PASSKEY_ILLUSTRATION, BLINK_SUCCESS_ILLUSTRATION, BlinkDepositButton, BlinkErrorScreen, BlinkInitialLoadingScreen, BlinkLoadingScreen, BlinkPayment, type BlinkPaymentProps, BlinkProvider, type BlinkProviderProps, type Chain, ConfirmSignScreen, type DebugEntry, type DebugLevel, DepositCompleteScreen, DepositOptionsScreen, DepositScreen, DepositTransferStatusScreen, type Destination, type ErrorResponse, type ExecutionResult, type GuestTokenEntry, type GuestTokenPickerRawRow, GuestTokenPickerScreen, IconCircle, InfoBanner, LOGIN_KEY_ILLUSTRATION, type LinkTokenEntry, LinkTokensScreen, type ListResponse, LoginScreen, ManualTransferPasskeyScreen, type MerchantAuthorization, type MerchantPublicKey, type MobileFlowState, type NativeUnsupportedEntry, OpenWalletScreen, type OrchestratorResult, type OrchestratorRunOptions, OtpVerifyScreen, OutlineButton, PasskeyIframeBlockedError, PasskeyPopupWelcomeScreen, PasskeyScreen, type PaymentPhase, type PaymentState, PoweredByFooter, type PreciseMoney, PrimaryButton, type Provider, ScreenHeader, ScreenLayout, type ScreenName, SecondaryButton, SelectDepositSourceScreen, SelectSourceScreen, SettingsMenu, type SetupTokenOption, type SolanaAccountSwitchDeps, type SourceOption, type SourceSelection, type SourceType, Spinner, type StepHandlers, type StepItem, StepList, StepRenderer, type StepRendererDerivedProps, type StepRendererFlowProps, type StepRendererFormProps, type StepRendererProps, type StepRendererRemoteProps, SuccessScreen, type ThemeMode, type ThemeTokens, type TokenBalance, TokenPickerScreen, type Transfer, type TransferDestination, type TransferPhase, type UseAuthorizationExecutorResult, type UseAuthorizationOrchestratorResult, type UserConfig, VerifyPasskeyScreen, type Wallet, type WalletAccountChange, type WalletAccountSwitchResult, type WalletCapabilities, type WalletCapabilitiesDebugSnapshot, type WalletDeeplink, WalletPickerScreen, type WalletSource, type WalletToken, WelcomeBackScreen, appendDebug, api as blinkApi, buildNativeUnsupportedEntries, clearDebugEntries, createInitialState, credentialIdBase64ToBytes, darkTheme, darkThemeNew, darkTransparentTheme, darkTransparentThemeNew, deviceHasPasskey, encodePermit2ApproveCalldata, findDevicePasskey, findDevicePasskeyViaPopup, formatNativeAmount, getAtomicBatchSupportDebugInfo, getDebugEntries, getDeviceBiometricUnlockText, getTheme, getThemeBase, getWalletCapabilities, isAuthorizationSessionCancelled, isExpectedAuthorizationCancellation, isTerminalTransferStatus, isTransferAwaitingCompletion, isTransparentTheme, isUserDismissedAuthorizationError, isVisibleUsdAmountAtTwoDecimals, lightTheme, lightThemeNew, lightTransparentTheme, lightTransparentThemeNew, mapGuestPickerEntries, replaceOpenProviderForAccountSwitch, resolvePasskeyRpId, screenForPhase, subscribeDebug, supportsAtomicBatch, supportsPaymasterService, useAuthorizationExecutor, useAuthorizationOrchestrator, useBlinkConfig, useBlinkDebugLog, useBlinkDepositAmount, useSolanaAccountSwitchEffect, useTransferPolling, useTransferSigning };
package/dist/index.d.ts CHANGED
@@ -814,6 +814,25 @@ declare function BlinkPayment(props: BlinkPaymentProps): react_jsx_runtime.JSX.E
814
814
 
815
815
  /** True when a USD balance would render above `$0.00` at two-decimal precision. */
816
816
  declare function isVisibleUsdAmountAtTwoDecimals(amount: number): boolean;
817
+ /**
818
+ * A native gas-asset row (ETH, MON, SOL, …) the wallet holds but Permit2 /
819
+ * SPL delegate cannot authorize. Rendered as a dimmed, unselectable "Not
820
+ * supported" row on the Link Token screen with a native-unit balance.
821
+ */
822
+ interface NativeUnsupportedEntry {
823
+ tokenSymbol: string;
824
+ chainName: string;
825
+ /** Native amount (e.g. 0.7 for 0.7 SOL). */
826
+ amount: number;
827
+ /** Server-provided token logo URI (Relay CDN), if configured. */
828
+ logoURI?: string | null;
829
+ }
830
+ /**
831
+ * Maps SELECT_SOURCE `nativeUnsupportedOptions` to display rows. Unlike
832
+ * {@link buildSelectSourceChoices}, this does NOT apply the USD-min filter —
833
+ * the balance is a native amount, not USD — and only drops zero balances.
834
+ */
835
+ declare function buildNativeUnsupportedEntries(options: SourceOption[]): NativeUnsupportedEntry[];
817
836
  interface SelectSourceChainChoice {
818
837
  chainName: string;
819
838
  balance: number;
@@ -1744,6 +1763,8 @@ interface StepRendererDerivedProps {
1744
1763
  selectSourceChoices: SelectSourceChainChoice[];
1745
1764
  /** Balances on chains the WalletConnect session did not approve — rendered as disabled "Not supported" rows. */
1746
1765
  selectSourceUnsupportedChoices: SelectSourceChainChoice[];
1766
+ /** Native gas assets (ETH, MON, SOL, …) the wallet holds but Permit2 can't authorize — disabled "Not supported" rows. */
1767
+ selectSourceNativeChoices: NativeUnsupportedEntry[];
1747
1768
  selectSourceRecommended: {
1748
1769
  chainName: string;
1749
1770
  tokenSymbol: string;
@@ -2308,8 +2329,21 @@ interface LinkTokenEntry {
2308
2329
  * chain (missing from both the session's approved chains and the Reown
2309
2330
  * registry). Renders the "Not supported, deposit manually" pill and makes
2310
2331
  * the row unselectable.
2332
+ *
2333
+ * Also set for native gas assets (ETH, MON, SOL, …) that Permit2 / SPL
2334
+ * delegate cannot authorize — see `balanceLabel` / `tokenLogoUri` below.
2311
2335
  */
2312
2336
  notSupported?: boolean;
2337
+ /**
2338
+ * Server-provided token logo URI (Relay CDN). Used for native gas-asset
2339
+ * rows; supported stablecoins fall back to the bundled `TOKEN_LOGOS` map.
2340
+ */
2341
+ tokenLogoUri?: string | null;
2342
+ /**
2343
+ * Preformatted native-unit balance (e.g. "0.7 SOL"). When set, it renders
2344
+ * verbatim on the right instead of the `$X.XX` USD figure.
2345
+ */
2346
+ balanceLabel?: string;
2313
2347
  }
2314
2348
  interface LinkTokensScreenProps {
2315
2349
  entries: LinkTokenEntry[];
@@ -2721,6 +2755,14 @@ interface GuestTokenPickerScreenProps {
2721
2755
  }
2722
2756
  declare function GuestTokenPickerScreen({ entries, loading, bridgePhase, error, pendingEntry, onSelect, onConfirm, onBack, oneTapEnabled, onToggleOneTap, oneTapLimit, onSetOneTapLimit, variant, closeListOnSelect, emptyMessage, }: GuestTokenPickerScreenProps): react_jsx_runtime.JSX.Element;
2723
2757
 
2758
+ /**
2759
+ * Formats a native-asset amount for display (e.g. `0.7`, `1.2345`, `12.5`).
2760
+ * Caps at `maxDecimals` significant fraction digits and trims trailing zeros
2761
+ * so balances stay compact. Sub-threshold dust renders as `< 0.0001` rather
2762
+ * than a misleading `0`.
2763
+ */
2764
+ declare function formatNativeAmount(value: number, maxDecimals?: number): string;
2765
+
2724
2766
  declare function isTerminalTransferStatus(status: string): boolean;
2725
2767
  /**
2726
2768
  * True when reducer `transfer` should keep the processing screen until a terminal status.
@@ -2821,4 +2863,4 @@ declare function clearDebugEntries(): void;
2821
2863
  */
2822
2864
  declare function useBlinkDebugLog(): DebugEntry[];
2823
2865
 
2824
- export { ACCOUNT_SWITCH_CONFLICT_MESSAGE, type Account, type ActionExecutionResult, type AdvancedSettings, AdvancedSourceScreen, type Amount, ApprovingInWalletScreen, type ApprovingInWalletScreenProps, type AuthorizationAction, type AuthorizationSession, AuthorizationSessionCancelledError, type AuthorizationSessionDetail, BLINK_ERROR_ILLUSTRATION, BLINK_LOGO, BLINK_MASCOT, BLINK_PASSKEY_ILLUSTRATION, BLINK_SUCCESS_ILLUSTRATION, BlinkDepositButton, BlinkErrorScreen, BlinkInitialLoadingScreen, BlinkLoadingScreen, BlinkPayment, type BlinkPaymentProps, BlinkProvider, type BlinkProviderProps, type Chain, ConfirmSignScreen, type DebugEntry, type DebugLevel, DepositCompleteScreen, DepositOptionsScreen, DepositScreen, DepositTransferStatusScreen, type Destination, type ErrorResponse, type ExecutionResult, type GuestTokenEntry, type GuestTokenPickerRawRow, GuestTokenPickerScreen, IconCircle, InfoBanner, LOGIN_KEY_ILLUSTRATION, type LinkTokenEntry, LinkTokensScreen, type ListResponse, LoginScreen, ManualTransferPasskeyScreen, type MerchantAuthorization, type MerchantPublicKey, type MobileFlowState, OpenWalletScreen, type OrchestratorResult, type OrchestratorRunOptions, OtpVerifyScreen, OutlineButton, PasskeyIframeBlockedError, PasskeyPopupWelcomeScreen, PasskeyScreen, type PaymentPhase, type PaymentState, PoweredByFooter, type PreciseMoney, PrimaryButton, type Provider, ScreenHeader, ScreenLayout, type ScreenName, SecondaryButton, SelectDepositSourceScreen, SelectSourceScreen, SettingsMenu, type SetupTokenOption, type SolanaAccountSwitchDeps, type SourceOption, type SourceSelection, type SourceType, Spinner, type StepHandlers, type StepItem, StepList, StepRenderer, type StepRendererDerivedProps, type StepRendererFlowProps, type StepRendererFormProps, type StepRendererProps, type StepRendererRemoteProps, SuccessScreen, type ThemeMode, type ThemeTokens, type TokenBalance, TokenPickerScreen, type Transfer, type TransferDestination, type TransferPhase, type UseAuthorizationExecutorResult, type UseAuthorizationOrchestratorResult, type UserConfig, VerifyPasskeyScreen, type Wallet, type WalletAccountChange, type WalletAccountSwitchResult, type WalletCapabilities, type WalletCapabilitiesDebugSnapshot, type WalletDeeplink, WalletPickerScreen, type WalletSource, type WalletToken, WelcomeBackScreen, appendDebug, api as blinkApi, clearDebugEntries, createInitialState, credentialIdBase64ToBytes, darkTheme, darkThemeNew, darkTransparentTheme, darkTransparentThemeNew, deviceHasPasskey, encodePermit2ApproveCalldata, findDevicePasskey, findDevicePasskeyViaPopup, getAtomicBatchSupportDebugInfo, getDebugEntries, getDeviceBiometricUnlockText, getTheme, getThemeBase, getWalletCapabilities, isAuthorizationSessionCancelled, isExpectedAuthorizationCancellation, isTerminalTransferStatus, isTransferAwaitingCompletion, isTransparentTheme, isUserDismissedAuthorizationError, isVisibleUsdAmountAtTwoDecimals, lightTheme, lightThemeNew, lightTransparentTheme, lightTransparentThemeNew, mapGuestPickerEntries, replaceOpenProviderForAccountSwitch, resolvePasskeyRpId, screenForPhase, subscribeDebug, supportsAtomicBatch, supportsPaymasterService, useAuthorizationExecutor, useAuthorizationOrchestrator, useBlinkConfig, useBlinkDebugLog, useBlinkDepositAmount, useSolanaAccountSwitchEffect, useTransferPolling, useTransferSigning };
2866
+ export { ACCOUNT_SWITCH_CONFLICT_MESSAGE, type Account, type ActionExecutionResult, type AdvancedSettings, AdvancedSourceScreen, type Amount, ApprovingInWalletScreen, type ApprovingInWalletScreenProps, type AuthorizationAction, type AuthorizationSession, AuthorizationSessionCancelledError, type AuthorizationSessionDetail, BLINK_ERROR_ILLUSTRATION, BLINK_LOGO, BLINK_MASCOT, BLINK_PASSKEY_ILLUSTRATION, BLINK_SUCCESS_ILLUSTRATION, BlinkDepositButton, BlinkErrorScreen, BlinkInitialLoadingScreen, BlinkLoadingScreen, BlinkPayment, type BlinkPaymentProps, BlinkProvider, type BlinkProviderProps, type Chain, ConfirmSignScreen, type DebugEntry, type DebugLevel, DepositCompleteScreen, DepositOptionsScreen, DepositScreen, DepositTransferStatusScreen, type Destination, type ErrorResponse, type ExecutionResult, type GuestTokenEntry, type GuestTokenPickerRawRow, GuestTokenPickerScreen, IconCircle, InfoBanner, LOGIN_KEY_ILLUSTRATION, type LinkTokenEntry, LinkTokensScreen, type ListResponse, LoginScreen, ManualTransferPasskeyScreen, type MerchantAuthorization, type MerchantPublicKey, type MobileFlowState, type NativeUnsupportedEntry, OpenWalletScreen, type OrchestratorResult, type OrchestratorRunOptions, OtpVerifyScreen, OutlineButton, PasskeyIframeBlockedError, PasskeyPopupWelcomeScreen, PasskeyScreen, type PaymentPhase, type PaymentState, PoweredByFooter, type PreciseMoney, PrimaryButton, type Provider, ScreenHeader, ScreenLayout, type ScreenName, SecondaryButton, SelectDepositSourceScreen, SelectSourceScreen, SettingsMenu, type SetupTokenOption, type SolanaAccountSwitchDeps, type SourceOption, type SourceSelection, type SourceType, Spinner, type StepHandlers, type StepItem, StepList, StepRenderer, type StepRendererDerivedProps, type StepRendererFlowProps, type StepRendererFormProps, type StepRendererProps, type StepRendererRemoteProps, SuccessScreen, type ThemeMode, type ThemeTokens, type TokenBalance, TokenPickerScreen, type Transfer, type TransferDestination, type TransferPhase, type UseAuthorizationExecutorResult, type UseAuthorizationOrchestratorResult, type UserConfig, VerifyPasskeyScreen, type Wallet, type WalletAccountChange, type WalletAccountSwitchResult, type WalletCapabilities, type WalletCapabilitiesDebugSnapshot, type WalletDeeplink, WalletPickerScreen, type WalletSource, type WalletToken, WelcomeBackScreen, appendDebug, api as blinkApi, buildNativeUnsupportedEntries, clearDebugEntries, createInitialState, credentialIdBase64ToBytes, darkTheme, darkThemeNew, darkTransparentTheme, darkTransparentThemeNew, deviceHasPasskey, encodePermit2ApproveCalldata, findDevicePasskey, findDevicePasskeyViaPopup, formatNativeAmount, getAtomicBatchSupportDebugInfo, getDebugEntries, getDeviceBiometricUnlockText, getTheme, getThemeBase, getWalletCapabilities, isAuthorizationSessionCancelled, isExpectedAuthorizationCancellation, isTerminalTransferStatus, isTransferAwaitingCompletion, isTransparentTheme, isUserDismissedAuthorizationError, isVisibleUsdAmountAtTwoDecimals, lightTheme, lightThemeNew, lightTransparentTheme, lightTransparentThemeNew, mapGuestPickerEntries, replaceOpenProviderForAccountSwitch, resolvePasskeyRpId, screenForPhase, subscribeDebug, supportsAtomicBatch, supportsPaymasterService, useAuthorizationExecutor, useAuthorizationOrchestrator, useBlinkConfig, useBlinkDebugLog, useBlinkDepositAmount, useSolanaAccountSwitchEffect, useTransferPolling, useTransferSigning };
package/dist/index.js CHANGED
@@ -499,6 +499,14 @@ function isVisibleUsdAmountAtTwoDecimals(amount) {
499
499
  function isSelectableDepositSourceAmountUsd(amount, minTransferAmountUsd = DEFAULT_MIN_SEND_AMOUNT_USD) {
500
500
  return Number.isFinite(amount) && amount >= minTransferAmountUsd;
501
501
  }
502
+ function buildNativeUnsupportedEntries(options) {
503
+ return options.map((option) => ({
504
+ tokenSymbol: option.tokenSymbol,
505
+ chainName: option.chainName,
506
+ amount: parseRawBalance(option.rawBalance, option.decimals),
507
+ logoURI: option.logoURI ?? null
508
+ })).filter((entry) => entry.amount > 0);
509
+ }
502
510
  function buildSelectSourceChoices(options, minTransferAmountUsd = DEFAULT_MIN_SEND_AMOUNT_USD) {
503
511
  const chainChoices = [];
504
512
  const chainIndexByName = /* @__PURE__ */ new Map();
@@ -992,10 +1000,6 @@ var BLINK_PRIVY_APP_ID = "cmlil87uv004n0ck0blwumwek";
992
1000
  var BLINK_WC_PROJECT_ID = "f6c60234412f94ef9108dc8f67f4362c";
993
1001
  var BLINK_FINGERPRINT_API_KEY = "nr4FvTsZ6M5z2141FqrM";
994
1002
  var BLINK_FINGERPRINT_REGION = "us";
995
- function FingerprintVisitorPing() {
996
- useVisitorData({ immediate: true });
997
- return null;
998
- }
999
1003
  function buildStaticConnectors() {
1000
1004
  const userAgent = typeof navigator === "undefined" ? null : navigator.userAgent;
1001
1005
  return [
@@ -1104,30 +1108,30 @@ function BlinkProvider({
1104
1108
  );
1105
1109
  return (
1106
1110
  // Outermost wrapper: loads the Fingerprint browser agent once per
1107
- // provider mount, independent of wagmi/privy/query state. Visitor data
1108
- // collection starts here; no hook is exposed yet (see SDK barrel).
1109
- /* @__PURE__ */ jsxs(FingerprintProvider, { apiKey: BLINK_FINGERPRINT_API_KEY, region: BLINK_FINGERPRINT_REGION, children: [
1110
- /* @__PURE__ */ jsx(FingerprintVisitorPing, {}),
1111
- /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClientRef.current, children: /* @__PURE__ */ jsx(WagmiProvider, { config: wagmiConfig, reconnectOnMount: false, children: /* @__PURE__ */ jsx(
1112
- PrivyProvider,
1113
- {
1114
- appId: privyAppId ?? BLINK_PRIVY_APP_ID,
1115
- config: {
1116
- appearance: {
1117
- theme: getThemeBase(theme),
1118
- accentColor: getTheme(theme).accent
1119
- },
1120
- intl: {
1121
- defaultCountry: "US"
1122
- },
1123
- embeddedWallets: {
1124
- showWalletUIs: false
1125
- }
1111
+ // provider mount, independent of wagmi/privy/query state. The agent loads
1112
+ // here (including during the hidden preload warm-up), but identification is
1113
+ // deferred to explicit flow events fired from `BlinkPayment` see
1114
+ // `useFingerprintFlowEvents` so a preload that never opens is never
1115
+ // identified.
1116
+ /* @__PURE__ */ jsx(FingerprintProvider, { apiKey: BLINK_FINGERPRINT_API_KEY, region: BLINK_FINGERPRINT_REGION, children: /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClientRef.current, children: /* @__PURE__ */ jsx(WagmiProvider, { config: wagmiConfig, reconnectOnMount: false, children: /* @__PURE__ */ jsx(
1117
+ PrivyProvider,
1118
+ {
1119
+ appId: privyAppId ?? BLINK_PRIVY_APP_ID,
1120
+ config: {
1121
+ appearance: {
1122
+ theme: getThemeBase(theme),
1123
+ accentColor: getTheme(theme).accent
1126
1124
  },
1127
- children: /* @__PURE__ */ jsx(BlinkContext.Provider, { value, children })
1128
- }
1129
- ) }) })
1130
- ] })
1125
+ intl: {
1126
+ defaultCountry: "US"
1127
+ },
1128
+ embeddedWallets: {
1129
+ showWalletUIs: false
1130
+ }
1131
+ },
1132
+ children: /* @__PURE__ */ jsx(BlinkContext.Provider, { value, children })
1133
+ }
1134
+ ) }) }) })
1131
1135
  );
1132
1136
  }
1133
1137
  function useBlinkConfig() {
@@ -9302,6 +9306,7 @@ var TETHER_LOGO = svgToDataUri(TETHER_SVG);
9302
9306
  var USDH_LOGO = svgToDataUri(USDH_SVG);
9303
9307
  var ETH_LOGO = "https://assets.relay.link/icons/currencies/eth.png";
9304
9308
  var SOL_LOGO = "https://assets.relay.link/icons/currencies/sol.png";
9309
+ var MON_LOGO = "https://assets.relay.link/icons/currencies/mon.png";
9305
9310
  var KNOWN_LOGOS = {
9306
9311
  metamask: METAMASK_LOGO,
9307
9312
  base: BASE_LOGO,
@@ -9319,7 +9324,8 @@ var TOKEN_LOGOS = {
9319
9324
  USDM: USDM_LOGO,
9320
9325
  USDH: USDH_LOGO,
9321
9326
  ETH: ETH_LOGO,
9322
- SOL: SOL_LOGO
9327
+ SOL: SOL_LOGO,
9328
+ MON: MON_LOGO
9323
9329
  };
9324
9330
  var CHAIN_LOGOS = {
9325
9331
  base: BASE_CHAIN_LOGO,
@@ -10344,6 +10350,7 @@ function TokenSourceRow({
10344
10350
  chainName,
10345
10351
  tokenLogoUri,
10346
10352
  balance,
10353
+ balanceLabel,
10347
10354
  selected,
10348
10355
  requiresAuth,
10349
10356
  notSupported,
@@ -10352,9 +10359,10 @@ function TokenSourceRow({
10352
10359
  const { tokens } = useBlinkConfig();
10353
10360
  const [hovered, setHovered] = useState(false);
10354
10361
  const tokenLogo = tokenLogoUri ?? TOKEN_LOGOS[symbol];
10362
+ const balanceText = balanceLabel ?? (balance != null ? `$${formatUsdTwoDecimals2(balance)}` : null);
10355
10363
  const ariaLabel = [
10356
10364
  `${symbol} on ${chainName}`,
10357
- balance != null ? `$${formatUsdTwoDecimals2(balance)} balance` : null,
10365
+ balanceText != null ? `${balanceText} balance` : null,
10358
10366
  requiresAuth ? "authorisation required" : null,
10359
10367
  notSupported ? NOT_SUPPORTED_LABEL.toLowerCase() : null
10360
10368
  ].filter(Boolean).join(", ");
@@ -10388,15 +10396,12 @@ function TokenSourceRow({
10388
10396
  selected && /* @__PURE__ */ jsx(SelectedBadge, { accent: tokens.accent, fill: tokens.textInverse })
10389
10397
  ] }),
10390
10398
  /* @__PURE__ */ jsxs("span", { style: textColStyle2, children: [
10391
- notSupported ? /* @__PURE__ */ jsxs("span", { style: symbolLineStyle, children: [
10392
- /* @__PURE__ */ jsx("span", { style: symbolStyle(tokens.textMuted), children: symbol }),
10393
- /* @__PURE__ */ jsx("span", { style: notSupportedTagStyle(tokens.bgInput, tokens.border, tokens.textMuted), children: NOT_SUPPORTED_BADGE_TEXT })
10394
- ] }) : /* @__PURE__ */ jsx("span", { style: symbolStyle(tokens.text), children: symbol }),
10399
+ /* @__PURE__ */ jsx("span", { style: symbolStyle(notSupported ? tokens.textMuted : tokens.text), children: symbol }),
10395
10400
  /* @__PURE__ */ jsx("span", { style: chainStyle(tokens.textMuted), children: chainName })
10396
10401
  ] }),
10397
- balance != null && /* @__PURE__ */ jsxs("span", { style: balanceStyle2(tokens.textMuted), children: [
10398
- "$",
10399
- formatUsdTwoDecimals2(balance)
10402
+ (balanceText != null || notSupported) && /* @__PURE__ */ jsxs("span", { style: balanceColStyle, children: [
10403
+ balanceText != null && /* @__PURE__ */ jsx("span", { style: balanceStyle2(tokens.textMuted), children: balanceText }),
10404
+ notSupported && /* @__PURE__ */ jsx("span", { style: notSupportedTagStyle(tokens.bgInput, tokens.border, tokens.textMuted), children: NOT_SUPPORTED_BADGE_TEXT })
10400
10405
  ] })
10401
10406
  ]
10402
10407
  }
@@ -10505,11 +10510,12 @@ var balanceStyle2 = (color) => ({
10505
10510
  whiteSpace: "nowrap",
10506
10511
  flexShrink: 0
10507
10512
  });
10508
- var symbolLineStyle = {
10513
+ var balanceColStyle = {
10509
10514
  display: "flex",
10510
- alignItems: "center",
10511
- gap: 6,
10512
- minWidth: 0
10515
+ flexDirection: "column",
10516
+ alignItems: "flex-end",
10517
+ gap: 4,
10518
+ flexShrink: 0
10513
10519
  };
10514
10520
  var notSupportedTagStyle = (bg, borderColor, color) => ({
10515
10521
  fontSize: 11,
@@ -13351,7 +13357,7 @@ function LinkTokensScreen({
13351
13357
  }
13352
13358
  ),
13353
13359
  /* @__PURE__ */ jsxs("div", { style: contentStyle10, children: [
13354
- /* @__PURE__ */ jsx("h2", { style: headingStyle7(t.text), children: "Pick your asset for passkey deposits" }),
13360
+ /* @__PURE__ */ jsx("h2", { style: headingStyle7(t.text), children: "Pick your stablecoin for passkey deposits" }),
13355
13361
  /* @__PURE__ */ jsxs("div", { className: "blink-link-tokens-list", style: listCardStyle(t.bgRecessed), children: [
13356
13362
  showShimmer ? Array.from({ length: SHIMMER_ROWS }).map((_, i) => /* @__PURE__ */ jsxs(
13357
13363
  "div",
@@ -13374,7 +13380,9 @@ function LinkTokensScreen({
13374
13380
  {
13375
13381
  symbol: entry.tokenSymbol,
13376
13382
  chainName: entry.chainName,
13377
- balance: entry.balanceUsd,
13383
+ tokenLogoUri: entry.tokenLogoUri,
13384
+ balance: entry.balanceLabel == null ? entry.balanceUsd : void 0,
13385
+ balanceLabel: entry.balanceLabel,
13378
13386
  selected: i === selectedIndex,
13379
13387
  notSupported: entry.notSupported,
13380
13388
  onClick: () => onSelect(i)
@@ -16986,6 +16994,14 @@ var genericStackStyle = {
16986
16994
  gap: 14
16987
16995
  };
16988
16996
 
16997
+ // src/feeFormat.ts
16998
+ function formatNativeAmount(value, maxDecimals = 4) {
16999
+ if (!Number.isFinite(value) || value <= 0) return "0";
17000
+ const rounded = Number(value.toFixed(maxDecimals));
17001
+ if (rounded === 0) return `< ${(10 ** -maxDecimals).toFixed(maxDecimals)}`;
17002
+ return rounded.toLocaleString("en-US", { maximumFractionDigits: maxDecimals }).replace(/,/g, "");
17003
+ }
17004
+
16989
17005
  // src/screenViewModels.ts
16990
17006
  function findSelectedWallet(selectedAccount, selectedWalletId) {
16991
17007
  return selectedAccount?.wallets.find((w) => w.id === selectedWalletId);
@@ -17152,7 +17168,11 @@ function buildLinkTokensScreenProps({
17152
17168
  walletId: rawOption?.walletId,
17153
17169
  tokenAddress: rawOption?.tokenAddress,
17154
17170
  chainId: rawOption?.chainId != null ? Number(rawOption.chainId) : void 0,
17155
- notSupported: false
17171
+ notSupported: false,
17172
+ // Server-provided token logo (token_addresses.logo_uri). The component
17173
+ // falls back to the bundled TOKEN_LOGOS map by symbol, so tokens without
17174
+ // a bundled asset (e.g. CASH) rely on this DB-driven URI.
17175
+ tokenLogoUri: t.logoURI ?? void 0
17156
17176
  };
17157
17177
  })
17158
17178
  );
@@ -17162,19 +17182,32 @@ function buildLinkTokensScreenProps({
17162
17182
  symbol: t.tokenSymbol,
17163
17183
  chainName: chain.chainName,
17164
17184
  balanceUsd: t.balance ?? 0,
17165
- walletId: void 0,
17166
- tokenAddress: void 0,
17167
- chainId: void 0,
17168
- notSupported: true
17185
+ notSupported: true,
17186
+ tokenLogoUri: t.logoURI ?? void 0
17169
17187
  }))
17170
17188
  )
17171
17189
  );
17172
- const entries2 = rowContexts.map(({ symbol, chainName, balanceUsd, notSupported }) => ({
17173
- tokenSymbol: symbol,
17174
- chainName,
17175
- balanceUsd,
17176
- notSupported
17177
- }));
17190
+ rowContexts.push(
17191
+ ...derived.selectSourceNativeChoices.map((native) => ({
17192
+ symbol: native.tokenSymbol,
17193
+ chainName: native.chainName,
17194
+ balanceUsd: 0,
17195
+ notSupported: true,
17196
+ tokenLogoUri: native.logoURI ?? void 0,
17197
+ balanceLabel: `${formatNativeAmount(native.amount)} ${native.tokenSymbol}`
17198
+ }))
17199
+ );
17200
+ const entries2 = rowContexts.map(
17201
+ ({ symbol, chainName, balanceUsd, notSupported, tokenLogoUri, balanceLabel }) => ({
17202
+ tokenSymbol: symbol,
17203
+ chainName,
17204
+ balanceUsd,
17205
+ notSupported,
17206
+ // Only present on native rows — keeps stablecoin / WC entries unchanged.
17207
+ ...tokenLogoUri != null ? { tokenLogoUri } : {},
17208
+ ...balanceLabel != null ? { balanceLabel } : {}
17209
+ })
17210
+ );
17178
17211
  const firstSupportedIndex = rowContexts.findIndex((row) => !row.notSupported);
17179
17212
  const selectedTokenSymbol = flow.state.setupDepositToken?.symbol ?? derived.selectSourceRecommended?.tokenSymbol;
17180
17213
  const selectedChainName = flow.state.setupDepositToken?.chainName ?? derived.selectSourceRecommended?.chainName;
@@ -18177,6 +18210,11 @@ function useSourceSelectionHandlers(_dispatch, orchestrator, options) {
18177
18210
  const unsupportedOptions = pendingSelectSourceAction.metadata?.unsupportedOptions ?? [];
18178
18211
  return buildSelectSourceChoices(unsupportedOptions, minTransferAmountUsd);
18179
18212
  }, [pendingSelectSourceAction, minTransferAmountUsd]);
18213
+ const selectSourceNativeChoices = useMemo(() => {
18214
+ if (!pendingSelectSourceAction) return [];
18215
+ const nativeOptions = pendingSelectSourceAction.metadata?.nativeUnsupportedOptions ?? [];
18216
+ return buildNativeUnsupportedEntries(nativeOptions);
18217
+ }, [pendingSelectSourceAction]);
18180
18218
  const selectSourceRecommended = useMemo(() => {
18181
18219
  if (!pendingSelectSourceAction) return null;
18182
18220
  return pendingSelectSourceAction.metadata?.recommended ?? null;
@@ -18228,6 +18266,7 @@ function useSourceSelectionHandlers(_dispatch, orchestrator, options) {
18228
18266
  setSelectSourceTokenSymbol,
18229
18267
  selectSourceChoices,
18230
18268
  selectSourceUnsupportedChoices,
18269
+ selectSourceNativeChoices,
18231
18270
  selectSourceRecommended,
18232
18271
  selectSourceAvailableBalance,
18233
18272
  handleSelectSourceChainChange,
@@ -20759,6 +20798,33 @@ function usePersistAmountToActiveSession({
20759
20798
  });
20760
20799
  }, [apiBaseUrl, sessionId, effectiveDepositAmount]);
20761
20800
  }
20801
+ function useFingerprintFlowEvents(deps) {
20802
+ const { ready, authenticated, merchantId } = deps;
20803
+ const { getData } = useVisitorData({ immediate: false });
20804
+ const openedSentRef = useRef(false);
20805
+ const authenticatedSentRef = useRef(false);
20806
+ useEffect(() => {
20807
+ if (openedSentRef.current) return;
20808
+ openedSentRef.current = true;
20809
+ void getData({
20810
+ tag: { event: "blink_opened", ...merchantId ? { merchantId } : {} },
20811
+ ...merchantId ? { linkedId: merchantId } : {}
20812
+ }).catch((error) => {
20813
+ console.error("Fingerprint blink_opened event failed", error);
20814
+ });
20815
+ }, [getData, merchantId]);
20816
+ useEffect(() => {
20817
+ if (authenticatedSentRef.current) return;
20818
+ if (!ready || !authenticated) return;
20819
+ authenticatedSentRef.current = true;
20820
+ void getData({
20821
+ tag: { event: "blink_authenticated", ...merchantId ? { merchantId } : {} },
20822
+ ...merchantId ? { linkedId: merchantId } : {}
20823
+ }).catch((error) => {
20824
+ console.error("Fingerprint blink_authenticated event failed", error);
20825
+ });
20826
+ }, [getData, ready, authenticated, merchantId]);
20827
+ }
20762
20828
  var NoMatchingExtensionError = class extends Error {
20763
20829
  constructor() {
20764
20830
  super("No installed EIP-6963 extension matches the selected wallet");
@@ -20797,6 +20863,11 @@ function BlinkPaymentInner({
20797
20863
  return true;
20798
20864
  })();
20799
20865
  const effectiveAuthenticated = authenticated || popupAuthValid;
20866
+ useFingerprintFlowEvents({
20867
+ ready,
20868
+ authenticated: effectiveAuthenticated,
20869
+ merchantId: merchantAuthorization?.merchantId
20870
+ });
20800
20871
  const effectiveGetAccessToken = useCallback(async () => {
20801
20872
  if (popupAuthRef.current) {
20802
20873
  if (isPopupAuthExpired(popupAuthRef.current.accessToken)) {
@@ -21405,6 +21476,7 @@ function BlinkPaymentInner({
21405
21476
  selectedSource: derived.selectedSource,
21406
21477
  selectSourceChoices: sourceSelection.selectSourceChoices,
21407
21478
  selectSourceUnsupportedChoices: sourceSelection.selectSourceUnsupportedChoices,
21479
+ selectSourceNativeChoices: sourceSelection.selectSourceNativeChoices,
21408
21480
  selectSourceRecommended: sourceSelection.selectSourceRecommended,
21409
21481
  selectSourceAvailableBalance: sourceSelection.selectSourceAvailableBalance,
21410
21482
  walletConnectChainIdsByAccount
@@ -21424,6 +21496,6 @@ function BlinkPaymentInner({
21424
21496
  ) });
21425
21497
  }
21426
21498
 
21427
- export { ACCOUNT_SWITCH_CONFLICT_MESSAGE, AdvancedSourceScreen, ApprovingInWalletScreen, AuthorizationSessionCancelledError, BLINK_ERROR_ILLUSTRATION, BLINK_LOGO, BLINK_MASCOT, BLINK_PASSKEY_ILLUSTRATION, BLINK_SUCCESS_ILLUSTRATION, BlinkDepositButton, BlinkErrorScreen, BlinkInitialLoadingScreen, BlinkLoadingScreen, BlinkPayment, BlinkProvider, ConfirmSignScreen, DepositCompleteScreen, DepositOptionsScreen, DepositScreen, DepositTransferStatusScreen, GuestTokenPickerScreen, IconCircle, InfoBanner, LOGIN_KEY_ILLUSTRATION, LinkTokensScreen, LoginScreen, ManualTransferPasskeyScreen, OpenWalletScreen, OtpVerifyScreen, OutlineButton, PasskeyIframeBlockedError, PasskeyPopupWelcomeScreen, PasskeyScreen, PoweredByFooter, PrimaryButton, ScreenHeader, ScreenLayout, SecondaryButton, SelectDepositSourceScreen, SelectSourceScreen, SettingsMenu, Spinner, StepList, StepRenderer, SuccessScreen, TokenPickerScreen, VerifyPasskeyScreen, WalletPickerScreen, WelcomeBackScreen, appendDebug, api_exports as blinkApi, clearDebugEntries, createInitialState, credentialIdBase64ToBytes, darkTheme, darkThemeNew, darkTransparentTheme, darkTransparentThemeNew, deviceHasPasskey, encodePermit2ApproveCalldata, findDevicePasskey, findDevicePasskeyViaPopup, getAtomicBatchSupportDebugInfo, getDebugEntries, getDeviceBiometricUnlockText, getTheme, getThemeBase, getWalletCapabilities, isAuthorizationSessionCancelled, isExpectedAuthorizationCancellation, isTerminalTransferStatus, isTransferAwaitingCompletion, isTransparentTheme, isUserDismissedAuthorizationError, isVisibleUsdAmountAtTwoDecimals, lightTheme, lightThemeNew, lightTransparentTheme, lightTransparentThemeNew, mapGuestPickerEntries, replaceOpenProviderForAccountSwitch, resolvePasskeyRpId, screenForPhase, subscribeDebug, supportsAtomicBatch, supportsPaymasterService, useAuthorizationExecutor, useAuthorizationOrchestrator, useBlinkConfig, useBlinkDebugLog, useBlinkDepositAmount, useSolanaAccountSwitchEffect, useTransferPolling, useTransferSigning };
21499
+ export { ACCOUNT_SWITCH_CONFLICT_MESSAGE, AdvancedSourceScreen, ApprovingInWalletScreen, AuthorizationSessionCancelledError, BLINK_ERROR_ILLUSTRATION, BLINK_LOGO, BLINK_MASCOT, BLINK_PASSKEY_ILLUSTRATION, BLINK_SUCCESS_ILLUSTRATION, BlinkDepositButton, BlinkErrorScreen, BlinkInitialLoadingScreen, BlinkLoadingScreen, BlinkPayment, BlinkProvider, ConfirmSignScreen, DepositCompleteScreen, DepositOptionsScreen, DepositScreen, DepositTransferStatusScreen, GuestTokenPickerScreen, IconCircle, InfoBanner, LOGIN_KEY_ILLUSTRATION, LinkTokensScreen, LoginScreen, ManualTransferPasskeyScreen, OpenWalletScreen, OtpVerifyScreen, OutlineButton, PasskeyIframeBlockedError, PasskeyPopupWelcomeScreen, PasskeyScreen, PoweredByFooter, PrimaryButton, ScreenHeader, ScreenLayout, SecondaryButton, SelectDepositSourceScreen, SelectSourceScreen, SettingsMenu, Spinner, StepList, StepRenderer, SuccessScreen, TokenPickerScreen, VerifyPasskeyScreen, WalletPickerScreen, WelcomeBackScreen, appendDebug, api_exports as blinkApi, buildNativeUnsupportedEntries, clearDebugEntries, createInitialState, credentialIdBase64ToBytes, darkTheme, darkThemeNew, darkTransparentTheme, darkTransparentThemeNew, deviceHasPasskey, encodePermit2ApproveCalldata, findDevicePasskey, findDevicePasskeyViaPopup, formatNativeAmount, getAtomicBatchSupportDebugInfo, getDebugEntries, getDeviceBiometricUnlockText, getTheme, getThemeBase, getWalletCapabilities, isAuthorizationSessionCancelled, isExpectedAuthorizationCancellation, isTerminalTransferStatus, isTransferAwaitingCompletion, isTransparentTheme, isUserDismissedAuthorizationError, isVisibleUsdAmountAtTwoDecimals, lightTheme, lightThemeNew, lightTransparentTheme, lightTransparentThemeNew, mapGuestPickerEntries, replaceOpenProviderForAccountSwitch, resolvePasskeyRpId, screenForPhase, subscribeDebug, supportsAtomicBatch, supportsPaymasterService, useAuthorizationExecutor, useAuthorizationOrchestrator, useBlinkConfig, useBlinkDebugLog, useBlinkDepositAmount, useSolanaAccountSwitchEffect, useTransferPolling, useTransferSigning };
21428
21500
  //# sourceMappingURL=index.js.map
21429
21501
  //# sourceMappingURL=index.js.map