kaleido-ui 0.1.88 → 0.1.89

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.
@@ -104,6 +104,7 @@ __export(web_exports, {
104
104
  KaleidoScopeHeroAnimation: () => KaleidoScopeHeroAnimation,
105
105
  Label: () => Label2,
106
106
  LightningNetworkIcon: () => LightningNetworkIcon,
107
+ LiquidNetworkIcon: () => LiquidNetworkIcon,
107
108
  ListSkeletonRows: () => ListSkeletonRows,
108
109
  LoadingCard: () => LoadingCard,
109
110
  MethodChoiceChip: () => MethodChoiceChip,
@@ -2214,6 +2215,9 @@ function NostrNetworkIcon({
2214
2215
  function RgbNetworkIcon({ className = "size-3.5", alt = "RGB" }) {
2215
2216
  return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("img", { src: protocolIcons["RGB20"], alt, className: cn("object-contain", className) });
2216
2217
  }
2218
+ function LiquidNetworkIcon({ className = "size-3.5", alt = "Liquid" }) {
2219
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("img", { src: protocolIcons.Liquid, alt, className: cn("object-contain", className) });
2220
+ }
2217
2221
 
2218
2222
  // src/web/components/action-tile.tsx
2219
2223
  var import_jsx_runtime26 = require("react/jsx-runtime");
@@ -3386,6 +3390,7 @@ function BalanceBreakdown({
3386
3390
  btcLightning,
3387
3391
  btcSpark,
3388
3392
  btcArkade,
3393
+ btcLiquid = 0,
3389
3394
  totalBTC,
3390
3395
  rgbAssets,
3391
3396
  accounts,
@@ -3402,6 +3407,7 @@ function BalanceBreakdown({
3402
3407
  btcLightningPending = false,
3403
3408
  btcSparkPending = false,
3404
3409
  btcArkadePending = false,
3410
+ btcLiquidPending = false,
3405
3411
  onRefresh,
3406
3412
  isRefreshing = false,
3407
3413
  onNavigate,
@@ -3571,6 +3577,21 @@ function BalanceBreakdown({
3571
3577
  formatFiat: formatFiatValue
3572
3578
  }
3573
3579
  ),
3580
+ (btcLiquid > 0 || btcLiquidPending) && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
3581
+ NetworkRow,
3582
+ {
3583
+ icon: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(LiquidNetworkIcon, { className: "size-3.5" }),
3584
+ iconColor: "",
3585
+ dotColor: "bg-network-liquid",
3586
+ label: "BTC on Liquid",
3587
+ sublabel: "Liquid L-BTC balance",
3588
+ amount: btcLiquid,
3589
+ isPending: btcLiquidPending,
3590
+ visible: balanceVisible,
3591
+ format,
3592
+ formatFiat: formatFiatValue
3593
+ }
3594
+ ),
3574
3595
  rgbAssets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(RgbAssetsBreakdown, { assets: rgbAssets, balanceVisible }),
3575
3596
  tokenValueSats !== void 0 && tokenValueSats > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "mt-4 pt-1", children: [
3576
3597
  /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("p", { className: "mb-3 text-xxs font-bold uppercase tracking-widest text-white/30", children: "Token Holdings" }),
@@ -4887,7 +4908,7 @@ function WithdrawAmountInput({
4887
4908
  const customFeeEnabled = typeof setFeeRateMode === "function";
4888
4909
  const activeFeeMode = feeRateMode ?? feeRate;
4889
4910
  const unitLabel = selectedAssetId === "BTC" ? "sats" : selectedAssetTicker ?? "units";
4890
- const showAmountInput = addressType === "bitcoin" || addressType === "spark" || addressType === "arkade" || addressType === "lightning-address" || addressType === "lnurl-pay" || addressType === "rgb" && !decodedRgbInvoice?.assignment?.value || addressType === "lightning" && !decodedLnInvoice?.amount && !decodedLnInvoice?.asset_amount;
4911
+ const showAmountInput = addressType === "bitcoin" || addressType === "spark" || addressType === "arkade" || addressType === "liquid" || addressType === "lightning-address" || addressType === "lnurl-pay" || addressType === "rgb" && !decodedRgbInvoice?.assignment?.value || addressType === "lightning" && !decodedLnInvoice?.amount && !decodedLnInvoice?.asset_amount;
4891
4912
  const enteredNum = parseFloat(amount.replace(/[^\d.-]/g, "") || "0") || 0;
4892
4913
  const balanceNum = parseFloat(formattedBalance.replace(/,/g, "") || "0") || 0;
4893
4914
  const isOverBalance = enteredNum > 0 && balanceNum > 0 && enteredNum > balanceNum;
@@ -5156,9 +5177,9 @@ function WithdrawInvoiceInfo({
5156
5177
  ] })
5157
5178
  ] });
5158
5179
  }
5159
- if (addressType === "bitcoin" || addressType === "arkade") {
5180
+ if (addressType === "bitcoin" || addressType === "arkade" || addressType === "liquid") {
5160
5181
  return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "rounded-2xl bg-card p-5 shadow-inner", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex justify-between text-sm", children: [
5161
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "text-muted-foreground", children: addressType === "arkade" ? "Available Arkade Balance" : "Available Balance" }),
5182
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("span", { className: "text-muted-foreground", children: addressType === "arkade" ? "Available Arkade Balance" : addressType === "liquid" ? "Available Liquid Balance" : "Available Balance" }),
5162
5183
  /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("span", { className: "font-bold text-white", children: [
5163
5184
  formatRawAmount(assetBalance, getAssetPrecisionForId(allAssets, selectedAssetId)),
5164
5185
  " ",
@@ -7490,6 +7511,13 @@ var ACCOUNT_META = {
7490
7511
  accentText: "text-network-arkade",
7491
7512
  accentBorder: "border-network-arkade/30",
7492
7513
  icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
7514
+ },
7515
+ LIQUID: {
7516
+ shortLabel: "Liquid",
7517
+ accentBg: "bg-network-liquid/10",
7518
+ accentText: "text-network-liquid",
7519
+ accentBorder: "border-network-liquid/30",
7520
+ icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(LiquidNetworkIcon, { className: "h-2.5 w-2.5" })
7493
7521
  }
7494
7522
  };
7495
7523
  var METHOD_META = {
@@ -7760,6 +7788,18 @@ var NETWORK_OPTIONS = {
7760
7788
  accentBg: "bg-network-arkade/10",
7761
7789
  accentBorder: "border-network-arkade/30",
7762
7790
  accentText: "text-network-arkade"
7791
+ },
7792
+ LIQUID: {
7793
+ // Liquid is its own chain; reuse the "onchain" network key for the modal's
7794
+ // network callback (there's no dedicated Liquid DepositNetworkKey).
7795
+ network: "onchain",
7796
+ account: "LIQUID",
7797
+ label: "Liquid",
7798
+ description: "Receive L-BTC or a Liquid asset (USDt) via a confidential Liquid address.",
7799
+ icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(LiquidNetworkIcon, { className: "h-[18px] w-[18px]" }),
7800
+ accentBg: "bg-network-liquid/10",
7801
+ accentBorder: "border-network-liquid/30",
7802
+ accentText: "text-network-liquid"
7763
7803
  }
7764
7804
  };
7765
7805
  function DepositNetworkDefaultModal({
@@ -8220,7 +8260,8 @@ var import_jsx_runtime80 = require("react/jsx-runtime");
8220
8260
  var ACCOUNT_TITLES = {
8221
8261
  RGB: "RGB & Lightning",
8222
8262
  SPARK: "Spark",
8223
- ARKADE: "Arkade"
8263
+ ARKADE: "Arkade",
8264
+ LIQUID: "Liquid"
8224
8265
  };
8225
8266
  var METHOD_META2 = {
8226
8267
  bitcoin_l1: { label: "Bitcoin address", summary: "Standard on-chain BTC transfer." },
@@ -8417,12 +8458,14 @@ var import_jsx_runtime81 = require("react/jsx-runtime");
8417
8458
  var ADD_ASSET_SUBTITLE = {
8418
8459
  RGB: "RGB asset on Bitcoin",
8419
8460
  SPARK: "Spark-native asset",
8420
- ARKADE: "Arkade-native asset"
8461
+ ARKADE: "Arkade-native asset",
8462
+ LIQUID: "L-BTC or Liquid asset"
8421
8463
  };
8422
8464
  var PROTOCOL_BADGE = {
8423
8465
  RGB: { label: "RGB", className: "bg-network-rgb-chip text-network-rgb-text" },
8424
8466
  SPARK: { label: "Spark", className: "bg-network-spark-chip text-network-spark-text" },
8425
- ARKADE: { label: "Arkade", className: "bg-network-arkade-chip text-network-arkade-text" }
8467
+ ARKADE: { label: "Arkade", className: "bg-network-arkade-chip text-network-arkade-text" },
8468
+ LIQUID: { label: "Liquid", className: "bg-network-liquid-chip text-network-liquid-text" }
8426
8469
  };
8427
8470
  function formatAssetBalance(asset) {
8428
8471
  const raw = asset.balance ?? 0;
@@ -8448,7 +8491,8 @@ function DepositAssetSelection({
8448
8491
  handleContinueToGenerate,
8449
8492
  isRgbConnected,
8450
8493
  isSparkConnected,
8451
- isArkadeConnected
8494
+ isArkadeConnected,
8495
+ isLiquidConnected = false
8452
8496
  }) {
8453
8497
  const btcAsset = filteredAssets.find((asset) => asset.ticker === "BTC");
8454
8498
  const ownedAssets = filteredAssets.filter((asset) => asset.ticker !== "BTC").slice().sort((a, b) => (b.balance ?? 0) - (a.balance ?? 0));
@@ -8488,6 +8532,15 @@ function DepositAssetSelection({
8488
8532
  idleClass: "bg-network-arkade/10 hover:bg-network-arkade/20",
8489
8533
  activeClass: "bg-network-arkade/25",
8490
8534
  titleHoverClass: "group-hover:text-network-arkade"
8535
+ },
8536
+ {
8537
+ account: "LIQUID",
8538
+ title: "New Liquid Asset",
8539
+ ticker: "LIQUID",
8540
+ enabled: isLiquidConnected,
8541
+ idleClass: "bg-network-liquid/10 hover:bg-network-liquid/20",
8542
+ activeClass: "bg-network-liquid/25",
8543
+ titleHoverClass: "group-hover:text-network-liquid"
8491
8544
  }
8492
8545
  ].filter((option) => option.enabled);
8493
8546
  return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
@@ -8678,7 +8731,7 @@ function DepositAssetSelection({
8678
8731
  handleAddNewAsset(option.account);
8679
8732
  },
8680
8733
  children: [
8681
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
8734
+ option.account === "LIQUID" ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "flex size-9 shrink-0 items-center justify-center rounded-full bg-network-liquid/10", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(LiquidNetworkIcon, { className: "size-5" }) }) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
8682
8735
  /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "min-w-0 flex-1", children: [
8683
8736
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
8684
8737
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
@@ -8698,7 +8751,8 @@ var import_jsx_runtime82 = require("react/jsx-runtime");
8698
8751
  var ACCOUNT_TITLES2 = {
8699
8752
  RGB: "RGB & Lightning",
8700
8753
  SPARK: "Spark",
8701
- ARKADE: "Arkade"
8754
+ ARKADE: "Arkade",
8755
+ LIQUID: "Liquid"
8702
8756
  };
8703
8757
  function getAssetFamily(assetId, ticker) {
8704
8758
  if (assetId === "BTC") return "BTC";
@@ -8799,7 +8853,10 @@ function DepositInvoiceGeneration({
8799
8853
  const routeAccounts = {
8800
8854
  RGB: isRgbConnected,
8801
8855
  SPARK: isSparkConnected,
8802
- ARKADE: isArkadeConnected
8856
+ ARKADE: isArkadeConnected,
8857
+ // Liquid isn't offered by kaleido-ui's own DepositInvoiceGeneration; the
8858
+ // KaleidoSwap extension uses its own component for the Liquid receive path.
8859
+ LIQUID: false
8803
8860
  };
8804
8861
  const availableAccounts = resolveReceiveAccounts({ assetFamily, accounts: routeAccounts });
8805
8862
  const methodOptions = resolveReceiveMethodOptions({
@@ -9090,6 +9147,7 @@ function DepositInvoiceGeneration({
9090
9147
  KaleidoScopeHeroAnimation,
9091
9148
  Label,
9092
9149
  LightningNetworkIcon,
9150
+ LiquidNetworkIcon,
9093
9151
  ListSkeletonRows,
9094
9152
  LoadingCard,
9095
9153
  MethodChoiceChip,
@@ -339,6 +339,12 @@ declare function NostrNetworkIcon({ className, alt, }: NetworkIconProps): react_
339
339
  * so consumers get the canonical logo without serving their own copy.
340
340
  */
341
341
  declare function RgbNetworkIcon({ className, alt }: NetworkIconProps): react_jsx_runtime.JSX.Element;
342
+ /**
343
+ * Liquid Network mark. Like RgbNetworkIcon, renders the canonical Liquid logo
344
+ * bundled with the library (protocolIcons), so every surface shows the official
345
+ * mark rather than a placeholder — matching the extension's LiquidIcon.
346
+ */
347
+ declare function LiquidNetworkIcon({ className, alt }: NetworkIconProps): react_jsx_runtime.JSX.Element;
342
348
 
343
349
  interface ActionTileProps {
344
350
  icon: ReactNode;
@@ -666,6 +672,8 @@ interface BalanceBreakdownProps {
666
672
  btcLightning: number;
667
673
  btcSpark: number;
668
674
  btcArkade: number;
675
+ /** L-BTC — BTC on the Liquid Network. Row shown only when > 0 or pending. */
676
+ btcLiquid?: number;
669
677
  totalBTC: number;
670
678
  rgbAssets: BalanceBreakdownAsset[];
671
679
  accounts: BalanceBreakdownAccounts;
@@ -682,6 +690,7 @@ interface BalanceBreakdownProps {
682
690
  btcLightningPending?: boolean;
683
691
  btcSparkPending?: boolean;
684
692
  btcArkadePending?: boolean;
693
+ btcLiquidPending?: boolean;
685
694
  onRefresh?: () => void;
686
695
  isRefreshing?: boolean;
687
696
  onNavigate?: (view: 'deposit' | 'swap' | 'withdraw') => void;
@@ -694,7 +703,7 @@ interface BalanceBreakdownProps {
694
703
  */
695
704
  tokenValueSats?: number;
696
705
  }
697
- declare function BalanceBreakdown({ btcOnchain, btcLightning, btcSpark, btcArkade, totalBTC, rgbAssets, accounts, nodeInfo, balanceVisible, format, formatFiatValue, unit, label, cycle, isLoading, isPartial, btcOnchainPending, btcLightningPending, btcSparkPending, btcArkadePending, onRefresh, isRefreshing, onNavigate, compact, tokenValueSats, }: BalanceBreakdownProps): react_jsx_runtime.JSX.Element;
706
+ declare function BalanceBreakdown({ btcOnchain, btcLightning, btcSpark, btcArkade, btcLiquid, totalBTC, rgbAssets, accounts, nodeInfo, balanceVisible, format, formatFiatValue, unit, label, cycle, isLoading, isPartial, btcOnchainPending, btcLightningPending, btcSparkPending, btcArkadePending, btcLiquidPending, onRefresh, isRefreshing, onNavigate, compact, tokenValueSats, }: BalanceBreakdownProps): react_jsx_runtime.JSX.Element;
698
707
 
699
708
  interface AssetSelectorOption {
700
709
  id: string;
@@ -868,7 +877,7 @@ interface ActivityDetailRowProps {
868
877
  }
869
878
  declare function ActivityDetailRow({ label, value, fullValue, onCopy, isCopied, }: ActivityDetailRowProps): react_jsx_runtime.JSX.Element;
870
879
 
871
- type WithdrawAddressType = 'unknown' | 'bitcoin' | 'spark' | 'arkade' | 'lightning' | 'lightning-address' | 'lnurl-pay' | 'rgb' | 'invalid';
880
+ type WithdrawAddressType = 'unknown' | 'bitcoin' | 'spark' | 'arkade' | 'liquid' | 'lightning' | 'lightning-address' | 'lnurl-pay' | 'rgb' | 'invalid';
872
881
  interface WithdrawDestinationInputProps {
873
882
  destination: string;
874
883
  setDestination: (value: string) => void;
@@ -1412,7 +1421,7 @@ interface KaleidoScopeHeroAnimationProps {
1412
1421
  }
1413
1422
  declare const KaleidoScopeHeroAnimation: FC<KaleidoScopeHeroAnimationProps>;
1414
1423
 
1415
- type DepositAccountId = 'RGB' | 'SPARK' | 'ARKADE';
1424
+ type DepositAccountId = 'RGB' | 'SPARK' | 'ARKADE' | 'LIQUID';
1416
1425
  type DepositTransferMethod = 'bitcoin_l1' | 'lightning' | 'spark' | 'arkade' | 'boarding' | 'submarine_swap';
1417
1426
  type DepositNetworkKey = 'onchain' | 'lightning' | 'spark' | 'arkade';
1418
1427
  interface DepositNetworkConfigEntry {
@@ -1674,8 +1683,9 @@ interface DepositAssetSelectionProps<TView extends string = string> {
1674
1683
  isRgbConnected: boolean;
1675
1684
  isSparkConnected: boolean;
1676
1685
  isArkadeConnected: boolean;
1686
+ isLiquidConnected?: boolean;
1677
1687
  }
1678
- declare function DepositAssetSelection<TView extends string = string>({ setCurrentView, isNewAsset, newAssetAccount, newAssetId, setNewAssetId, searchQuery, setSearchQuery, filteredAssets, onSelectAsset, handleAddNewAsset, handleContinueToGenerate, isRgbConnected, isSparkConnected, isArkadeConnected, }: DepositAssetSelectionProps<TView>): react_jsx_runtime.JSX.Element;
1688
+ declare function DepositAssetSelection<TView extends string = string>({ setCurrentView, isNewAsset, newAssetAccount, newAssetId, setNewAssetId, searchQuery, setSearchQuery, filteredAssets, onSelectAsset, handleAddNewAsset, handleContinueToGenerate, isRgbConnected, isSparkConnected, isArkadeConnected, isLiquidConnected, }: DepositAssetSelectionProps<TView>): react_jsx_runtime.JSX.Element;
1679
1689
 
1680
1690
  interface DepositInvoiceAsset {
1681
1691
  asset_id?: string;
@@ -1783,4 +1793,4 @@ declare function getFallbackAssetIconUrl(seed: string): string;
1783
1793
  */
1784
1794
  declare function useAssetIcon(ticker: string, cdnBaseUrl?: string): string;
1785
1795
 
1786
- export { AccountCapabilitiesCard, type AccountCapabilitiesCardProps, AccountChoiceChip, AccountHeaderIcons, AccountInfoGrid, AccountNetworkNotice, AccountNetworkPicker, AccountNetworkSelector, AccountNotice, type AccountSettingsNetwork, type AccountSettingsProtocol, AccountSettingsRow, AccountSettingsShell, AccountStatusPills, type AccountStatusTabItem, AccountStatusTabs, type AccountStatusTabsProps, ActionTile, type ActionTileProps, ActivityDetailRow, type ActivityDetailRowProps, ActivityFilterBar, type ActivityFilterBarProps, ActivityList, type ActivityListItem, type ActivityListProps, type ActivityNetworkFilterOption, type ActivityNetworkFilterValue, ActivityNetworkFilters, type ActivityNetworkFiltersProps, ActivityRow, type ActivityRowProps, type ActivityStatusOption, type ActivityTypeTabCounts, type ActivityTypeTabValue, ActivityTypeTabs, AlertBanner, type AmountDisplayOptions, type AmountDisplayUnit, AppIcon, type AppIconName, type AppIconProps, ArkadeNetworkIcon, AssetCard, type AssetCardProps, AssetIcon, AssetSelector, type AssetSelectorCategory, type AssetSelectorOption, type AssetSelectorProps, BalanceBreakdown, type BalanceBreakdownAccounts, type BalanceBreakdownAsset, type BalanceBreakdownNodeInfo, type BalanceBreakdownProps, BottomNav, type BottomNavItem, type BottomNavProps, BottomSheet, type BottomSheetAction, type BottomSheetProps, BtcUnifiedReceive, type BtcUnifiedReceiveAddress, type BtcUnifiedReceiveProps, type BtcUnifiedReceiveResult, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CopyIcon, type DepositAccountId, DepositAssetSelection, type DepositAssetSelectionProps, type DepositGeneratedAsset, DepositGeneratedView, type DepositGeneratedViewProps, type DepositGenerationController, type DepositInvoiceAsset, DepositInvoiceGeneration, type DepositInvoiceGenerationProps, type DepositNetworkConfigEntry, DepositNetworkDefaultModal, type DepositNetworkDefaultModalProps, type DepositNetworkKey, type DepositNetworkOption, DepositPreGeneration, type DepositPreGenerationAsset, type DepositPreGenerationProps, type DepositSelectionAsset, DepositSuccessScreen, type DepositSuccessScreenProps, type DepositTransferMethod, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisclosureCard, type DisclosureCardProps, DotPagination, type DotPaginationProps, type DotTone, ErrorBoundary, ErrorCard, type ErrorCardProps, ExpandIcon, ExtensionPageFrame, type ExtensionPageFrameProps, FadeOverlay, type FadeOverlayProps, FilterChipGroup, type FilterChipGroupProps, type FilterChipOption, FilterDropdown, type FilterDropdownOption, type FilterDropdownProps, HeadlineGradient, type HeadlineGradientProps, Icon, type IconName, type IconProps, Icons, InfoPanel, type InfoPanelProps, InlineAction, InlineSelector, type InlineSelectorOption, type InlineSelectorProps, Input, type InputProps, InvoiceStatusBanner, KaleidoScopeHeroAnimation, type KaleidoScopeHeroAnimationProps, Label, LightningNetworkIcon, ListSkeletonRows, type ListSkeletonRowsProps, LoadingCard, type LoadingCardProps, MethodChoiceChip, MetricCard, type MetricCardProps, MobileHeroAnimation, type MobileHeroAnimationProps, NETWORK_CONFIG, NetworkBadge, type NetworkBadgeProps, type NetworkIconProps, NetworkInfoDisclosure, NetworkStatusChip, type NetworkStatusChipProps, type NetworkType, NostrNetworkIcon, NumberInput, type NumberInputProps, OptionSelector, type OptionSelectorOption, type OptionSelectorProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PaidOverlay, QrCode, type QrCodeProps, RecoveryPhraseCard, type RecoveryPhraseCardProps, RgbNetworkIcon, ScrollArea, type ScrollAreaProps, SecretRevealCard, type SecretRevealCardProps, SectionHeader, type SectionHeaderProps, SectionLabel, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, SelectableCard, type SelectableCardProps, SettingItem, SettingsActionButton, SettingsSectionCard, type SettingsSectionCardProps, SettingsSelectorRow, type SettingsSelectorRowProps, SettingsStatusPanel, SettingsTile, type SettingsTileProps, Skeleton, type SkeletonProps, type SkeletonTone, SparkNetworkIcon, StatusBadge, StatusIconBadge, type StatusIconBadgeProps, type StatusType, StepperNumberInput, type StepperNumberInputProps, SwapInputCard, type SwapInputCardProps, Switch, SwitchRow, type SwitchRowProps, Tabs, TabsContent, TabsList, TabsTrigger, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, ToneBadge, type ToneBadgeProps, TransactionCard, type TransactionCardProps, TransferRouteCard, WalletAssetList, type WalletAssetListEmptyState, type WalletAssetListItem, type WalletAssetListProps, type WithdrawAddressType, WithdrawAmountInput, type WithdrawAmountInputProps, WithdrawConfirmation, type WithdrawConfirmationProps, type WithdrawConfirmationRgbInvoice, type WithdrawDecodedLnInvoice, type WithdrawDecodedRgbInvoice, WithdrawDestinationInput, type WithdrawDestinationInputProps, type WithdrawInvoiceAsset, WithdrawInvoiceInfo, type WithdrawInvoiceInfoLnInvoice, type WithdrawInvoiceInfoProps, type WithdrawInvoiceInfoRgbInvoice, type WithdrawLnurlPayData, type WithdrawRouteOption, WithdrawRouteSelector, type WithdrawRouteSelectorProps, type WithdrawRouteSummary, WithdrawSuccess, type WithdrawSuccessProps, buttonVariants, cn, formatDisplayAmountText, getAccountNetworkLabel, getAccountNetworkUi, getAccountStatusUi, getActivityNetworkFilterIcon, getAssetIconUrl, getFallbackAssetIconUrl, toast, useAssetIcon, useToast };
1796
+ export { AccountCapabilitiesCard, type AccountCapabilitiesCardProps, AccountChoiceChip, AccountHeaderIcons, AccountInfoGrid, AccountNetworkNotice, AccountNetworkPicker, AccountNetworkSelector, AccountNotice, type AccountSettingsNetwork, type AccountSettingsProtocol, AccountSettingsRow, AccountSettingsShell, AccountStatusPills, type AccountStatusTabItem, AccountStatusTabs, type AccountStatusTabsProps, ActionTile, type ActionTileProps, ActivityDetailRow, type ActivityDetailRowProps, ActivityFilterBar, type ActivityFilterBarProps, ActivityList, type ActivityListItem, type ActivityListProps, type ActivityNetworkFilterOption, type ActivityNetworkFilterValue, ActivityNetworkFilters, type ActivityNetworkFiltersProps, ActivityRow, type ActivityRowProps, type ActivityStatusOption, type ActivityTypeTabCounts, type ActivityTypeTabValue, ActivityTypeTabs, AlertBanner, type AmountDisplayOptions, type AmountDisplayUnit, AppIcon, type AppIconName, type AppIconProps, ArkadeNetworkIcon, AssetCard, type AssetCardProps, AssetIcon, AssetSelector, type AssetSelectorCategory, type AssetSelectorOption, type AssetSelectorProps, BalanceBreakdown, type BalanceBreakdownAccounts, type BalanceBreakdownAsset, type BalanceBreakdownNodeInfo, type BalanceBreakdownProps, BottomNav, type BottomNavItem, type BottomNavProps, BottomSheet, type BottomSheetAction, type BottomSheetProps, BtcUnifiedReceive, type BtcUnifiedReceiveAddress, type BtcUnifiedReceiveProps, type BtcUnifiedReceiveResult, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CopyIcon, type DepositAccountId, DepositAssetSelection, type DepositAssetSelectionProps, type DepositGeneratedAsset, DepositGeneratedView, type DepositGeneratedViewProps, type DepositGenerationController, type DepositInvoiceAsset, DepositInvoiceGeneration, type DepositInvoiceGenerationProps, type DepositNetworkConfigEntry, DepositNetworkDefaultModal, type DepositNetworkDefaultModalProps, type DepositNetworkKey, type DepositNetworkOption, DepositPreGeneration, type DepositPreGenerationAsset, type DepositPreGenerationProps, type DepositSelectionAsset, DepositSuccessScreen, type DepositSuccessScreenProps, type DepositTransferMethod, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisclosureCard, type DisclosureCardProps, DotPagination, type DotPaginationProps, type DotTone, ErrorBoundary, ErrorCard, type ErrorCardProps, ExpandIcon, ExtensionPageFrame, type ExtensionPageFrameProps, FadeOverlay, type FadeOverlayProps, FilterChipGroup, type FilterChipGroupProps, type FilterChipOption, FilterDropdown, type FilterDropdownOption, type FilterDropdownProps, HeadlineGradient, type HeadlineGradientProps, Icon, type IconName, type IconProps, Icons, InfoPanel, type InfoPanelProps, InlineAction, InlineSelector, type InlineSelectorOption, type InlineSelectorProps, Input, type InputProps, InvoiceStatusBanner, KaleidoScopeHeroAnimation, type KaleidoScopeHeroAnimationProps, Label, LightningNetworkIcon, LiquidNetworkIcon, ListSkeletonRows, type ListSkeletonRowsProps, LoadingCard, type LoadingCardProps, MethodChoiceChip, MetricCard, type MetricCardProps, MobileHeroAnimation, type MobileHeroAnimationProps, NETWORK_CONFIG, NetworkBadge, type NetworkBadgeProps, type NetworkIconProps, NetworkInfoDisclosure, NetworkStatusChip, type NetworkStatusChipProps, type NetworkType, NostrNetworkIcon, NumberInput, type NumberInputProps, OptionSelector, type OptionSelectorOption, type OptionSelectorProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PaidOverlay, QrCode, type QrCodeProps, RecoveryPhraseCard, type RecoveryPhraseCardProps, RgbNetworkIcon, ScrollArea, type ScrollAreaProps, SecretRevealCard, type SecretRevealCardProps, SectionHeader, type SectionHeaderProps, SectionLabel, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, SelectableCard, type SelectableCardProps, SettingItem, SettingsActionButton, SettingsSectionCard, type SettingsSectionCardProps, SettingsSelectorRow, type SettingsSelectorRowProps, SettingsStatusPanel, SettingsTile, type SettingsTileProps, Skeleton, type SkeletonProps, type SkeletonTone, SparkNetworkIcon, StatusBadge, StatusIconBadge, type StatusIconBadgeProps, type StatusType, StepperNumberInput, type StepperNumberInputProps, SwapInputCard, type SwapInputCardProps, Switch, SwitchRow, type SwitchRowProps, Tabs, TabsContent, TabsList, TabsTrigger, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, ToneBadge, type ToneBadgeProps, TransactionCard, type TransactionCardProps, TransferRouteCard, WalletAssetList, type WalletAssetListEmptyState, type WalletAssetListItem, type WalletAssetListProps, type WithdrawAddressType, WithdrawAmountInput, type WithdrawAmountInputProps, WithdrawConfirmation, type WithdrawConfirmationProps, type WithdrawConfirmationRgbInvoice, type WithdrawDecodedLnInvoice, type WithdrawDecodedRgbInvoice, WithdrawDestinationInput, type WithdrawDestinationInputProps, type WithdrawInvoiceAsset, WithdrawInvoiceInfo, type WithdrawInvoiceInfoLnInvoice, type WithdrawInvoiceInfoProps, type WithdrawInvoiceInfoRgbInvoice, type WithdrawLnurlPayData, type WithdrawRouteOption, WithdrawRouteSelector, type WithdrawRouteSelectorProps, type WithdrawRouteSummary, WithdrawSuccess, type WithdrawSuccessProps, buttonVariants, cn, formatDisplayAmountText, getAccountNetworkLabel, getAccountNetworkUi, getAccountStatusUi, getActivityNetworkFilterIcon, getAssetIconUrl, getFallbackAssetIconUrl, toast, useAssetIcon, useToast };
@@ -339,6 +339,12 @@ declare function NostrNetworkIcon({ className, alt, }: NetworkIconProps): react_
339
339
  * so consumers get the canonical logo without serving their own copy.
340
340
  */
341
341
  declare function RgbNetworkIcon({ className, alt }: NetworkIconProps): react_jsx_runtime.JSX.Element;
342
+ /**
343
+ * Liquid Network mark. Like RgbNetworkIcon, renders the canonical Liquid logo
344
+ * bundled with the library (protocolIcons), so every surface shows the official
345
+ * mark rather than a placeholder — matching the extension's LiquidIcon.
346
+ */
347
+ declare function LiquidNetworkIcon({ className, alt }: NetworkIconProps): react_jsx_runtime.JSX.Element;
342
348
 
343
349
  interface ActionTileProps {
344
350
  icon: ReactNode;
@@ -666,6 +672,8 @@ interface BalanceBreakdownProps {
666
672
  btcLightning: number;
667
673
  btcSpark: number;
668
674
  btcArkade: number;
675
+ /** L-BTC — BTC on the Liquid Network. Row shown only when > 0 or pending. */
676
+ btcLiquid?: number;
669
677
  totalBTC: number;
670
678
  rgbAssets: BalanceBreakdownAsset[];
671
679
  accounts: BalanceBreakdownAccounts;
@@ -682,6 +690,7 @@ interface BalanceBreakdownProps {
682
690
  btcLightningPending?: boolean;
683
691
  btcSparkPending?: boolean;
684
692
  btcArkadePending?: boolean;
693
+ btcLiquidPending?: boolean;
685
694
  onRefresh?: () => void;
686
695
  isRefreshing?: boolean;
687
696
  onNavigate?: (view: 'deposit' | 'swap' | 'withdraw') => void;
@@ -694,7 +703,7 @@ interface BalanceBreakdownProps {
694
703
  */
695
704
  tokenValueSats?: number;
696
705
  }
697
- declare function BalanceBreakdown({ btcOnchain, btcLightning, btcSpark, btcArkade, totalBTC, rgbAssets, accounts, nodeInfo, balanceVisible, format, formatFiatValue, unit, label, cycle, isLoading, isPartial, btcOnchainPending, btcLightningPending, btcSparkPending, btcArkadePending, onRefresh, isRefreshing, onNavigate, compact, tokenValueSats, }: BalanceBreakdownProps): react_jsx_runtime.JSX.Element;
706
+ declare function BalanceBreakdown({ btcOnchain, btcLightning, btcSpark, btcArkade, btcLiquid, totalBTC, rgbAssets, accounts, nodeInfo, balanceVisible, format, formatFiatValue, unit, label, cycle, isLoading, isPartial, btcOnchainPending, btcLightningPending, btcSparkPending, btcArkadePending, btcLiquidPending, onRefresh, isRefreshing, onNavigate, compact, tokenValueSats, }: BalanceBreakdownProps): react_jsx_runtime.JSX.Element;
698
707
 
699
708
  interface AssetSelectorOption {
700
709
  id: string;
@@ -868,7 +877,7 @@ interface ActivityDetailRowProps {
868
877
  }
869
878
  declare function ActivityDetailRow({ label, value, fullValue, onCopy, isCopied, }: ActivityDetailRowProps): react_jsx_runtime.JSX.Element;
870
879
 
871
- type WithdrawAddressType = 'unknown' | 'bitcoin' | 'spark' | 'arkade' | 'lightning' | 'lightning-address' | 'lnurl-pay' | 'rgb' | 'invalid';
880
+ type WithdrawAddressType = 'unknown' | 'bitcoin' | 'spark' | 'arkade' | 'liquid' | 'lightning' | 'lightning-address' | 'lnurl-pay' | 'rgb' | 'invalid';
872
881
  interface WithdrawDestinationInputProps {
873
882
  destination: string;
874
883
  setDestination: (value: string) => void;
@@ -1412,7 +1421,7 @@ interface KaleidoScopeHeroAnimationProps {
1412
1421
  }
1413
1422
  declare const KaleidoScopeHeroAnimation: FC<KaleidoScopeHeroAnimationProps>;
1414
1423
 
1415
- type DepositAccountId = 'RGB' | 'SPARK' | 'ARKADE';
1424
+ type DepositAccountId = 'RGB' | 'SPARK' | 'ARKADE' | 'LIQUID';
1416
1425
  type DepositTransferMethod = 'bitcoin_l1' | 'lightning' | 'spark' | 'arkade' | 'boarding' | 'submarine_swap';
1417
1426
  type DepositNetworkKey = 'onchain' | 'lightning' | 'spark' | 'arkade';
1418
1427
  interface DepositNetworkConfigEntry {
@@ -1674,8 +1683,9 @@ interface DepositAssetSelectionProps<TView extends string = string> {
1674
1683
  isRgbConnected: boolean;
1675
1684
  isSparkConnected: boolean;
1676
1685
  isArkadeConnected: boolean;
1686
+ isLiquidConnected?: boolean;
1677
1687
  }
1678
- declare function DepositAssetSelection<TView extends string = string>({ setCurrentView, isNewAsset, newAssetAccount, newAssetId, setNewAssetId, searchQuery, setSearchQuery, filteredAssets, onSelectAsset, handleAddNewAsset, handleContinueToGenerate, isRgbConnected, isSparkConnected, isArkadeConnected, }: DepositAssetSelectionProps<TView>): react_jsx_runtime.JSX.Element;
1688
+ declare function DepositAssetSelection<TView extends string = string>({ setCurrentView, isNewAsset, newAssetAccount, newAssetId, setNewAssetId, searchQuery, setSearchQuery, filteredAssets, onSelectAsset, handleAddNewAsset, handleContinueToGenerate, isRgbConnected, isSparkConnected, isArkadeConnected, isLiquidConnected, }: DepositAssetSelectionProps<TView>): react_jsx_runtime.JSX.Element;
1679
1689
 
1680
1690
  interface DepositInvoiceAsset {
1681
1691
  asset_id?: string;
@@ -1783,4 +1793,4 @@ declare function getFallbackAssetIconUrl(seed: string): string;
1783
1793
  */
1784
1794
  declare function useAssetIcon(ticker: string, cdnBaseUrl?: string): string;
1785
1795
 
1786
- export { AccountCapabilitiesCard, type AccountCapabilitiesCardProps, AccountChoiceChip, AccountHeaderIcons, AccountInfoGrid, AccountNetworkNotice, AccountNetworkPicker, AccountNetworkSelector, AccountNotice, type AccountSettingsNetwork, type AccountSettingsProtocol, AccountSettingsRow, AccountSettingsShell, AccountStatusPills, type AccountStatusTabItem, AccountStatusTabs, type AccountStatusTabsProps, ActionTile, type ActionTileProps, ActivityDetailRow, type ActivityDetailRowProps, ActivityFilterBar, type ActivityFilterBarProps, ActivityList, type ActivityListItem, type ActivityListProps, type ActivityNetworkFilterOption, type ActivityNetworkFilterValue, ActivityNetworkFilters, type ActivityNetworkFiltersProps, ActivityRow, type ActivityRowProps, type ActivityStatusOption, type ActivityTypeTabCounts, type ActivityTypeTabValue, ActivityTypeTabs, AlertBanner, type AmountDisplayOptions, type AmountDisplayUnit, AppIcon, type AppIconName, type AppIconProps, ArkadeNetworkIcon, AssetCard, type AssetCardProps, AssetIcon, AssetSelector, type AssetSelectorCategory, type AssetSelectorOption, type AssetSelectorProps, BalanceBreakdown, type BalanceBreakdownAccounts, type BalanceBreakdownAsset, type BalanceBreakdownNodeInfo, type BalanceBreakdownProps, BottomNav, type BottomNavItem, type BottomNavProps, BottomSheet, type BottomSheetAction, type BottomSheetProps, BtcUnifiedReceive, type BtcUnifiedReceiveAddress, type BtcUnifiedReceiveProps, type BtcUnifiedReceiveResult, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CopyIcon, type DepositAccountId, DepositAssetSelection, type DepositAssetSelectionProps, type DepositGeneratedAsset, DepositGeneratedView, type DepositGeneratedViewProps, type DepositGenerationController, type DepositInvoiceAsset, DepositInvoiceGeneration, type DepositInvoiceGenerationProps, type DepositNetworkConfigEntry, DepositNetworkDefaultModal, type DepositNetworkDefaultModalProps, type DepositNetworkKey, type DepositNetworkOption, DepositPreGeneration, type DepositPreGenerationAsset, type DepositPreGenerationProps, type DepositSelectionAsset, DepositSuccessScreen, type DepositSuccessScreenProps, type DepositTransferMethod, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisclosureCard, type DisclosureCardProps, DotPagination, type DotPaginationProps, type DotTone, ErrorBoundary, ErrorCard, type ErrorCardProps, ExpandIcon, ExtensionPageFrame, type ExtensionPageFrameProps, FadeOverlay, type FadeOverlayProps, FilterChipGroup, type FilterChipGroupProps, type FilterChipOption, FilterDropdown, type FilterDropdownOption, type FilterDropdownProps, HeadlineGradient, type HeadlineGradientProps, Icon, type IconName, type IconProps, Icons, InfoPanel, type InfoPanelProps, InlineAction, InlineSelector, type InlineSelectorOption, type InlineSelectorProps, Input, type InputProps, InvoiceStatusBanner, KaleidoScopeHeroAnimation, type KaleidoScopeHeroAnimationProps, Label, LightningNetworkIcon, ListSkeletonRows, type ListSkeletonRowsProps, LoadingCard, type LoadingCardProps, MethodChoiceChip, MetricCard, type MetricCardProps, MobileHeroAnimation, type MobileHeroAnimationProps, NETWORK_CONFIG, NetworkBadge, type NetworkBadgeProps, type NetworkIconProps, NetworkInfoDisclosure, NetworkStatusChip, type NetworkStatusChipProps, type NetworkType, NostrNetworkIcon, NumberInput, type NumberInputProps, OptionSelector, type OptionSelectorOption, type OptionSelectorProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PaidOverlay, QrCode, type QrCodeProps, RecoveryPhraseCard, type RecoveryPhraseCardProps, RgbNetworkIcon, ScrollArea, type ScrollAreaProps, SecretRevealCard, type SecretRevealCardProps, SectionHeader, type SectionHeaderProps, SectionLabel, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, SelectableCard, type SelectableCardProps, SettingItem, SettingsActionButton, SettingsSectionCard, type SettingsSectionCardProps, SettingsSelectorRow, type SettingsSelectorRowProps, SettingsStatusPanel, SettingsTile, type SettingsTileProps, Skeleton, type SkeletonProps, type SkeletonTone, SparkNetworkIcon, StatusBadge, StatusIconBadge, type StatusIconBadgeProps, type StatusType, StepperNumberInput, type StepperNumberInputProps, SwapInputCard, type SwapInputCardProps, Switch, SwitchRow, type SwitchRowProps, Tabs, TabsContent, TabsList, TabsTrigger, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, ToneBadge, type ToneBadgeProps, TransactionCard, type TransactionCardProps, TransferRouteCard, WalletAssetList, type WalletAssetListEmptyState, type WalletAssetListItem, type WalletAssetListProps, type WithdrawAddressType, WithdrawAmountInput, type WithdrawAmountInputProps, WithdrawConfirmation, type WithdrawConfirmationProps, type WithdrawConfirmationRgbInvoice, type WithdrawDecodedLnInvoice, type WithdrawDecodedRgbInvoice, WithdrawDestinationInput, type WithdrawDestinationInputProps, type WithdrawInvoiceAsset, WithdrawInvoiceInfo, type WithdrawInvoiceInfoLnInvoice, type WithdrawInvoiceInfoProps, type WithdrawInvoiceInfoRgbInvoice, type WithdrawLnurlPayData, type WithdrawRouteOption, WithdrawRouteSelector, type WithdrawRouteSelectorProps, type WithdrawRouteSummary, WithdrawSuccess, type WithdrawSuccessProps, buttonVariants, cn, formatDisplayAmountText, getAccountNetworkLabel, getAccountNetworkUi, getAccountStatusUi, getActivityNetworkFilterIcon, getAssetIconUrl, getFallbackAssetIconUrl, toast, useAssetIcon, useToast };
1796
+ export { AccountCapabilitiesCard, type AccountCapabilitiesCardProps, AccountChoiceChip, AccountHeaderIcons, AccountInfoGrid, AccountNetworkNotice, AccountNetworkPicker, AccountNetworkSelector, AccountNotice, type AccountSettingsNetwork, type AccountSettingsProtocol, AccountSettingsRow, AccountSettingsShell, AccountStatusPills, type AccountStatusTabItem, AccountStatusTabs, type AccountStatusTabsProps, ActionTile, type ActionTileProps, ActivityDetailRow, type ActivityDetailRowProps, ActivityFilterBar, type ActivityFilterBarProps, ActivityList, type ActivityListItem, type ActivityListProps, type ActivityNetworkFilterOption, type ActivityNetworkFilterValue, ActivityNetworkFilters, type ActivityNetworkFiltersProps, ActivityRow, type ActivityRowProps, type ActivityStatusOption, type ActivityTypeTabCounts, type ActivityTypeTabValue, ActivityTypeTabs, AlertBanner, type AmountDisplayOptions, type AmountDisplayUnit, AppIcon, type AppIconName, type AppIconProps, ArkadeNetworkIcon, AssetCard, type AssetCardProps, AssetIcon, AssetSelector, type AssetSelectorCategory, type AssetSelectorOption, type AssetSelectorProps, BalanceBreakdown, type BalanceBreakdownAccounts, type BalanceBreakdownAsset, type BalanceBreakdownNodeInfo, type BalanceBreakdownProps, BottomNav, type BottomNavItem, type BottomNavProps, BottomSheet, type BottomSheetAction, type BottomSheetProps, BtcUnifiedReceive, type BtcUnifiedReceiveAddress, type BtcUnifiedReceiveProps, type BtcUnifiedReceiveResult, Button, type ButtonProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CopyIcon, type DepositAccountId, DepositAssetSelection, type DepositAssetSelectionProps, type DepositGeneratedAsset, DepositGeneratedView, type DepositGeneratedViewProps, type DepositGenerationController, type DepositInvoiceAsset, DepositInvoiceGeneration, type DepositInvoiceGenerationProps, type DepositNetworkConfigEntry, DepositNetworkDefaultModal, type DepositNetworkDefaultModalProps, type DepositNetworkKey, type DepositNetworkOption, DepositPreGeneration, type DepositPreGenerationAsset, type DepositPreGenerationProps, type DepositSelectionAsset, DepositSuccessScreen, type DepositSuccessScreenProps, type DepositTransferMethod, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DisclosureCard, type DisclosureCardProps, DotPagination, type DotPaginationProps, type DotTone, ErrorBoundary, ErrorCard, type ErrorCardProps, ExpandIcon, ExtensionPageFrame, type ExtensionPageFrameProps, FadeOverlay, type FadeOverlayProps, FilterChipGroup, type FilterChipGroupProps, type FilterChipOption, FilterDropdown, type FilterDropdownOption, type FilterDropdownProps, HeadlineGradient, type HeadlineGradientProps, Icon, type IconName, type IconProps, Icons, InfoPanel, type InfoPanelProps, InlineAction, InlineSelector, type InlineSelectorOption, type InlineSelectorProps, Input, type InputProps, InvoiceStatusBanner, KaleidoScopeHeroAnimation, type KaleidoScopeHeroAnimationProps, Label, LightningNetworkIcon, LiquidNetworkIcon, ListSkeletonRows, type ListSkeletonRowsProps, LoadingCard, type LoadingCardProps, MethodChoiceChip, MetricCard, type MetricCardProps, MobileHeroAnimation, type MobileHeroAnimationProps, NETWORK_CONFIG, NetworkBadge, type NetworkBadgeProps, type NetworkIconProps, NetworkInfoDisclosure, NetworkStatusChip, type NetworkStatusChipProps, type NetworkType, NostrNetworkIcon, NumberInput, type NumberInputProps, OptionSelector, type OptionSelectorOption, type OptionSelectorProps, PageHeader, type PageHeaderProps, PageShell, type PageShellProps, PaidOverlay, QrCode, type QrCodeProps, RecoveryPhraseCard, type RecoveryPhraseCardProps, RgbNetworkIcon, ScrollArea, type ScrollAreaProps, SecretRevealCard, type SecretRevealCardProps, SectionHeader, type SectionHeaderProps, SectionLabel, SectionTitle, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, SelectableCard, type SelectableCardProps, SettingItem, SettingsActionButton, SettingsSectionCard, type SettingsSectionCardProps, SettingsSelectorRow, type SettingsSelectorRowProps, SettingsStatusPanel, SettingsTile, type SettingsTileProps, Skeleton, type SkeletonProps, type SkeletonTone, SparkNetworkIcon, StatusBadge, StatusIconBadge, type StatusIconBadgeProps, type StatusType, StepperNumberInput, type StepperNumberInputProps, SwapInputCard, type SwapInputCardProps, Switch, SwitchRow, type SwitchRowProps, Tabs, TabsContent, TabsList, TabsTrigger, Toast$1 as Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport, Toaster, ToneBadge, type ToneBadgeProps, TransactionCard, type TransactionCardProps, TransferRouteCard, WalletAssetList, type WalletAssetListEmptyState, type WalletAssetListItem, type WalletAssetListProps, type WithdrawAddressType, WithdrawAmountInput, type WithdrawAmountInputProps, WithdrawConfirmation, type WithdrawConfirmationProps, type WithdrawConfirmationRgbInvoice, type WithdrawDecodedLnInvoice, type WithdrawDecodedRgbInvoice, WithdrawDestinationInput, type WithdrawDestinationInputProps, type WithdrawInvoiceAsset, WithdrawInvoiceInfo, type WithdrawInvoiceInfoLnInvoice, type WithdrawInvoiceInfoProps, type WithdrawInvoiceInfoRgbInvoice, type WithdrawLnurlPayData, type WithdrawRouteOption, WithdrawRouteSelector, type WithdrawRouteSelectorProps, type WithdrawRouteSummary, WithdrawSuccess, type WithdrawSuccessProps, buttonVariants, cn, formatDisplayAmountText, getAccountNetworkLabel, getAccountNetworkUi, getAccountStatusUi, getActivityNetworkFilterIcon, getAssetIconUrl, getFallbackAssetIconUrl, toast, useAssetIcon, useToast };
package/dist/web/index.js CHANGED
@@ -2033,6 +2033,9 @@ function NostrNetworkIcon({
2033
2033
  function RgbNetworkIcon({ className = "size-3.5", alt = "RGB" }) {
2034
2034
  return /* @__PURE__ */ jsx25("img", { src: protocolIcons["RGB20"], alt, className: cn("object-contain", className) });
2035
2035
  }
2036
+ function LiquidNetworkIcon({ className = "size-3.5", alt = "Liquid" }) {
2037
+ return /* @__PURE__ */ jsx25("img", { src: protocolIcons.Liquid, alt, className: cn("object-contain", className) });
2038
+ }
2036
2039
 
2037
2040
  // src/web/components/action-tile.tsx
2038
2041
  import { jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
@@ -3205,6 +3208,7 @@ function BalanceBreakdown({
3205
3208
  btcLightning,
3206
3209
  btcSpark,
3207
3210
  btcArkade,
3211
+ btcLiquid = 0,
3208
3212
  totalBTC,
3209
3213
  rgbAssets,
3210
3214
  accounts,
@@ -3221,6 +3225,7 @@ function BalanceBreakdown({
3221
3225
  btcLightningPending = false,
3222
3226
  btcSparkPending = false,
3223
3227
  btcArkadePending = false,
3228
+ btcLiquidPending = false,
3224
3229
  onRefresh,
3225
3230
  isRefreshing = false,
3226
3231
  onNavigate,
@@ -3390,6 +3395,21 @@ function BalanceBreakdown({
3390
3395
  formatFiat: formatFiatValue
3391
3396
  }
3392
3397
  ),
3398
+ (btcLiquid > 0 || btcLiquidPending) && /* @__PURE__ */ jsx37(
3399
+ NetworkRow,
3400
+ {
3401
+ icon: /* @__PURE__ */ jsx37(LiquidNetworkIcon, { className: "size-3.5" }),
3402
+ iconColor: "",
3403
+ dotColor: "bg-network-liquid",
3404
+ label: "BTC on Liquid",
3405
+ sublabel: "Liquid L-BTC balance",
3406
+ amount: btcLiquid,
3407
+ isPending: btcLiquidPending,
3408
+ visible: balanceVisible,
3409
+ format,
3410
+ formatFiat: formatFiatValue
3411
+ }
3412
+ ),
3393
3413
  rgbAssets.length > 0 && /* @__PURE__ */ jsx37(RgbAssetsBreakdown, { assets: rgbAssets, balanceVisible }),
3394
3414
  tokenValueSats !== void 0 && tokenValueSats > 0 && /* @__PURE__ */ jsxs24("div", { className: "mt-4 pt-1", children: [
3395
3415
  /* @__PURE__ */ jsx37("p", { className: "mb-3 text-xxs font-bold uppercase tracking-widest text-white/30", children: "Token Holdings" }),
@@ -4706,7 +4726,7 @@ function WithdrawAmountInput({
4706
4726
  const customFeeEnabled = typeof setFeeRateMode === "function";
4707
4727
  const activeFeeMode = feeRateMode ?? feeRate;
4708
4728
  const unitLabel = selectedAssetId === "BTC" ? "sats" : selectedAssetTicker ?? "units";
4709
- const showAmountInput = addressType === "bitcoin" || addressType === "spark" || addressType === "arkade" || addressType === "lightning-address" || addressType === "lnurl-pay" || addressType === "rgb" && !decodedRgbInvoice?.assignment?.value || addressType === "lightning" && !decodedLnInvoice?.amount && !decodedLnInvoice?.asset_amount;
4729
+ const showAmountInput = addressType === "bitcoin" || addressType === "spark" || addressType === "arkade" || addressType === "liquid" || addressType === "lightning-address" || addressType === "lnurl-pay" || addressType === "rgb" && !decodedRgbInvoice?.assignment?.value || addressType === "lightning" && !decodedLnInvoice?.amount && !decodedLnInvoice?.asset_amount;
4710
4730
  const enteredNum = parseFloat(amount.replace(/[^\d.-]/g, "") || "0") || 0;
4711
4731
  const balanceNum = parseFloat(formattedBalance.replace(/,/g, "") || "0") || 0;
4712
4732
  const isOverBalance = enteredNum > 0 && balanceNum > 0 && enteredNum > balanceNum;
@@ -4975,9 +4995,9 @@ function WithdrawInvoiceInfo({
4975
4995
  ] })
4976
4996
  ] });
4977
4997
  }
4978
- if (addressType === "bitcoin" || addressType === "arkade") {
4998
+ if (addressType === "bitcoin" || addressType === "arkade" || addressType === "liquid") {
4979
4999
  return /* @__PURE__ */ jsx48("div", { className: "rounded-2xl bg-card p-5 shadow-inner", children: /* @__PURE__ */ jsxs35("div", { className: "flex justify-between text-sm", children: [
4980
- /* @__PURE__ */ jsx48("span", { className: "text-muted-foreground", children: addressType === "arkade" ? "Available Arkade Balance" : "Available Balance" }),
5000
+ /* @__PURE__ */ jsx48("span", { className: "text-muted-foreground", children: addressType === "arkade" ? "Available Arkade Balance" : addressType === "liquid" ? "Available Liquid Balance" : "Available Balance" }),
4981
5001
  /* @__PURE__ */ jsxs35("span", { className: "font-bold text-white", children: [
4982
5002
  formatRawAmount(assetBalance, getAssetPrecisionForId(allAssets, selectedAssetId)),
4983
5003
  " ",
@@ -7309,6 +7329,13 @@ var ACCOUNT_META = {
7309
7329
  accentText: "text-network-arkade",
7310
7330
  accentBorder: "border-network-arkade/30",
7311
7331
  icon: /* @__PURE__ */ jsx75("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
7332
+ },
7333
+ LIQUID: {
7334
+ shortLabel: "Liquid",
7335
+ accentBg: "bg-network-liquid/10",
7336
+ accentText: "text-network-liquid",
7337
+ accentBorder: "border-network-liquid/30",
7338
+ icon: /* @__PURE__ */ jsx75(LiquidNetworkIcon, { className: "h-2.5 w-2.5" })
7312
7339
  }
7313
7340
  };
7314
7341
  var METHOD_META = {
@@ -7579,6 +7606,18 @@ var NETWORK_OPTIONS = {
7579
7606
  accentBg: "bg-network-arkade/10",
7580
7607
  accentBorder: "border-network-arkade/30",
7581
7608
  accentText: "text-network-arkade"
7609
+ },
7610
+ LIQUID: {
7611
+ // Liquid is its own chain; reuse the "onchain" network key for the modal's
7612
+ // network callback (there's no dedicated Liquid DepositNetworkKey).
7613
+ network: "onchain",
7614
+ account: "LIQUID",
7615
+ label: "Liquid",
7616
+ description: "Receive L-BTC or a Liquid asset (USDt) via a confidential Liquid address.",
7617
+ icon: /* @__PURE__ */ jsx77(LiquidNetworkIcon, { className: "h-[18px] w-[18px]" }),
7618
+ accentBg: "bg-network-liquid/10",
7619
+ accentBorder: "border-network-liquid/30",
7620
+ accentText: "text-network-liquid"
7582
7621
  }
7583
7622
  };
7584
7623
  function DepositNetworkDefaultModal({
@@ -8039,7 +8078,8 @@ import { jsx as jsx80, jsxs as jsxs66 } from "react/jsx-runtime";
8039
8078
  var ACCOUNT_TITLES = {
8040
8079
  RGB: "RGB & Lightning",
8041
8080
  SPARK: "Spark",
8042
- ARKADE: "Arkade"
8081
+ ARKADE: "Arkade",
8082
+ LIQUID: "Liquid"
8043
8083
  };
8044
8084
  var METHOD_META2 = {
8045
8085
  bitcoin_l1: { label: "Bitcoin address", summary: "Standard on-chain BTC transfer." },
@@ -8236,12 +8276,14 @@ import { jsx as jsx81, jsxs as jsxs67 } from "react/jsx-runtime";
8236
8276
  var ADD_ASSET_SUBTITLE = {
8237
8277
  RGB: "RGB asset on Bitcoin",
8238
8278
  SPARK: "Spark-native asset",
8239
- ARKADE: "Arkade-native asset"
8279
+ ARKADE: "Arkade-native asset",
8280
+ LIQUID: "L-BTC or Liquid asset"
8240
8281
  };
8241
8282
  var PROTOCOL_BADGE = {
8242
8283
  RGB: { label: "RGB", className: "bg-network-rgb-chip text-network-rgb-text" },
8243
8284
  SPARK: { label: "Spark", className: "bg-network-spark-chip text-network-spark-text" },
8244
- ARKADE: { label: "Arkade", className: "bg-network-arkade-chip text-network-arkade-text" }
8285
+ ARKADE: { label: "Arkade", className: "bg-network-arkade-chip text-network-arkade-text" },
8286
+ LIQUID: { label: "Liquid", className: "bg-network-liquid-chip text-network-liquid-text" }
8245
8287
  };
8246
8288
  function formatAssetBalance(asset) {
8247
8289
  const raw = asset.balance ?? 0;
@@ -8267,7 +8309,8 @@ function DepositAssetSelection({
8267
8309
  handleContinueToGenerate,
8268
8310
  isRgbConnected,
8269
8311
  isSparkConnected,
8270
- isArkadeConnected
8312
+ isArkadeConnected,
8313
+ isLiquidConnected = false
8271
8314
  }) {
8272
8315
  const btcAsset = filteredAssets.find((asset) => asset.ticker === "BTC");
8273
8316
  const ownedAssets = filteredAssets.filter((asset) => asset.ticker !== "BTC").slice().sort((a, b) => (b.balance ?? 0) - (a.balance ?? 0));
@@ -8307,6 +8350,15 @@ function DepositAssetSelection({
8307
8350
  idleClass: "bg-network-arkade/10 hover:bg-network-arkade/20",
8308
8351
  activeClass: "bg-network-arkade/25",
8309
8352
  titleHoverClass: "group-hover:text-network-arkade"
8353
+ },
8354
+ {
8355
+ account: "LIQUID",
8356
+ title: "New Liquid Asset",
8357
+ ticker: "LIQUID",
8358
+ enabled: isLiquidConnected,
8359
+ idleClass: "bg-network-liquid/10 hover:bg-network-liquid/20",
8360
+ activeClass: "bg-network-liquid/25",
8361
+ titleHoverClass: "group-hover:text-network-liquid"
8310
8362
  }
8311
8363
  ].filter((option) => option.enabled);
8312
8364
  return /* @__PURE__ */ jsxs67("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
@@ -8497,7 +8549,7 @@ function DepositAssetSelection({
8497
8549
  handleAddNewAsset(option.account);
8498
8550
  },
8499
8551
  children: [
8500
- /* @__PURE__ */ jsx81(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
8552
+ option.account === "LIQUID" ? /* @__PURE__ */ jsx81("span", { className: "flex size-9 shrink-0 items-center justify-center rounded-full bg-network-liquid/10", children: /* @__PURE__ */ jsx81(LiquidNetworkIcon, { className: "size-5" }) }) : /* @__PURE__ */ jsx81(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
8501
8553
  /* @__PURE__ */ jsxs67("div", { className: "min-w-0 flex-1", children: [
8502
8554
  /* @__PURE__ */ jsx81("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
8503
8555
  /* @__PURE__ */ jsx81("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
@@ -8517,7 +8569,8 @@ import { jsx as jsx82, jsxs as jsxs68 } from "react/jsx-runtime";
8517
8569
  var ACCOUNT_TITLES2 = {
8518
8570
  RGB: "RGB & Lightning",
8519
8571
  SPARK: "Spark",
8520
- ARKADE: "Arkade"
8572
+ ARKADE: "Arkade",
8573
+ LIQUID: "Liquid"
8521
8574
  };
8522
8575
  function getAssetFamily(assetId, ticker) {
8523
8576
  if (assetId === "BTC") return "BTC";
@@ -8618,7 +8671,10 @@ function DepositInvoiceGeneration({
8618
8671
  const routeAccounts = {
8619
8672
  RGB: isRgbConnected,
8620
8673
  SPARK: isSparkConnected,
8621
- ARKADE: isArkadeConnected
8674
+ ARKADE: isArkadeConnected,
8675
+ // Liquid isn't offered by kaleido-ui's own DepositInvoiceGeneration; the
8676
+ // KaleidoSwap extension uses its own component for the Liquid receive path.
8677
+ LIQUID: false
8622
8678
  };
8623
8679
  const availableAccounts = resolveReceiveAccounts({ assetFamily, accounts: routeAccounts });
8624
8680
  const methodOptions = resolveReceiveMethodOptions({
@@ -8908,6 +8964,7 @@ export {
8908
8964
  KaleidoScopeHeroAnimation,
8909
8965
  Label2 as Label,
8910
8966
  LightningNetworkIcon,
8967
+ LiquidNetworkIcon,
8911
8968
  ListSkeletonRows,
8912
8969
  LoadingCard,
8913
8970
  MethodChoiceChip,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kaleido-ui",
3
- "version": "0.1.88",
3
+ "version": "0.1.89",
4
4
  "description": "KaleidoSwap shared UI library — design tokens, web components (Tailwind + Radix), and React Native components extending WDK UI Kit",
5
5
  "license": "MIT",
6
6
  "type": "module",