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