backendType.tsx raw

   1  import { ReactElement } from "react";
   2  import { LDKIcon } from "src/components/icons/LDK";
   3  import { PhoenixdIcon } from "src/components/icons/Phoenixd";
   4  import { BackendType } from "src/types";
   5  
   6  import barkDark from "src/assets/images/node/bark-dark.svg";
   7  import barkLight from "src/assets/images/node/bark-light.svg";
   8  import cashu from "src/assets/images/node/cashu.png";
   9  import cln from "src/assets/images/node/cln.png";
  10  import lnd from "src/assets/images/node/lnd.png";
  11  
  12  type BackendTypeConfig = {
  13    title: string;
  14    icon: ReactElement;
  15    hasMnemonic: boolean;
  16    hasChannelManagement: boolean;
  17    hasNodeBackup: boolean;
  18  };
  19  
  20  export const backendTypeConfigs: Record<BackendType, BackendTypeConfig> = {
  21    LDK: {
  22      title: "LDK",
  23      icon: <LDKIcon />,
  24      hasMnemonic: true,
  25      hasChannelManagement: true,
  26      hasNodeBackup: true,
  27    },
  28    PHOENIX: {
  29      title: "phoenixd",
  30      icon: <PhoenixdIcon />,
  31      hasMnemonic: false,
  32      hasChannelManagement: false,
  33      hasNodeBackup: false,
  34    },
  35    LND: {
  36      title: "LND",
  37      icon: <img src={lnd} />,
  38      hasMnemonic: false,
  39      hasChannelManagement: true,
  40      hasNodeBackup: false,
  41    },
  42    CASHU: {
  43      title: "Cashu Mint",
  44      icon: <img src={cashu} />,
  45      hasMnemonic: true,
  46      hasChannelManagement: false,
  47      hasNodeBackup: false,
  48    },
  49    CLN: {
  50      title: "CLN",
  51      icon: <img src={cln} />,
  52      hasMnemonic: false,
  53      hasChannelManagement: true,
  54      hasNodeBackup: false,
  55    },
  56    BARK: {
  57      title: "Bark",
  58      icon: (
  59        <>
  60          <img src={barkLight} className="dark:hidden" />
  61          <img src={barkDark} className="hidden dark:block" />
  62        </>
  63      ),
  64      hasMnemonic: true,
  65      hasChannelManagement: false,
  66      hasNodeBackup: false,
  67    },
  68  };
  69