{
  "version": 3,
  "sources": ["../../src/modules/connected-accounts/classes/EnabledWallets.ts", "../../src/modules/connected-accounts/components/ConnectedAccountsFlexbox.tsx", "../../src/modules/connected-accounts/hooks/useDetectWallets.tsx", "../../src/modules/connected-accounts/hooks/useEnabledWallets.tsx", "../../src/modules/connected-accounts/components/wallet/dialogs/connect/CheckboxFormControl.tsx", "../../src/modules/connected-accounts/components/wallet/dialogs/connect/Dialog.tsx", "../../src/modules/connected-accounts/components/wallet/dialogs/connect/LinkedProvidersFlexbox.tsx", "../../src/modules/connected-accounts/img/xyo-color-logo.svg", "../../src/modules/connected-accounts/components/wallet/dialogs/connect/Permissions.tsx", "../../src/modules/connected-accounts/components/wallet/dialogs/revoke/Dialog.tsx", "../../src/modules/connected-accounts/components/wallet/lib/TableHeadData.ts", "../../src/modules/connected-accounts/components/wallet/table/cells/Accounts.tsx", "../../src/modules/connected-accounts/components/wallet/table/cells/Actions.tsx", "../../src/modules/connected-accounts/components/wallet/table/cells/ChainName.tsx", "../../src/modules/connected-accounts/components/wallet/table/cells/State.tsx", "../../src/modules/connected-accounts/components/wallet/table/cells/Wallet.tsx", "../../src/modules/connected-accounts/components/wallet/table/cells/Cells.tsx", "../../src/modules/connected-accounts/components/wallet/table/ConnectedWalletsTable.tsx", "../../src/modules/connected-accounts/components/wallet/table/ConnectedWalletsTableRow.tsx", "../../src/modules/connected-accounts/components/wallet/table/hooks/useActiveProviderDialogState.tsx"],
  "sourcesContent": ["import type { DiscoveredWallets, EIP6963Connector } from '@ariestools/sdk-react/crypto'\n\nconst DEFAULT_LOCAL_STORAGE_KEY = 'XYO|EnabledWallets'\n\n/** Map of wallet RDNS keys to connector instances and enabled flags. */\nexport type EnabledEthWalletsState = Record<string, {\n  enabled: boolean\n  wallet: EIP6963Connector\n}>\n\n/** Serializable map of wallet RDNS keys to enabled/disabled preferences. */\nexport type EnabledWalletsSavedState = Record<string, boolean>\n\n/** Listener invoked when enabled wallet state changes. */\nexport type WalletListener = () => void\n\n/** Tracks discovered ETH wallets, enablement preferences, and optional localStorage persistence. */\nexport class EnabledEthWalletConnections {\n  // control whether or not enabled/disabled preferences are persisted (i.e. in localStorage)\n  persistPreferences = true\n\n  // Map of wallet names and their enabled/disabled state\n  private enabledWallets: EnabledWalletsSavedState = {}\n\n  // Map of wallet names, their enabled/disabled state, and their wallet class\n  private ethWalletsState: EnabledEthWalletsState = {}\n\n  // list of listeners that want to be notified on wallet changes\n  private listeners: WalletListener[] = []\n\n  // key to use in localStorage when persisting preferences\n  private localStorageKey = DEFAULT_LOCAL_STORAGE_KEY\n\n  constructor(localStorageKey = DEFAULT_LOCAL_STORAGE_KEY) {\n    this.localStorageKey = localStorageKey\n    this.reviveSettings()\n  }\n\n  get wallets() {\n    return this.ethWalletsState\n  }\n\n  disableWallet(rdns: string) {\n    this.toggleEnabledWallet(rdns, false)\n  }\n\n  enableWallet(rdns: string) {\n    this.toggleEnabledWallet(rdns, true)\n  }\n\n  /**\n   * Given a new set of wallets, set their enabled state based off previous preferences\n   */\n  resetWallets(wallets: DiscoveredWallets) {\n    const newWallets: EnabledEthWalletsState = {}\n\n    const addWallet = ([walletName, wallet]: [string, EIP6963Connector]) => {\n      newWallets[walletName] = {\n        // preserve the existing enabled state\n        enabled: walletName in this.enabledWallets ? this.enabledWallets[walletName] : true,\n        wallet,\n      }\n    }\n\n    Object.entries(wallets).forEach((wallet) => {\n      if (wallet !== undefined) {\n        addWallet.bind(this)\n      }\n    })\n    this.ethWalletsState = newWallets\n    this.emitChange()\n  }\n\n  subscribe(listener: WalletListener) {\n    this.listeners = [...this.listeners, listener]\n    return () => {\n      this.listeners = this.listeners.filter(existingListener => existingListener !== listener)\n    }\n  }\n\n  toggleEnabledWallet(rdns: string, enabled: boolean) {\n    if (rdns && this.ethWalletsState[rdns]) {\n      this.ethWalletsState[rdns].enabled = enabled\n      this.ethWalletsState = { ...this.ethWalletsState }\n      this.emitChange()\n    }\n  }\n\n  private emitChange() {\n    for (const listener of this.listeners) {\n      listener()\n    }\n\n    this.persistSettings()\n  }\n\n  private isPersistance(method: () => void) {\n    if (this.persistPreferences) {\n      method()\n    }\n  }\n\n  private persistSettings() {\n    this.isPersistance(() => {\n      // convert wallet enabled selections into serializable state\n\n      const enabledWallets = Object.entries(this.ethWalletsState).reduce((acc, [rdns, { enabled }]) => {\n        acc[rdns] = enabled\n        return acc\n      }, {} as EnabledWalletsSavedState)\n\n      localStorage.setItem(this.localStorageKey, JSON.stringify(enabledWallets))\n    })\n  }\n\n  private reviveSettings() {\n    this.isPersistance(() => {\n      const existingEntries = localStorage.getItem(this.localStorageKey)\n      try {\n        const entries = existingEntries ? JSON.parse(existingEntries) : {}\n        this.enabledWallets = entries\n      } catch (e) {\n        console.warn(`Error parsing saved enabled wallet entries: ${(e as Error).message}`)\n      }\n    })\n  }\n}\n", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport { Typography, useTheme } from '@mui/material'\nimport React from 'react'\n\nimport { useDetectedWallets } from '../hooks/index.ts'\nimport { ConnectedWalletsTable } from './wallet/index.ts'\n\n/** Props for {@link ConnectedAccountsFlexbox}. */\nexport interface ConnectedAccountsFlexboxProps extends FlexBoxProps {\n  ignoreConnectDialog?: boolean\n  // A callback that is invoked when the option to ignore the dialog is checked\n  onIgnoreConnectDialog?: (checked: boolean) => void\n}\n\n/** Layout showing detected Web3 wallets and a connections table. */\nexport const ConnectedAccountsFlexbox = ({\n  ref, ignoreConnectDialog, onIgnoreConnectDialog, ...props\n}: ConnectedAccountsFlexboxProps) => {\n  const theme = useTheme()\n\n  const { totalConnectedAccounts, sortedWallets } = useDetectedWallets()\n\n  return (\n    <FlexCol\n      ref={ref}\n      {...props}\n      sx={[{\n        alignItems: 'stretch',\n        justifyContent: 'start',\n        gap: 2,\n      }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      <FlexCol sx={{ alignItems: 'start' }}>\n        <Typography variant=\"h2\" sx={{ mb: 0.5 }}>\n          Detected Web3 Wallets\n        </Typography>\n        {totalConnectedAccounts\n          ? (\n              <Typography variant=\"subtitle1\" color={theme.vars.palette.secondary.main} sx={{ opacity: 0.5 }}>\n                Total Connected Accounts:\n                {' '}\n                {totalConnectedAccounts}\n              </Typography>\n            )\n          : null}\n      </FlexCol>\n      <ConnectedWalletsTable wallets={sortedWallets} ignoreConnectDialog={ignoreConnectDialog} onIgnoreConnectDialog={onIgnoreConnectDialog} />\n    </FlexCol>\n  )\n}\n\nConnectedAccountsFlexbox.displayName = 'ConnectedAccountsFlexbox'\n", "import type { DiscoveredWallets, EIP6963Connector } from '@ariestools/sdk-react/crypto'\nimport { useWalletDiscovery } from '@ariestools/sdk-react/crypto'\nimport { useMemo } from 'react'\n\nconst sortWallets = (wallets: DiscoveredWallets) => {\n  const result: EIP6963Connector[] = []\n\n  for (const wallet of Object.values(wallets)) {\n    if (wallet) {\n      if (wallet.allowedAccounts.length > 0)\n        result.unshift(wallet)\n      else\n        result.push(wallet)\n    }\n  }\n  return result\n}\n\n/** Returns EIP-6963 discovered wallets sorted with connected accounts first. */\nexport const useDetectedWallets = () => {\n  const wallets = useWalletDiscovery()\n  const sortedWallets = useMemo(() => sortWallets(wallets), [wallets])\n\n  const totalConnectedAccounts = useMemo(\n    () => Object.values(sortedWallets).reduce((acc, wallet) => acc + wallet.allowedAccounts.length, 0),\n    [sortedWallets],\n  )\n\n  return { sortedWallets, totalConnectedAccounts }\n}\n", "import { useWalletDiscovery } from '@ariestools/sdk-react/crypto'\nimport { useMemo, useSyncExternalStore } from 'react'\n\nimport type { EnabledEthWalletsState, EnabledWalletsSavedState } from '../classes/index.ts'\nimport { EnabledEthWalletConnections } from '../classes/index.ts'\n\nconst enabledEthWalletsRef = { current: undefined as EnabledEthWalletConnections | undefined }\n\n/** Syncs discovered wallets into a global enabled-state store and returns the live map. */\nexport const useEnabledWalletsInner = (enabledWalletsRdns?: EnabledWalletsSavedState) => {\n  const discoveredWallets = useWalletDiscovery()\n\n  // when we discover new wallets, build their enabled state\n  const wallets = useMemo(() => {\n    // eslint-disable-next-line react-hooks/immutability\n    if (enabledEthWalletsRef.current === undefined) enabledEthWalletsRef.current = new EnabledEthWalletConnections()\n    enabledEthWalletsRef.current.resetWallets(discoveredWallets)\n    for (const [rdns, enabled] of Object.entries(enabledWalletsRdns ?? {})) enabledEthWalletsRef.current?.toggleEnabledWallet(rdns, enabled)\n    return enabledEthWalletsRef.current\n  }, [discoveredWallets, enabledWalletsRdns])\n\n  return useSyncExternalStore(wallets.subscribe.bind(wallets), () => wallets.wallets)\n}\n\n/** Returns enabled wallets plus helpers to enable or disable wallets by RDNS. */\nexport const useEnabledWallets = (enabledWalletsRdns?: EnabledWalletsSavedState) => {\n  const wallets = useEnabledWalletsInner(enabledWalletsRdns)\n  const enabledWallets = useMemo(\n    () =>\n\n      Object.entries(wallets).reduce((acc, [walletName, wallet]) => {\n        if (wallet.enabled) acc[walletName] = wallet\n        return acc\n      }, {} as EnabledEthWalletsState),\n    [wallets],\n  )\n\n  return {\n    disableWallet: enabledEthWalletsRef.current?.disableWallet.bind(enabledEthWalletsRef.current),\n    enableWallet: enabledEthWalletsRef.current?.enableWallet.bind(enabledEthWalletsRef.current),\n    enabledWallets,\n    wallets,\n  }\n}\n", "import type { FormControlProps } from '@mui/material'\nimport {\n  Checkbox, FormControl, FormLabel,\n} from '@mui/material'\nimport React from 'react'\n\n/** Props for {@link CheckboxFormControl}. */\nexport interface CheckboxFormControlProps extends FormControlProps {\n  onCheckChanged?: (checked: boolean) => void\n}\n\n/** Checkbox labeled \"Do not show this again\" for suppressible dialogs. */\nexport const CheckboxFormControl: React.FC<CheckboxFormControlProps> = ({ onCheckChanged, ...props }) => {\n  return (\n    <FormControl {...props}>\n      <FormLabel>\n        <Checkbox onChange={(_, checked) => onCheckChanged?.(checked)} />\n        Do not show this again.\n      </FormLabel>\n    </FormControl>\n  )\n}\n", "import type { DialogProps } from '@mui/material'\nimport {\n  Button, Dialog, DialogActions, DialogContent, DialogTitle,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { ActiveProvider } from '../../lib/index.ts'\nimport { CheckboxFormControl } from './CheckboxFormControl.tsx'\nimport { LinkedProvidersFlexbox } from './LinkedProvidersFlexbox.tsx'\nimport { WalletPermissionsFlexbox } from './Permissions.tsx'\n\n/** Props for {@link ConnectWalletDialog}. */\nexport interface ConnectWalletDialogProps extends DialogProps {\n  activeProvider?: ActiveProvider\n  onIgnoreConnectDialog?: (checked: boolean) => void\n}\n\n/** Dialog prompting the user to connect a selected wallet provider. */\nexport const ConnectWalletDialog: React.FC<ConnectWalletDialogProps> = ({\n  activeProvider, onIgnoreConnectDialog, ...props\n}) => {\n  const { icon, providerName } = activeProvider ?? {}\n\n  const onConnect = async () => {\n    try {\n      await activeProvider?.connectWallet?.()\n      props.onClose?.({}, 'escapeKeyDown')\n    } catch (e) {\n      console.warn(`Error connecting to wallet: ${(e as Error).message}`)\n    }\n  }\n\n  return (\n    <Dialog\n      slotProps={{ paper: { sx: { display: 'flex', gap: 4 } } }}\n      {...props}\n    >\n      <DialogTitle sx={{ textAlign: 'center' }}>XYO Wants To Access The Blockchain on Your Behalf</DialogTitle>\n      <DialogContent sx={{\n        display: 'flex', flexDirection: 'column', gap: 4,\n      }}\n      >\n        <LinkedProvidersFlexbox icon={icon} providerName={providerName} />\n        <WalletPermissionsFlexbox />\n        <CheckboxFormControl onCheckChanged={onIgnoreConnectDialog} />\n      </DialogContent>\n      <DialogActions>\n        <Button variant=\"outlined\" onClick={() => props.onClose?.({}, 'escapeKeyDown')}>\n          Close\n        </Button>\n        <Button variant=\"contained\" onClick={onConnect}>\n          Connect\n        </Button>\n      </DialogActions>\n    </Dialog>\n  )\n}\n", "import { ConstrainedImage } from '@ariestools/sdk-react/crypto'\nimport type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol, FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { SyncAlt } from '@mui/icons-material'\nimport { Typography } from '@mui/material'\nimport React from 'react'\n\nimport { xyoColorLogo } from '../../../../img/index.ts'\n\n/** Props for {@link LinkedProvidersFlexbox}. */\nexport interface LinkedProvidersFlexboxProps extends FlexBoxProps {\n  icon?: string\n  providerName?: string\n}\n\n/** Visual pairing of the XYO logo with a wallet provider icon. */\nexport const LinkedProvidersFlexbox: React.FC<LinkedProvidersFlexboxProps> = ({\n  icon, providerName, ...props\n}) => {\n  return (\n    <FlexRow\n      {...props}\n      sx={[{\n        gap: 4,\n        justifyContent: 'space-evenly',\n      }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      <FlexCol sx={{ gap: 0.5 }}>\n        <img alt=\"XYO Logo\" src={xyoColorLogo} style={{ height: '48px' }} />\n        <Typography variant=\"subtitle1\">XYO App</Typography>\n      </FlexCol>\n      <SyncAlt sx={{ fontSize: 'large' }} />\n      <FlexCol sx={{ gap: 0.5 }}>\n        <ConstrainedImage\n          constrainedValue=\"48px\"\n          src={icon}\n          alt={providerName}\n          style={{ height: '48px', maxWidth: '48px' }}\n        />\n        <Typography variant=\"subtitle1\">{providerName}</Typography>\n      </FlexCol>\n    </FlexRow>\n  )\n}\n", "<svg id=\"Layer_1\" data-name=\"Layer 1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 256 238\"><defs><style>.cls-1{fill:#8d8fc6;}.cls-2{fill:#579fd6;}.cls-3{fill:#f27046;}.cls-4{fill:#eb407a;}</style></defs><path class=\"cls-1\" d=\"M74.5,28.33,21.29,120.5,74.5,212.67H180.94l1.76-3,51.46-89.13L180.94,28.33ZM84.65,40.54h78.83L111.65,56.93a15.85,15.85,0,0,1,2,5l59.66-18.81L185.22,101a20.12,20.12,0,0,1,5.36-.78l-10-47.91,37.87,65.53h-7.62a24.21,24.21,0,0,1,.15,2.68,23.29,23.29,0,0,1-.15,2.68h7.62l-39.1,67.75,10.92-50.13A20.57,20.57,0,0,1,185,140l-12.88,59-58.37-19.53a17.61,17.61,0,0,1-1.7,5l47.5,15.92H84.65l4-6.85A20.17,20.17,0,0,1,83.93,191L80,197.78,42.67,133.13l37,32.66a20.52,20.52,0,0,1,3.6-4L36.69,120.66,85,77.79a17.45,17.45,0,0,1-3.19-4.32l-39.46,35L80,43.22l5.56,9.69A17.51,17.51,0,0,1,90.12,50Zm28.24,31.17a16.15,16.15,0,0,1-2.68,4.64l62,35.81a19.74,19.74,0,0,1,2.83-4.54Zm-20,10.51v75.33a18,18,0,0,1,2.47-.16,17.18,17.18,0,0,1,2.89.21v-75a11.21,11.21,0,0,1-1.29,0,17.57,17.57,0,0,1-4.07-.47Zm79.34,46.63-62.08,35.81a18.45,18.45,0,0,1,2.68,4.68l62.23-36a19.68,19.68,0,0,1-2.83-4.53Z\"/><path class=\"cls-2\" d=\"M97,48.58a17.06,17.06,0,1,0,17,17,17.08,17.08,0,0,0-17-17Zm0,5.36a11.7,11.7,0,1,1-11.7,11.69A11.65,11.65,0,0,1,97,53.94Z\"/><path class=\"cls-3\" d=\"M95.37,157.39a18.73,18.73,0,1,0,18.7,18.7,18.74,18.74,0,0,0-18.7-18.7Zm0,5.31A13.4,13.4,0,1,1,82,176.09a13.37,13.37,0,0,1,13.4-13.39Z\"/><path class=\"cls-4\" d=\"M190.73,100.2A20.3,20.3,0,1,0,211,120.5a20.34,20.34,0,0,0-20.3-20.3Zm0,5.36a14.94,14.94,0,1,1-14.94,14.94,14.88,14.88,0,0,1,14.94-14.94Z\"/></svg>", "import type { FlexBoxProps } from '@ariestools/sdk-react/flexbox'\nimport { FlexCol } from '@ariestools/sdk-react/flexbox'\nimport { Link, Typography } from '@mui/material'\nimport React from 'react'\n\n/** Props for {@link WalletPermissionsFlexbox}. */\nexport interface WalletPermissionsFlexBoxProps extends FlexBoxProps {}\n\n/** Explains the read-only wallet permissions requested by XYO. */\nexport const WalletPermissionsFlexbox: React.FC<WalletPermissionsFlexBoxProps> = (props) => {\n  return (\n    <FlexCol\n      {...props}\n      sx={[{ gap: 4 }, ...(Array.isArray(props.sx) ? props.sx : [props.sx])]}\n    >\n      <Typography\n        sx={{\n          fontWeight: 'bold',\n          textAlign: 'center',\n        }}\n      >\n        This will allow XYO to:\n      </Typography>\n      <ul>\n        <li>View your wallet account(s) and address(es)</li>\n        <li>Read-only access to browse the public blockchain(s) you select</li>\n      </ul>\n      <Typography variant=\"subtitle1\" sx={{ textAlign: 'center' }}>\n        You control what accounts to share and what blockchains to view. You can see or revoke access via your wallet&apos;s settings at anytime. View\n        more on XYO&apos;s sovereign data philosophy\n        {' '}\n        <Link\n          href=\"https://cointelegraph.com/innovation-circle/decentralization-and-sovereignty-debunking-our-approach-to-digital-sovereignty\"\n          sx={{ fontWeight: 'bold' }}\n          target=\"_blank\"\n        >\n          here\n        </Link>\n        .\n      </Typography>\n    </FlexCol>\n  )\n}\n", "import { ConstrainedImage } from '@ariestools/sdk-react/crypto'\nimport { FlexRow } from '@ariestools/sdk-react/flexbox'\nimport type { DialogProps } from '@mui/material'\nimport {\n  Button, Dialog, DialogActions, DialogContent, DialogTitle, Typography,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { ActiveProvider } from '../../lib/index.ts'\n\n/** Props for {@link RevokeWalletConnectionDialog}. */\nexport interface RevokeWalletConnectionDialogProps extends DialogProps {\n  activeProvider?: ActiveProvider\n}\n\n/** Dialog confirming revocation of a wallet provider connection. */\nexport const RevokeWalletConnectionDialog: React.FC<RevokeWalletConnectionDialogProps> = ({ activeProvider, ...props }) => {\n  return (\n    <Dialog {...props}>\n      <FlexRow\n        sx={{\n          gap: 2,\n          justifyContent: 'start',\n          pl: 2,\n        }}\n      >\n        <ConstrainedImage src={activeProvider?.icon} constrainedValue=\"24px\" />\n        <DialogTitle sx={{ pl: 0 }}>\n          Revoke\n          {activeProvider?.providerName}\n          {' '}\n          Access\n        </DialogTitle>\n      </FlexRow>\n      <DialogContent>\n        <Typography>\n          Revoking access to your wallet must be done from the wallet&apos;s browser extension. Wallets grant access to specific domains please\n          consult\n          {' '}\n          {activeProvider?.providerName}\n          &apos;s documentation on how to revoke access to this website:\n        </Typography>\n        <Typography>{globalThis.location.origin}</Typography>\n      </DialogContent>\n      <DialogActions>\n        <Button variant=\"contained\" onClick={() => props.onClose?.({}, 'escapeKeyDown')}>\n          Close\n        </Button>\n      </DialogActions>\n    </Dialog>\n  )\n}\n", "import type { TableHeadCell } from '#table'\n\n/** Column definitions for the connected wallets table header. */\nexport const WalletsTableHeadCells: TableHeadCell[] = [\n  {\n    disablePadding: false,\n    id: 'wallet',\n    label: 'Wallet',\n    numeric: false,\n    showOnMobile: true,\n  },\n  {\n    disablePadding: false,\n    id: 'chain',\n    label: 'Chain',\n    numeric: false,\n    showOnMobile: true,\n  },\n  {\n    disablePadding: false,\n    id: 'accounts',\n    label: 'Accounts',\n    numeric: true,\n    showOnMobile: true,\n  },\n  {\n    disablePadding: false,\n    id: 'actions',\n    label: 'Actions',\n    numeric: false,\n    showOnMobile: true,\n  },\n  {\n    disablePadding: false,\n    id: 'enabled',\n    label: 'Enabled',\n    numeric: false,\n    showOnMobile: true,\n  },\n]\n", "import {\n  TableCell, Tooltip, Typography,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\n/** Cell showing connected account count with optional account details. */\nexport const ConnectedWalletsAccountsTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n  additionalAccounts,\n  currentAccount,\n  totalAccounts,\n  tableCellProps,\n}) => {\n  return (\n    <TableCell {...tableCellProps}>\n      <Tooltip\n        sx={{ cursor: totalAccounts > 0 ? 'pointer' : 'auto' }}\n        title={[...(currentAccount ?? []), ...(additionalAccounts ?? [])].map(address => (\n          <p key={address}>{address}</p>\n        ))}\n      >\n        <Typography>{totalAccounts}</Typography>\n      </Tooltip>\n    </TableCell>\n  )\n}\n", "import { FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { Check, InfoOutlined } from '@mui/icons-material'\nimport {\n  Button, IconButton, TableCell, Typography,\n} from '@mui/material'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\n/** Cell with connect or revoke actions for a wallet row. */\nexport const ConnectedWalletsActionsTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n  connected, onConnect, onRevoke, tableCellProps,\n}) => {\n  return (\n    <TableCell {...tableCellProps}>\n      <FlexRow\n        sx={{\n          gap: 2,\n          justifyContent: 'start',\n        }}\n      >\n        {connected\n          ? (\n              <Typography sx={{ display: 'inline-flex', gap: 0.5 }}>\n                <Check />\n                Connected\n              </Typography>\n            )\n          : (\n              <Button variant=\"contained\" onClick={onConnect}>\n                Connect\n              </Button>\n            )}\n        {connected\n          ? (\n              <IconButton onClick={onRevoke}>\n                <InfoOutlined />\n              </IconButton>\n            )\n          : null}\n      </FlexRow>\n    </TableCell>\n  )\n}\n", "import { TableCell } from '@mui/material'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\n/** Cell displaying the active chain name for a wallet. */\nexport const ConnectedWalletsChainNameTableCell: React.FC<ConnectedWalletTableCellProps> = ({ chainName, tableCellProps }) => {\n  return <TableCell {...tableCellProps}>{chainName}</TableCell>\n}\n", "import { isDefined } from '@ariestools/sdk'\nimport { Switch, TableCell } from '@mui/material'\nimport type { ChangeEvent } from 'react'\nimport React, { useMemo } from 'react'\n\nimport { useEnabledWallets } from '../../../../hooks/index.ts'\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\n/** Cell with a switch to enable or disable a discovered wallet by RDNS. */\nexport const ConnectedWalletState: React.FC<ConnectedWalletTableCellProps> = ({\n  connected, walletRdns, tableCellProps,\n}) => {\n  const {\n    disableWallet, enableWallet, wallets,\n  } = useEnabledWallets()\n\n  const enabled = useMemo(() => (isDefined(walletRdns) ? wallets[walletRdns]?.enabled : false), [wallets, walletRdns])\n\n  const handleClick = (event: ChangeEvent<HTMLInputElement>) => {\n    const checked = event.target?.checked\n    if (isDefined(walletRdns)) {\n      // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n      checked ? enableWallet?.(walletRdns) : disableWallet?.(walletRdns)\n    }\n  }\n  return (\n    <TableCell {...tableCellProps}>\n      <Switch disabled={!connected} checked={connected && enabled} onChange={handleClick} />\n    </TableCell>\n  )\n}\n", "import { ConstrainedImage } from '@ariestools/sdk-react/crypto'\nimport { FlexRow } from '@ariestools/sdk-react/flexbox'\nimport { TableCell, useTheme } from '@mui/material'\nimport React from 'react'\n\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\n\n/** Cell showing a wallet icon and display name. */\nexport const ConnectedWalletsWalletTableCell: React.FC<ConnectedWalletTableCellProps> = ({\n  icon, walletName, tableCellProps,\n}) => {\n  const theme = useTheme()\n\n  return (\n    <TableCell {...tableCellProps}>\n      <FlexRow\n        sx={{\n          gap: 2,\n          justifyContent: 'start',\n        }}\n      >\n        <ConstrainedImage constrainedValue={theme.spacing(4)} src={icon} />\n        {walletName}\n      </FlexRow>\n    </TableCell>\n  )\n}\n", "import type { ComponentType } from 'react'\n\nimport { ConnectedWalletsAccountsTableCell } from './Accounts.tsx'\nimport { ConnectedWalletsActionsTableCell } from './Actions.tsx'\nimport { ConnectedWalletsChainNameTableCell } from './ChainName.tsx'\nimport type { ConnectedWalletTableCellProps } from './lib/index.ts'\nimport { ConnectedWalletState } from './State.tsx'\nimport { ConnectedWalletsWalletTableCell } from './Wallet.tsx'\n\n/** Ordered cell components used to render a connected wallets table row. */\nexport const ConnectedWalletTableCells: ComponentType<ConnectedWalletTableCellProps>[] = [\n  ConnectedWalletsWalletTableCell,\n  ConnectedWalletsChainNameTableCell,\n  ConnectedWalletsAccountsTableCell,\n  ConnectedWalletsActionsTableCell,\n  ConnectedWalletState,\n]\n", "import type { EIP6963Connector } from '@ariestools/sdk-react/crypto'\nimport type { TableProps } from '@mui/material'\nimport {\n  Table, TableBody, TableCell, TableHead, TableRow,\n} from '@mui/material'\nimport React, { useState } from 'react'\n\nimport { ConnectWalletDialog, RevokeWalletConnectionDialog } from '../dialogs/index.ts'\nimport type { ActiveProvider } from '../lib/index.ts'\nimport { WalletsTableHeadCells } from '../lib/index.ts'\nimport { WalletConnectionsTableRow } from './ConnectedWalletsTableRow.tsx'\nimport { useActiveProviderDialogState } from './hooks/index.ts'\n\n/** Props for {@link ConnectedWalletsTable}. */\nexport interface ConnectedWalletsTableProps extends TableProps {\n  ignoreConnectDialog?: boolean\n  onIgnoreConnectDialog?: (checked: boolean) => void\n  wallets?: EIP6963Connector[]\n}\n\n/** Table of discovered wallets with connect/revoke dialogs and enable toggles. */\nexport const ConnectedWalletsTable: React.FC<ConnectedWalletsTableProps> = ({\n  ignoreConnectDialog, onIgnoreConnectDialog, wallets, ...props\n}) => {\n  const [activeProvider, setActiveProvider] = useState<ActiveProvider>()\n  const [showConnect, onSetActiveProviderConnect, onConnectClose] = useActiveProviderDialogState(setActiveProvider)\n  const [showRevoke, onSetActiveProviderRevoke, onRevokeClose] = useActiveProviderDialogState(setActiveProvider)\n\n  return (\n    <>\n      <Table {...props}>\n        <TableHead>\n          <TableRow>\n            {WalletsTableHeadCells.map(({\n              disablePadding, id, label, align, width,\n            }) => (\n              <TableCell\n                align={align}\n                key={id}\n                sx={{\n                  padding: disablePadding ? 'none' : 'normal',\n                  width: width ?? 'auto',\n                }}\n              >\n                {label}\n              </TableCell>\n            ))}\n          </TableRow>\n        </TableHead>\n        <TableBody>\n          {(wallets ?? []).map(wallet => (\n            <WalletConnectionsTableRow\n              ignoreConnectDialog={ignoreConnectDialog}\n              key={wallet.providerInfo?.rdns}\n              onConnectClick={onSetActiveProviderConnect}\n              onRevoke={onSetActiveProviderRevoke}\n              wallet={wallet}\n            />\n          ))}\n        </TableBody>\n      </Table>\n      <RevokeWalletConnectionDialog open={showRevoke} onClose={onRevokeClose} activeProvider={activeProvider} />\n      <ConnectWalletDialog\n        activeProvider={activeProvider}\n        onClose={onConnectClose}\n        open={showConnect}\n        onIgnoreConnectDialog={onIgnoreConnectDialog}\n      />\n    </>\n  )\n}\n", "import type { EthWalletConnectorBase } from '@ariestools/sdk-react/crypto'\nimport { useEthWallet } from '@ariestools/sdk-react/crypto'\nimport type { TableRowProps } from '@mui/material'\nimport { TableRow } from '@mui/material'\nimport React, { useCallback, useMemo } from 'react'\n\nimport type { ActiveProvider } from '../lib/index.ts'\nimport { ConnectedWalletTableCells } from './cells/index.ts'\n\n/** Props for {@link WalletConnectionsTableRow}. */\nexport interface WalletConnectionsTableRowProps extends TableRowProps {\n  ignoreConnectDialog?: boolean\n  onConnectClick?: (activeProvider: ActiveProvider) => void\n  onRevoke?: (activeProvider: ActiveProvider) => void\n  wallet: EthWalletConnectorBase\n}\n\n/** Row summarizing a wallet's chain, accounts, actions, and enabled state. */\nexport const WalletConnectionsTableRow: React.FC<WalletConnectionsTableRowProps> = ({\n  ignoreConnectDialog,\n  onConnectClick,\n  onRevoke,\n  wallet,\n  ...props\n}) => {\n  const {\n    currentAccount: currentAccountFromWallet, additionalAccounts, chainName, connectWallet, providerInfo,\n  } = useEthWallet(wallet)\n\n  const currentAccount = currentAccountFromWallet?.toString() ? [currentAccountFromWallet.toString()] : []\n  const totalAccounts = (additionalAccounts?.length ?? 0) + (currentAccount?.length ?? 0)\n  const connected = !!(currentAccount?.length)\n  const {\n    icon, name, rdns,\n  } = useMemo(() => providerInfo ?? {\n    icon: undefined, name: undefined, rdns: undefined,\n  }, [providerInfo])\n\n  const activeProvider = useMemo<ActiveProvider>(\n    () => ({\n      connectWallet,\n      icon,\n      providerName: name,\n    }),\n    [connectWallet, icon, name],\n  )\n\n  const onRevokeLocal = useCallback(() => {\n    onRevoke?.(activeProvider)\n  }, [activeProvider, onRevoke])\n\n  const onConnectLocal = useCallback(async () => {\n    if (ignoreConnectDialog) {\n      await connectWallet?.()\n    } else {\n      onConnectClick?.(activeProvider)\n    }\n  }, [activeProvider, connectWallet, ignoreConnectDialog, onConnectClick])\n\n  return (\n    <TableRow {...props}>\n      {Object.entries(ConnectedWalletTableCells).map(([cellName, Cell]) => (\n        <Cell\n          key={cellName}\n          additionalAccounts={additionalAccounts}\n          chainName={chainName}\n          connected={connected}\n          currentAccount={currentAccount}\n          icon={icon}\n          onConnect={onConnectLocal}\n          onRevoke={onRevokeLocal}\n          totalAccounts={totalAccounts}\n          walletName={name}\n          walletRdns={rdns}\n        />\n      ))}\n    </TableRow>\n  )\n}\n", "import type { Dispatch, SetStateAction } from 'react'\nimport { useState } from 'react'\n\nimport type { ActiveProvider } from '../../lib/index.ts'\n\n/** Manages open/close state for connect or revoke dialogs tied to an active provider. */\nexport const useActiveProviderDialogState = (\n  setActiveProvider: Dispatch<SetStateAction<ActiveProvider | undefined>>,\n): [boolean, (activeProvider: ActiveProvider) => void, () => void] => {\n  const [show, setShow] = useState(false)\n  const onSetActiveProvider = (activeProvider: ActiveProvider) => {\n    setShow(true)\n    setActiveProvider(activeProvider)\n  }\n\n  const onClose = () => {\n    setShow(false)\n    setActiveProvider({})\n  }\n\n  return [show, onSetActiveProvider, onClose]\n}\n"],
  "mappings": ";AAEA,IAAM,4BAA4B;AAe3B,IAAM,8BAAN,MAAkC;AAAA;AAAA,EAEvC,qBAAqB;AAAA;AAAA,EAGb,iBAA2C,CAAC;AAAA;AAAA,EAG5C,kBAA0C,CAAC;AAAA;AAAA,EAG3C,YAA8B,CAAC;AAAA;AAAA,EAG/B,kBAAkB;AAAA,EAE1B,YAAY,kBAAkB,2BAA2B;AACvD,SAAK,kBAAkB;AACvB,SAAK,eAAe;AAAA,EACtB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,cAAc,MAAc;AAC1B,SAAK,oBAAoB,MAAM,KAAK;AAAA,EACtC;AAAA,EAEA,aAAa,MAAc;AACzB,SAAK,oBAAoB,MAAM,IAAI;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,SAA4B;AACvC,UAAM,aAAqC,CAAC;AAE5C,UAAM,YAAY,CAAC,CAAC,YAAY,MAAM,MAAkC;AACtE,iBAAW,UAAU,IAAI;AAAA;AAAA,QAEvB,SAAS,cAAc,KAAK,iBAAiB,KAAK,eAAe,UAAU,IAAI;AAAA,QAC/E;AAAA,MACF;AAAA,IACF;AAEA,WAAO,QAAQ,OAAO,EAAE,QAAQ,CAAC,WAAW;AAC1C,UAAI,WAAW,QAAW;AACxB,kBAAU,KAAK,IAAI;AAAA,MACrB;AAAA,IACF,CAAC;AACD,SAAK,kBAAkB;AACvB,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,UAAU,UAA0B;AAClC,SAAK,YAAY,CAAC,GAAG,KAAK,WAAW,QAAQ;AAC7C,WAAO,MAAM;AACX,WAAK,YAAY,KAAK,UAAU,OAAO,sBAAoB,qBAAqB,QAAQ;AAAA,IAC1F;AAAA,EACF;AAAA,EAEA,oBAAoB,MAAc,SAAkB;AAClD,QAAI,QAAQ,KAAK,gBAAgB,IAAI,GAAG;AACtC,WAAK,gBAAgB,IAAI,EAAE,UAAU;AACrC,WAAK,kBAAkB,EAAE,GAAG,KAAK,gBAAgB;AACjD,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EAEQ,aAAa;AACnB,eAAW,YAAY,KAAK,WAAW;AACrC,eAAS;AAAA,IACX;AAEA,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEQ,cAAc,QAAoB;AACxC,QAAI,KAAK,oBAAoB;AAC3B,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEQ,kBAAkB;AACxB,SAAK,cAAc,MAAM;AAGvB,YAAM,iBAAiB,OAAO,QAAQ,KAAK,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM;AAC/F,YAAI,IAAI,IAAI;AACZ,eAAO;AAAA,MACT,GAAG,CAAC,CAA6B;AAEjC,mBAAa,QAAQ,KAAK,iBAAiB,KAAK,UAAU,cAAc,CAAC;AAAA,IAC3E,CAAC;AAAA,EACH;AAAA,EAEQ,iBAAiB;AACvB,SAAK,cAAc,MAAM;AACvB,YAAM,kBAAkB,aAAa,QAAQ,KAAK,eAAe;AACjE,UAAI;AACF,cAAM,UAAU,kBAAkB,KAAK,MAAM,eAAe,IAAI,CAAC;AACjE,aAAK,iBAAiB;AAAA,MACxB,SAAS,GAAG;AACV,gBAAQ,KAAK,+CAAgD,EAAY,OAAO,EAAE;AAAA,MACpF;AAAA,IACF,CAAC;AAAA,EACH;AACF;;;AC7HA,SAAS,WAAAA,gBAAe;AACxB,SAAS,cAAAC,aAAY,YAAAC,iBAAgB;;;ACDrC,SAAS,0BAA0B;AACnC,SAAS,eAAe;AAExB,IAAM,cAAc,CAAC,YAA+B;AAClD,QAAM,SAA6B,CAAC;AAEpC,aAAW,UAAU,OAAO,OAAO,OAAO,GAAG;AAC3C,QAAI,QAAQ;AACV,UAAI,OAAO,gBAAgB,SAAS;AAClC,eAAO,QAAQ,MAAM;AAAA;AAErB,eAAO,KAAK,MAAM;AAAA,IACtB;AAAA,EACF;AACA,SAAO;AACT;AAGO,IAAM,qBAAqB,MAAM;AACtC,QAAM,UAAU,mBAAmB;AACnC,QAAM,gBAAgB,QAAQ,MAAM,YAAY,OAAO,GAAG,CAAC,OAAO,CAAC;AAEnE,QAAM,yBAAyB;AAAA,IAC7B,MAAM,OAAO,OAAO,aAAa,EAAE,OAAO,CAAC,KAAK,WAAW,MAAM,OAAO,gBAAgB,QAAQ,CAAC;AAAA,IACjG,CAAC,aAAa;AAAA,EAChB;AAEA,SAAO,EAAE,eAAe,uBAAuB;AACjD;;;AC7BA,SAAS,sBAAAC,2BAA0B;AACnC,SAAS,WAAAC,UAAS,4BAA4B;AAK9C,IAAM,uBAAuB,EAAE,SAAS,OAAqD;AAGtF,IAAM,yBAAyB,CAAC,uBAAkD;AACvF,QAAM,oBAAoBC,oBAAmB;AAG7C,QAAM,UAAUC,SAAQ,MAAM;AAE5B,QAAI,qBAAqB,YAAY,OAAW,sBAAqB,UAAU,IAAI,4BAA4B;AAC/G,yBAAqB,QAAQ,aAAa,iBAAiB;AAC3D,eAAW,CAAC,MAAM,OAAO,KAAK,OAAO,QAAQ,sBAAsB,CAAC,CAAC,EAAG,sBAAqB,SAAS,oBAAoB,MAAM,OAAO;AACvI,WAAO,qBAAqB;AAAA,EAC9B,GAAG,CAAC,mBAAmB,kBAAkB,CAAC;AAE1C,SAAO,qBAAqB,QAAQ,UAAU,KAAK,OAAO,GAAG,MAAM,QAAQ,OAAO;AACpF;AAGO,IAAM,oBAAoB,CAAC,uBAAkD;AAClF,QAAM,UAAU,uBAAuB,kBAAkB;AACzD,QAAM,iBAAiBA;AAAA,IACrB,MAEE,OAAO,QAAQ,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,MAAM,MAAM;AAC5D,UAAI,OAAO,QAAS,KAAI,UAAU,IAAI;AACtC,aAAO;AAAA,IACT,GAAG,CAAC,CAA2B;AAAA,IACjC,CAAC,OAAO;AAAA,EACV;AAEA,SAAO;AAAA,IACL,eAAe,qBAAqB,SAAS,cAAc,KAAK,qBAAqB,OAAO;AAAA,IAC5F,cAAc,qBAAqB,SAAS,aAAa,KAAK,qBAAqB,OAAO;AAAA,IAC1F;AAAA,IACA;AAAA,EACF;AACF;;;AC1CA;AAAA,EACE;AAAA,EAAU;AAAA,EAAa;AAAA,OAClB;AAYD,SACE,KADF;AAHC,IAAM,sBAA0D,CAAC,EAAE,gBAAgB,GAAG,MAAM,MAAM;AACvG,SACE,oBAAC,eAAa,GAAG,OACf,+BAAC,aACC;AAAA,wBAAC,YAAS,UAAU,CAAC,GAAG,YAAY,iBAAiB,OAAO,GAAG;AAAA,IAAE;AAAA,KAEnE,GACF;AAEJ;;;ACpBA;AAAA,EACE;AAAA,EAAQ;AAAA,EAAQ;AAAA,EAAe;AAAA,EAAe;AAAA,OACzC;;;ACHP,SAAS,wBAAwB;AAEjC,SAAS,SAAS,eAAe;AACjC,SAAS,eAAe;AACxB,SAAS,kBAAkB;;;ACJ3B;;;AD2BM,SACE,OAAAC,MADF,QAAAC,aAAA;AAXC,IAAM,yBAAgE,CAAC;AAAA,EAC5E;AAAA,EAAM;AAAA,EAAc,GAAG;AACzB,MAAM;AACJ,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,IAAI,CAAC;AAAA,QACH,KAAK;AAAA,QACL,gBAAgB;AAAA,MAClB,GAAG,GAAI,MAAM,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE;AAAA,MAEvD;AAAA,wBAAAA,MAAC,WAAQ,IAAI,EAAE,KAAK,IAAI,GACtB;AAAA,0BAAAD,KAAC,SAAI,KAAI,YAAW,KAAK,wBAAc,OAAO,EAAE,QAAQ,OAAO,GAAG;AAAA,UAClE,gBAAAA,KAAC,cAAW,SAAQ,aAAY,qBAAO;AAAA,WACzC;AAAA,QACA,gBAAAA,KAAC,WAAQ,IAAI,EAAE,UAAU,QAAQ,GAAG;AAAA,QACpC,gBAAAC,MAAC,WAAQ,IAAI,EAAE,KAAK,IAAI,GACtB;AAAA,0BAAAD;AAAA,YAAC;AAAA;AAAA,cACC,kBAAiB;AAAA,cACjB,KAAK;AAAA,cACL,KAAK;AAAA,cACL,OAAO,EAAE,QAAQ,QAAQ,UAAU,OAAO;AAAA;AAAA,UAC5C;AAAA,UACA,gBAAAA,KAAC,cAAW,SAAQ,aAAa,wBAAa;AAAA,WAChD;AAAA;AAAA;AAAA,EACF;AAEJ;;;AE1CA,SAAS,WAAAE,gBAAe;AACxB,SAAS,MAAM,cAAAC,mBAAkB;AAa3B,gBAAAC,MAQA,QAAAC,aARA;AANC,IAAM,2BAAoE,CAAC,UAAU;AAC1F,SACE,gBAAAA;AAAA,IAACH;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,GAAI,MAAM,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE;AAAA,MAErE;AAAA,wBAAAE;AAAA,UAACD;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,YAAY;AAAA,cACZ,WAAW;AAAA,YACb;AAAA,YACD;AAAA;AAAA,QAED;AAAA,QACA,gBAAAE,MAAC,QACC;AAAA,0BAAAD,KAAC,QAAG,yDAA2C;AAAA,UAC/C,gBAAAA,KAAC,QAAG,4EAA8D;AAAA,WACpE;AAAA,QACA,gBAAAC,MAACF,aAAA,EAAW,SAAQ,aAAY,IAAI,EAAE,WAAW,SAAS,GAAG;AAAA;AAAA,UAG1D;AAAA,UACD,gBAAAC;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,IAAI,EAAE,YAAY,OAAO;AAAA,cACzB,QAAO;AAAA,cACR;AAAA;AAAA,UAED;AAAA,UAAO;AAAA,WAET;AAAA;AAAA;AAAA,EACF;AAEJ;;;AHLM,gBAAAE,MACA,QAAAC,aADA;AAnBC,IAAM,sBAA0D,CAAC;AAAA,EACtE;AAAA,EAAgB;AAAA,EAAuB,GAAG;AAC5C,MAAM;AACJ,QAAM,EAAE,MAAM,aAAa,IAAI,kBAAkB,CAAC;AAElD,QAAM,YAAY,YAAY;AAC5B,QAAI;AACF,YAAM,gBAAgB,gBAAgB;AACtC,YAAM,UAAU,CAAC,GAAG,eAAe;AAAA,IACrC,SAAS,GAAG;AACV,cAAQ,KAAK,+BAAgC,EAAY,OAAO,EAAE;AAAA,IACpE;AAAA,EACF;AAEA,SACE,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,QAAQ,KAAK,EAAE,EAAE,EAAE;AAAA,MACvD,GAAG;AAAA,MAEJ;AAAA,wBAAAD,KAAC,eAAY,IAAI,EAAE,WAAW,SAAS,GAAG,+DAAiD;AAAA,QAC3F,gBAAAC;AAAA,UAAC;AAAA;AAAA,YAAc,IAAI;AAAA,cACjB,SAAS;AAAA,cAAQ,eAAe;AAAA,cAAU,KAAK;AAAA,YACjD;AAAA,YAEE;AAAA,8BAAAD,KAAC,0BAAuB,MAAY,cAA4B;AAAA,cAChE,gBAAAA,KAAC,4BAAyB;AAAA,cAC1B,gBAAAA,KAAC,uBAAoB,gBAAgB,uBAAuB;AAAA;AAAA;AAAA,QAC9D;AAAA,QACA,gBAAAC,MAAC,iBACC;AAAA,0BAAAD,KAAC,UAAO,SAAQ,YAAW,SAAS,MAAM,MAAM,UAAU,CAAC,GAAG,eAAe,GAAG,mBAEhF;AAAA,UACA,gBAAAA,KAAC,UAAO,SAAQ,aAAY,SAAS,WAAW,qBAEhD;AAAA,WACF;AAAA;AAAA;AAAA,EACF;AAEJ;;;AIxDA,SAAS,oBAAAE,yBAAwB;AACjC,SAAS,WAAAC,gBAAe;AAExB;AAAA,EACE,UAAAC;AAAA,EAAQ,UAAAC;AAAA,EAAQ,iBAAAC;AAAA,EAAe,iBAAAC;AAAA,EAAe,eAAAC;AAAA,EAAa,cAAAC;AAAA,OACtD;AAqBC,gBAAAC,MACA,QAAAC,aADA;AAVD,IAAM,+BAA4E,CAAC,EAAE,gBAAgB,GAAG,MAAM,MAAM;AACzH,SACE,gBAAAA,MAACN,SAAA,EAAQ,GAAG,OACV;AAAA,oBAAAM;AAAA,MAACR;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,KAAK;AAAA,UACL,gBAAgB;AAAA,UAChB,IAAI;AAAA,QACN;AAAA,QAEA;AAAA,0BAAAO,KAACR,mBAAA,EAAiB,KAAK,gBAAgB,MAAM,kBAAiB,QAAO;AAAA,UACrE,gBAAAS,MAACH,cAAA,EAAY,IAAI,EAAE,IAAI,EAAE,GAAG;AAAA;AAAA,YAEzB,gBAAgB;AAAA,YAChB;AAAA,YAAI;AAAA,aAEP;AAAA;AAAA;AAAA,IACF;AAAA,IACA,gBAAAG,MAACJ,gBAAA,EACC;AAAA,sBAAAI,MAACF,aAAA,EAAW;AAAA;AAAA,QAGT;AAAA,QACA,gBAAgB;AAAA,QAAa;AAAA,SAEhC;AAAA,MACA,gBAAAC,KAACD,aAAA,EAAY,qBAAW,SAAS,QAAO;AAAA,OAC1C;AAAA,IACA,gBAAAC,KAACJ,gBAAA,EACC,0BAAAI,KAACN,SAAA,EAAO,SAAQ,aAAY,SAAS,MAAM,MAAM,UAAU,CAAC,GAAG,eAAe,GAAG,mBAEjF,GACF;AAAA,KACF;AAEJ;;;AChDO,IAAM,wBAAyC;AAAA,EACpD;AAAA,IACE,gBAAgB;AAAA,IAChB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAc;AAAA,EAChB;AAAA,EACA;AAAA,IACE,gBAAgB;AAAA,IAChB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAc;AAAA,EAChB;AAAA,EACA;AAAA,IACE,gBAAgB;AAAA,IAChB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAc;AAAA,EAChB;AAAA,EACA;AAAA,IACE,gBAAgB;AAAA,IAChB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAc;AAAA,EAChB;AAAA,EACA;AAAA,IACE,gBAAgB;AAAA,IAChB,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,cAAc;AAAA,EAChB;AACF;;;ACvCA;AAAA,EACE;AAAA,EAAW;AAAA,EAAS,cAAAQ;AAAA,OACf;AAiBG,gBAAAC,YAAA;AAXH,IAAM,oCAA6E,CAAC;AAAA,EACzF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,SACE,gBAAAA,KAAC,aAAW,GAAG,gBACb,0BAAAA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,EAAE,QAAQ,gBAAgB,IAAI,YAAY,OAAO;AAAA,MACrD,OAAO,CAAC,GAAI,kBAAkB,CAAC,GAAI,GAAI,sBAAsB,CAAC,CAAE,EAAE,IAAI,aACpE,gBAAAA,KAAC,OAAiB,qBAAV,OAAkB,CAC3B;AAAA,MAED,0BAAAA,KAACD,aAAA,EAAY,yBAAc;AAAA;AAAA,EAC7B,GACF;AAEJ;;;AC1BA,SAAS,WAAAE,gBAAe;AACxB,SAAS,OAAO,oBAAoB;AACpC;AAAA,EACE,UAAAC;AAAA,EAAQ;AAAA,EAAY,aAAAC;AAAA,EAAW,cAAAC;AAAA,OAC1B;AAmBO,SACE,OAAAC,MADF,QAAAC,aAAA;AAbP,IAAM,mCAA4E,CAAC;AAAA,EACxF;AAAA,EAAW;AAAA,EAAW;AAAA,EAAU;AAClC,MAAM;AACJ,SACE,gBAAAD,KAACF,YAAA,EAAW,GAAG,gBACb,0BAAAG;AAAA,IAACL;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,KAAK;AAAA,QACL,gBAAgB;AAAA,MAClB;AAAA,MAEC;AAAA,oBAEK,gBAAAK,MAACF,aAAA,EAAW,IAAI,EAAE,SAAS,eAAe,KAAK,IAAI,GACjD;AAAA,0BAAAC,KAAC,SAAM;AAAA,UAAE;AAAA,WAEX,IAGA,gBAAAA,KAACH,SAAA,EAAO,SAAQ,aAAY,SAAS,WAAW,qBAEhD;AAAA,QAEL,YAEK,gBAAAG,KAAC,cAAW,SAAS,UACnB,0BAAAA,KAAC,gBAAa,GAChB,IAEF;AAAA;AAAA;AAAA,EACN,GACF;AAEJ;;;AC3CA,SAAS,aAAAE,kBAAiB;AAOjB,gBAAAC,YAAA;AADF,IAAM,qCAA8E,CAAC,EAAE,WAAW,eAAe,MAAM;AAC5H,SAAO,gBAAAA,KAACD,YAAA,EAAW,GAAG,gBAAiB,qBAAU;AACnD;;;ACRA,SAAS,iBAAiB;AAC1B,SAAS,QAAQ,aAAAE,kBAAiB;AAElC,SAAgB,WAAAC,gBAAe;AAwBzB,gBAAAC,YAAA;AAlBC,IAAM,uBAAgE,CAAC;AAAA,EAC5E;AAAA,EAAW;AAAA,EAAY;AACzB,MAAM;AACJ,QAAM;AAAA,IACJ;AAAA,IAAe;AAAA,IAAc;AAAA,EAC/B,IAAI,kBAAkB;AAEtB,QAAM,UAAUC,SAAQ,MAAO,UAAU,UAAU,IAAI,QAAQ,UAAU,GAAG,UAAU,OAAQ,CAAC,SAAS,UAAU,CAAC;AAEnH,QAAM,cAAc,CAAC,UAAyC;AAC5D,UAAM,UAAU,MAAM,QAAQ;AAC9B,QAAI,UAAU,UAAU,GAAG;AAEzB,gBAAU,eAAe,UAAU,IAAI,gBAAgB,UAAU;AAAA,IACnE;AAAA,EACF;AACA,SACE,gBAAAD,KAACE,YAAA,EAAW,GAAG,gBACb,0BAAAF,KAAC,UAAO,UAAU,CAAC,WAAW,SAAS,aAAa,SAAS,UAAU,aAAa,GACtF;AAEJ;;;AC9BA,SAAS,oBAAAG,yBAAwB;AACjC,SAAS,WAAAC,gBAAe;AACxB,SAAS,aAAAC,YAAW,gBAAgB;AAa9B,SAME,OAAAC,OANF,QAAAC,aAAA;AAPC,IAAM,kCAA2E,CAAC;AAAA,EACvF;AAAA,EAAM;AAAA,EAAY;AACpB,MAAM;AACJ,QAAM,QAAQ,SAAS;AAEvB,SACE,gBAAAD,MAACD,YAAA,EAAW,GAAG,gBACb,0BAAAE;AAAA,IAACH;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,QACF,KAAK;AAAA,QACL,gBAAgB;AAAA,MAClB;AAAA,MAEA;AAAA,wBAAAE,MAACH,mBAAA,EAAiB,kBAAkB,MAAM,QAAQ,CAAC,GAAG,KAAK,MAAM;AAAA,QAChE;AAAA;AAAA;AAAA,EACH,GACF;AAEJ;;;AChBO,IAAM,4BAA4E;AAAA,EACvF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACdA;AAAA,EACE;AAAA,EAAO;AAAA,EAAW,aAAAK;AAAA,EAAW;AAAA,EAAW,YAAAC;AAAA,OACnC;AACP,SAAgB,YAAAC,iBAAgB;;;ACJhC,SAAS,oBAAoB;AAE7B,SAAS,gBAAgB;AACzB,SAAgB,aAAa,WAAAC,gBAAe;AA0DpC,gBAAAC,aAAA;AA5CD,IAAM,4BAAsE,CAAC;AAAA,EAClF;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM;AAAA,IACJ,gBAAgB;AAAA,IAA0B;AAAA,IAAoB;AAAA,IAAW;AAAA,IAAe;AAAA,EAC1F,IAAI,aAAa,MAAM;AAEvB,QAAM,iBAAiB,0BAA0B,SAAS,IAAI,CAAC,yBAAyB,SAAS,CAAC,IAAI,CAAC;AACvG,QAAM,iBAAiB,oBAAoB,UAAU,MAAM,gBAAgB,UAAU;AACrF,QAAM,YAAY,CAAC,CAAE,gBAAgB;AACrC,QAAM;AAAA,IACJ;AAAA,IAAM;AAAA,IAAM;AAAA,EACd,IAAIC,SAAQ,MAAM,gBAAgB;AAAA,IAChC,MAAM;AAAA,IAAW,MAAM;AAAA,IAAW,MAAM;AAAA,EAC1C,GAAG,CAAC,YAAY,CAAC;AAEjB,QAAM,iBAAiBA;AAAA,IACrB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,cAAc;AAAA,IAChB;AAAA,IACA,CAAC,eAAe,MAAM,IAAI;AAAA,EAC5B;AAEA,QAAM,gBAAgB,YAAY,MAAM;AACtC,eAAW,cAAc;AAAA,EAC3B,GAAG,CAAC,gBAAgB,QAAQ,CAAC;AAE7B,QAAM,iBAAiB,YAAY,YAAY;AAC7C,QAAI,qBAAqB;AACvB,YAAM,gBAAgB;AAAA,IACxB,OAAO;AACL,uBAAiB,cAAc;AAAA,IACjC;AAAA,EACF,GAAG,CAAC,gBAAgB,eAAe,qBAAqB,cAAc,CAAC;AAEvE,SACE,gBAAAD,MAAC,YAAU,GAAG,OACX,iBAAO,QAAQ,yBAAyB,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,MAC7D,gBAAAA;AAAA,IAAC;AAAA;AAAA,MAEC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX,UAAU;AAAA,MACV;AAAA,MACA,YAAY;AAAA,MACZ,YAAY;AAAA;AAAA,IAVP;AAAA,EAWP,CACD,GACH;AAEJ;;;AC7EA,SAAS,gBAAgB;AAKlB,IAAM,+BAA+B,CAC1C,sBACoE;AACpE,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,QAAM,sBAAsB,CAAC,mBAAmC;AAC9D,YAAQ,IAAI;AACZ,sBAAkB,cAAc;AAAA,EAClC;AAEA,QAAM,UAAU,MAAM;AACpB,YAAQ,KAAK;AACb,sBAAkB,CAAC,CAAC;AAAA,EACtB;AAEA,SAAO,CAAC,MAAM,qBAAqB,OAAO;AAC5C;;;AFQI,mBAOU,OAAAE,OANR,QAAAC,aADF;AARG,IAAM,wBAA8D,CAAC;AAAA,EAC1E;AAAA,EAAqB;AAAA,EAAuB;AAAA,EAAS,GAAG;AAC1D,MAAM;AACJ,QAAM,CAAC,gBAAgB,iBAAiB,IAAIC,UAAyB;AACrE,QAAM,CAAC,aAAa,4BAA4B,cAAc,IAAI,6BAA6B,iBAAiB;AAChH,QAAM,CAAC,YAAY,2BAA2B,aAAa,IAAI,6BAA6B,iBAAiB;AAE7G,SACE,gBAAAD,MAAA,YACE;AAAA,oBAAAA,MAAC,SAAO,GAAG,OACT;AAAA,sBAAAD,MAAC,aACC,0BAAAA,MAACG,WAAA,EACE,gCAAsB,IAAI,CAAC;AAAA,QAC1B;AAAA,QAAgB;AAAA,QAAI;AAAA,QAAO;AAAA,QAAO;AAAA,MACpC,MACE,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UACC;AAAA,UAEA,IAAI;AAAA,YACF,SAAS,iBAAiB,SAAS;AAAA,YACnC,OAAO,SAAS;AAAA,UAClB;AAAA,UAEC;AAAA;AAAA,QANI;AAAA,MAOP,CACD,GACH,GACF;AAAA,MACA,gBAAAJ,MAAC,aACG,sBAAW,CAAC,GAAG,IAAI,YACnB,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UAEA,gBAAgB;AAAA,UAChB,UAAU;AAAA,UACV;AAAA;AAAA,QAHK,OAAO,cAAc;AAAA,MAI5B,CACD,GACH;AAAA,OACF;AAAA,IACA,gBAAAA,MAAC,gCAA6B,MAAM,YAAY,SAAS,eAAe,gBAAgC;AAAA,IACxG,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,SAAS;AAAA,QACT,MAAM;AAAA,QACN;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;;;AhBpCQ,gBAAAK,OAKM,QAAAC,aALN;AAlBD,IAAM,2BAA2B,CAAC;AAAA,EACvC;AAAA,EAAK;AAAA,EAAqB;AAAA,EAAuB,GAAG;AACtD,MAAqC;AACnC,QAAM,QAAQC,UAAS;AAEvB,QAAM,EAAE,wBAAwB,cAAc,IAAI,mBAAmB;AAErE,SACE,gBAAAD;AAAA,IAACE;AAAA,IAAA;AAAA,MACC;AAAA,MACC,GAAG;AAAA,MACJ,IAAI,CAAC;AAAA,QACH,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,KAAK;AAAA,MACP,GAAG,GAAI,MAAM,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAK,CAAC,MAAM,EAAE,CAAE;AAAA,MAEvD;AAAA,wBAAAF,MAACE,UAAA,EAAQ,IAAI,EAAE,YAAY,QAAQ,GACjC;AAAA,0BAAAH,MAACI,aAAA,EAAW,SAAQ,MAAK,IAAI,EAAE,IAAI,IAAI,GAAG,mCAE1C;AAAA,UACC,yBAEK,gBAAAH,MAACG,aAAA,EAAW,SAAQ,aAAY,OAAO,MAAM,KAAK,QAAQ,UAAU,MAAM,IAAI,EAAE,SAAS,IAAI,GAAG;AAAA;AAAA,YAE7F;AAAA,YACA;AAAA,aACH,IAEF;AAAA,WACN;AAAA,QACA,gBAAAJ,MAAC,yBAAsB,SAAS,eAAe,qBAA0C,uBAA8C;AAAA;AAAA;AAAA,EACzI;AAEJ;AAEA,yBAAyB,cAAc;",
  "names": ["FlexCol", "Typography", "useTheme", "useWalletDiscovery", "useMemo", "useWalletDiscovery", "useMemo", "jsx", "jsxs", "FlexCol", "Typography", "jsx", "jsxs", "jsx", "jsxs", "ConstrainedImage", "FlexRow", "Button", "Dialog", "DialogActions", "DialogContent", "DialogTitle", "Typography", "jsx", "jsxs", "Typography", "jsx", "FlexRow", "Button", "TableCell", "Typography", "jsx", "jsxs", "TableCell", "jsx", "TableCell", "useMemo", "jsx", "useMemo", "TableCell", "ConstrainedImage", "FlexRow", "TableCell", "jsx", "jsxs", "TableCell", "TableRow", "useState", "useMemo", "jsx", "useMemo", "jsx", "jsxs", "useState", "TableRow", "TableCell", "jsx", "jsxs", "useTheme", "FlexCol", "Typography"]
}
