kaleido-ui 0.1.88 → 0.1.90

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
  " ",
@@ -7468,7 +7489,9 @@ var ACCOUNT_META = {
7468
7489
  accentBg: "bg-primary/10",
7469
7490
  accentText: "text-primary",
7470
7491
  accentBorder: "border-primary/30",
7471
- icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)("img", { src: "/icons/rgb/rgb-logo.svg", alt: "", className: "h-2.5 w-2.5 object-contain" })
7492
+ // Bundled RGB mark (protocolIcons) a host-served /icons/rgb/... path
7493
+ // renders as a broken box in consumers that don't ship that asset.
7494
+ icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(RgbNetworkIcon, { className: "h-2.5 w-2.5" })
7472
7495
  },
7473
7496
  SPARK: {
7474
7497
  shortLabel: "Spark",
@@ -7490,6 +7513,13 @@ var ACCOUNT_META = {
7490
7513
  accentText: "text-network-arkade",
7491
7514
  accentBorder: "border-network-arkade/30",
7492
7515
  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" })
7516
+ },
7517
+ LIQUID: {
7518
+ shortLabel: "Liquid",
7519
+ accentBg: "bg-network-liquid/10",
7520
+ accentText: "text-network-liquid",
7521
+ accentBorder: "border-network-liquid/30",
7522
+ icon: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(LiquidNetworkIcon, { className: "h-2.5 w-2.5" })
7493
7523
  }
7494
7524
  };
7495
7525
  var METHOD_META = {
@@ -7760,6 +7790,18 @@ var NETWORK_OPTIONS = {
7760
7790
  accentBg: "bg-network-arkade/10",
7761
7791
  accentBorder: "border-network-arkade/30",
7762
7792
  accentText: "text-network-arkade"
7793
+ },
7794
+ LIQUID: {
7795
+ // Liquid is its own chain; reuse the "onchain" network key for the modal's
7796
+ // network callback (there's no dedicated Liquid DepositNetworkKey).
7797
+ network: "onchain",
7798
+ account: "LIQUID",
7799
+ label: "Liquid",
7800
+ description: "Receive L-BTC or a Liquid asset (USDt) via a confidential Liquid address.",
7801
+ icon: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(LiquidNetworkIcon, { className: "h-[18px] w-[18px]" }),
7802
+ accentBg: "bg-network-liquid/10",
7803
+ accentBorder: "border-network-liquid/30",
7804
+ accentText: "text-network-liquid"
7763
7805
  }
7764
7806
  };
7765
7807
  function DepositNetworkDefaultModal({
@@ -8220,7 +8262,8 @@ var import_jsx_runtime80 = require("react/jsx-runtime");
8220
8262
  var ACCOUNT_TITLES = {
8221
8263
  RGB: "RGB & Lightning",
8222
8264
  SPARK: "Spark",
8223
- ARKADE: "Arkade"
8265
+ ARKADE: "Arkade",
8266
+ LIQUID: "Liquid"
8224
8267
  };
8225
8268
  var METHOD_META2 = {
8226
8269
  bitcoin_l1: { label: "Bitcoin address", summary: "Standard on-chain BTC transfer." },
@@ -8417,12 +8460,14 @@ var import_jsx_runtime81 = require("react/jsx-runtime");
8417
8460
  var ADD_ASSET_SUBTITLE = {
8418
8461
  RGB: "RGB asset on Bitcoin",
8419
8462
  SPARK: "Spark-native asset",
8420
- ARKADE: "Arkade-native asset"
8463
+ ARKADE: "Arkade-native asset",
8464
+ LIQUID: "L-BTC or Liquid asset"
8421
8465
  };
8422
8466
  var PROTOCOL_BADGE = {
8423
8467
  RGB: { label: "RGB", className: "bg-network-rgb-chip text-network-rgb-text" },
8424
8468
  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" }
8469
+ ARKADE: { label: "Arkade", className: "bg-network-arkade-chip text-network-arkade-text" },
8470
+ LIQUID: { label: "Liquid", className: "bg-network-liquid-chip text-network-liquid-text" }
8426
8471
  };
8427
8472
  function formatAssetBalance(asset) {
8428
8473
  const raw = asset.balance ?? 0;
@@ -8448,7 +8493,8 @@ function DepositAssetSelection({
8448
8493
  handleContinueToGenerate,
8449
8494
  isRgbConnected,
8450
8495
  isSparkConnected,
8451
- isArkadeConnected
8496
+ isArkadeConnected,
8497
+ isLiquidConnected = false
8452
8498
  }) {
8453
8499
  const btcAsset = filteredAssets.find((asset) => asset.ticker === "BTC");
8454
8500
  const ownedAssets = filteredAssets.filter((asset) => asset.ticker !== "BTC").slice().sort((a, b) => (b.balance ?? 0) - (a.balance ?? 0));
@@ -8488,6 +8534,15 @@ function DepositAssetSelection({
8488
8534
  idleClass: "bg-network-arkade/10 hover:bg-network-arkade/20",
8489
8535
  activeClass: "bg-network-arkade/25",
8490
8536
  titleHoverClass: "group-hover:text-network-arkade"
8537
+ },
8538
+ {
8539
+ account: "LIQUID",
8540
+ title: "New Liquid Asset",
8541
+ ticker: "LIQUID",
8542
+ enabled: isLiquidConnected,
8543
+ idleClass: "bg-network-liquid/10 hover:bg-network-liquid/20",
8544
+ activeClass: "bg-network-liquid/25",
8545
+ titleHoverClass: "group-hover:text-network-liquid"
8491
8546
  }
8492
8547
  ].filter((option) => option.enabled);
8493
8548
  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: [
@@ -8550,7 +8605,8 @@ function DepositAssetSelection({
8550
8605
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "L1", size: "sm" }),
8551
8606
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "LN", size: "sm" }),
8552
8607
  isSparkConnected && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "Spark", size: "sm" }),
8553
- isArkadeConnected && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "Arkade", size: "sm" })
8608
+ isArkadeConnected && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "Arkade", size: "sm" }),
8609
+ isLiquidConnected && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(NetworkBadge, { network: "Liquid", size: "sm" })
8554
8610
  ] }),
8555
8611
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-md text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
8556
8612
  ]
@@ -8678,7 +8734,7 @@ function DepositAssetSelection({
8678
8734
  handleAddNewAsset(option.account);
8679
8735
  },
8680
8736
  children: [
8681
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
8737
+ 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
8738
  /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "min-w-0 flex-1", children: [
8683
8739
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
8684
8740
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
@@ -8698,7 +8754,8 @@ var import_jsx_runtime82 = require("react/jsx-runtime");
8698
8754
  var ACCOUNT_TITLES2 = {
8699
8755
  RGB: "RGB & Lightning",
8700
8756
  SPARK: "Spark",
8701
- ARKADE: "Arkade"
8757
+ ARKADE: "Arkade",
8758
+ LIQUID: "Liquid"
8702
8759
  };
8703
8760
  function getAssetFamily(assetId, ticker) {
8704
8761
  if (assetId === "BTC") return "BTC";
@@ -8799,7 +8856,10 @@ function DepositInvoiceGeneration({
8799
8856
  const routeAccounts = {
8800
8857
  RGB: isRgbConnected,
8801
8858
  SPARK: isSparkConnected,
8802
- ARKADE: isArkadeConnected
8859
+ ARKADE: isArkadeConnected,
8860
+ // Liquid isn't offered by kaleido-ui's own DepositInvoiceGeneration; the
8861
+ // KaleidoSwap extension uses its own component for the Liquid receive path.
8862
+ LIQUID: false
8803
8863
  };
8804
8864
  const availableAccounts = resolveReceiveAccounts({ assetFamily, accounts: routeAccounts });
8805
8865
  const methodOptions = resolveReceiveMethodOptions({
@@ -9090,6 +9150,7 @@ function DepositInvoiceGeneration({
9090
9150
  KaleidoScopeHeroAnimation,
9091
9151
  Label,
9092
9152
  LightningNetworkIcon,
9153
+ LiquidNetworkIcon,
9093
9154
  ListSkeletonRows,
9094
9155
  LoadingCard,
9095
9156
  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
  " ",
@@ -7287,7 +7307,9 @@ var ACCOUNT_META = {
7287
7307
  accentBg: "bg-primary/10",
7288
7308
  accentText: "text-primary",
7289
7309
  accentBorder: "border-primary/30",
7290
- icon: /* @__PURE__ */ jsx75("img", { src: "/icons/rgb/rgb-logo.svg", alt: "", className: "h-2.5 w-2.5 object-contain" })
7310
+ // Bundled RGB mark (protocolIcons) a host-served /icons/rgb/... path
7311
+ // renders as a broken box in consumers that don't ship that asset.
7312
+ icon: /* @__PURE__ */ jsx75(RgbNetworkIcon, { className: "h-2.5 w-2.5" })
7291
7313
  },
7292
7314
  SPARK: {
7293
7315
  shortLabel: "Spark",
@@ -7309,6 +7331,13 @@ var ACCOUNT_META = {
7309
7331
  accentText: "text-network-arkade",
7310
7332
  accentBorder: "border-network-arkade/30",
7311
7333
  icon: /* @__PURE__ */ jsx75("img", { src: "/icons/arkade/arkade-icon.svg", alt: "", className: "h-2.5 w-2.5 rounded-[1px] object-contain" })
7334
+ },
7335
+ LIQUID: {
7336
+ shortLabel: "Liquid",
7337
+ accentBg: "bg-network-liquid/10",
7338
+ accentText: "text-network-liquid",
7339
+ accentBorder: "border-network-liquid/30",
7340
+ icon: /* @__PURE__ */ jsx75(LiquidNetworkIcon, { className: "h-2.5 w-2.5" })
7312
7341
  }
7313
7342
  };
7314
7343
  var METHOD_META = {
@@ -7579,6 +7608,18 @@ var NETWORK_OPTIONS = {
7579
7608
  accentBg: "bg-network-arkade/10",
7580
7609
  accentBorder: "border-network-arkade/30",
7581
7610
  accentText: "text-network-arkade"
7611
+ },
7612
+ LIQUID: {
7613
+ // Liquid is its own chain; reuse the "onchain" network key for the modal's
7614
+ // network callback (there's no dedicated Liquid DepositNetworkKey).
7615
+ network: "onchain",
7616
+ account: "LIQUID",
7617
+ label: "Liquid",
7618
+ description: "Receive L-BTC or a Liquid asset (USDt) via a confidential Liquid address.",
7619
+ icon: /* @__PURE__ */ jsx77(LiquidNetworkIcon, { className: "h-[18px] w-[18px]" }),
7620
+ accentBg: "bg-network-liquid/10",
7621
+ accentBorder: "border-network-liquid/30",
7622
+ accentText: "text-network-liquid"
7582
7623
  }
7583
7624
  };
7584
7625
  function DepositNetworkDefaultModal({
@@ -8039,7 +8080,8 @@ import { jsx as jsx80, jsxs as jsxs66 } from "react/jsx-runtime";
8039
8080
  var ACCOUNT_TITLES = {
8040
8081
  RGB: "RGB & Lightning",
8041
8082
  SPARK: "Spark",
8042
- ARKADE: "Arkade"
8083
+ ARKADE: "Arkade",
8084
+ LIQUID: "Liquid"
8043
8085
  };
8044
8086
  var METHOD_META2 = {
8045
8087
  bitcoin_l1: { label: "Bitcoin address", summary: "Standard on-chain BTC transfer." },
@@ -8236,12 +8278,14 @@ import { jsx as jsx81, jsxs as jsxs67 } from "react/jsx-runtime";
8236
8278
  var ADD_ASSET_SUBTITLE = {
8237
8279
  RGB: "RGB asset on Bitcoin",
8238
8280
  SPARK: "Spark-native asset",
8239
- ARKADE: "Arkade-native asset"
8281
+ ARKADE: "Arkade-native asset",
8282
+ LIQUID: "L-BTC or Liquid asset"
8240
8283
  };
8241
8284
  var PROTOCOL_BADGE = {
8242
8285
  RGB: { label: "RGB", className: "bg-network-rgb-chip text-network-rgb-text" },
8243
8286
  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" }
8287
+ ARKADE: { label: "Arkade", className: "bg-network-arkade-chip text-network-arkade-text" },
8288
+ LIQUID: { label: "Liquid", className: "bg-network-liquid-chip text-network-liquid-text" }
8245
8289
  };
8246
8290
  function formatAssetBalance(asset) {
8247
8291
  const raw = asset.balance ?? 0;
@@ -8267,7 +8311,8 @@ function DepositAssetSelection({
8267
8311
  handleContinueToGenerate,
8268
8312
  isRgbConnected,
8269
8313
  isSparkConnected,
8270
- isArkadeConnected
8314
+ isArkadeConnected,
8315
+ isLiquidConnected = false
8271
8316
  }) {
8272
8317
  const btcAsset = filteredAssets.find((asset) => asset.ticker === "BTC");
8273
8318
  const ownedAssets = filteredAssets.filter((asset) => asset.ticker !== "BTC").slice().sort((a, b) => (b.balance ?? 0) - (a.balance ?? 0));
@@ -8307,6 +8352,15 @@ function DepositAssetSelection({
8307
8352
  idleClass: "bg-network-arkade/10 hover:bg-network-arkade/20",
8308
8353
  activeClass: "bg-network-arkade/25",
8309
8354
  titleHoverClass: "group-hover:text-network-arkade"
8355
+ },
8356
+ {
8357
+ account: "LIQUID",
8358
+ title: "New Liquid Asset",
8359
+ ticker: "LIQUID",
8360
+ enabled: isLiquidConnected,
8361
+ idleClass: "bg-network-liquid/10 hover:bg-network-liquid/20",
8362
+ activeClass: "bg-network-liquid/25",
8363
+ titleHoverClass: "group-hover:text-network-liquid"
8310
8364
  }
8311
8365
  ].filter((option) => option.enabled);
8312
8366
  return /* @__PURE__ */ jsxs67("div", { className: "relative flex h-screen flex-col overflow-hidden bg-background pt-16 font-display text-foreground", children: [
@@ -8369,7 +8423,8 @@ function DepositAssetSelection({
8369
8423
  /* @__PURE__ */ jsx81(NetworkBadge, { network: "L1", size: "sm" }),
8370
8424
  /* @__PURE__ */ jsx81(NetworkBadge, { network: "LN", size: "sm" }),
8371
8425
  isSparkConnected && /* @__PURE__ */ jsx81(NetworkBadge, { network: "Spark", size: "sm" }),
8372
- isArkadeConnected && /* @__PURE__ */ jsx81(NetworkBadge, { network: "Arkade", size: "sm" })
8426
+ isArkadeConnected && /* @__PURE__ */ jsx81(NetworkBadge, { network: "Arkade", size: "sm" }),
8427
+ isLiquidConnected && /* @__PURE__ */ jsx81(NetworkBadge, { network: "Liquid", size: "sm" })
8373
8428
  ] }),
8374
8429
  /* @__PURE__ */ jsx81("span", { className: "material-symbols-outlined flex-shrink-0 text-icon-md text-white/20 transition-colors group-hover:text-white/50", children: "arrow_forward" })
8375
8430
  ]
@@ -8497,7 +8552,7 @@ function DepositAssetSelection({
8497
8552
  handleAddNewAsset(option.account);
8498
8553
  },
8499
8554
  children: [
8500
- /* @__PURE__ */ jsx81(AssetIcon, { ticker: option.ticker, size: 36, className: "flex-shrink-0" }),
8555
+ 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
8556
  /* @__PURE__ */ jsxs67("div", { className: "min-w-0 flex-1", children: [
8502
8557
  /* @__PURE__ */ jsx81("div", { className: cn("text-sm font-bold tracking-wide text-white", option.titleHoverClass), children: option.title }),
8503
8558
  /* @__PURE__ */ jsx81("div", { className: "mt-0.5 text-xxs text-white/40", children: ADD_ASSET_SUBTITLE[option.account] })
@@ -8517,7 +8572,8 @@ import { jsx as jsx82, jsxs as jsxs68 } from "react/jsx-runtime";
8517
8572
  var ACCOUNT_TITLES2 = {
8518
8573
  RGB: "RGB & Lightning",
8519
8574
  SPARK: "Spark",
8520
- ARKADE: "Arkade"
8575
+ ARKADE: "Arkade",
8576
+ LIQUID: "Liquid"
8521
8577
  };
8522
8578
  function getAssetFamily(assetId, ticker) {
8523
8579
  if (assetId === "BTC") return "BTC";
@@ -8618,7 +8674,10 @@ function DepositInvoiceGeneration({
8618
8674
  const routeAccounts = {
8619
8675
  RGB: isRgbConnected,
8620
8676
  SPARK: isSparkConnected,
8621
- ARKADE: isArkadeConnected
8677
+ ARKADE: isArkadeConnected,
8678
+ // Liquid isn't offered by kaleido-ui's own DepositInvoiceGeneration; the
8679
+ // KaleidoSwap extension uses its own component for the Liquid receive path.
8680
+ LIQUID: false
8622
8681
  };
8623
8682
  const availableAccounts = resolveReceiveAccounts({ assetFamily, accounts: routeAccounts });
8624
8683
  const methodOptions = resolveReceiveMethodOptions({
@@ -8908,6 +8967,7 @@ export {
8908
8967
  KaleidoScopeHeroAnimation,
8909
8968
  Label2 as Label,
8910
8969
  LightningNetworkIcon,
8970
+ LiquidNetworkIcon,
8911
8971
  ListSkeletonRows,
8912
8972
  LoadingCard,
8913
8973
  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.90",
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",