|
| 1 | +import { Autopilot } from '../types/proto/lnd/autopilotrpc/autopilot'; |
| 2 | +import { ChainNotifier } from '../types/proto/lnd/chainrpc/chainnotifier'; |
| 3 | +import { Invoices } from '../types/proto/lnd/invoicesrpc/invoices'; |
| 4 | +import { Lightning } from '../types/proto/lnd/lightning'; |
| 5 | +import { Router } from '../types/proto/lnd/routerrpc/router'; |
| 6 | +import { Signer } from '../types/proto/lnd/signrpc/signer'; |
| 7 | +import { WalletKit } from '../types/proto/lnd/walletrpc/walletkit'; |
| 8 | +import { WalletUnlocker } from '../types/proto/lnd/walletunlocker'; |
| 9 | +import { Watchtower } from '../types/proto/lnd/watchtowerrpc/watchtower'; |
| 10 | +import { WatchtowerClient } from '../types/proto/lnd/wtclientrpc/wtclient'; |
| 11 | +import { serviceNames as sn } from '../types/proto/schema'; |
| 12 | + |
| 13 | +/** |
| 14 | + * An API wrapper to communicate with the LND node via GRPC |
| 15 | + */ |
| 16 | +class LndApi { |
| 17 | + autopilot: Autopilot; |
| 18 | + chainNotifier: ChainNotifier; |
| 19 | + invoices: Invoices; |
| 20 | + lightning: Lightning; |
| 21 | + router: Router; |
| 22 | + signer: Signer; |
| 23 | + walletKit: WalletKit; |
| 24 | + walletUnlocker: WalletUnlocker; |
| 25 | + watchtower: Watchtower; |
| 26 | + watchtowerClient: WatchtowerClient; |
| 27 | + |
| 28 | + constructor(createRpc: Function, lnc: any) { |
| 29 | + this.autopilot = createRpc(sn.autopilotrpc.Autopilot, lnc); |
| 30 | + this.chainNotifier = createRpc(sn.chainrpc.ChainNotifier, lnc); |
| 31 | + this.invoices = createRpc(sn.invoicesrpc.Invoices, lnc); |
| 32 | + this.lightning = createRpc(sn.lnrpc.Lightning, lnc); |
| 33 | + this.router = createRpc(sn.routerrpc.Router, lnc); |
| 34 | + this.signer = createRpc(sn.signrpc.Signer, lnc); |
| 35 | + this.walletKit = createRpc(sn.walletrpc.WalletKit, lnc); |
| 36 | + this.walletUnlocker = createRpc(sn.lnrpc.WalletUnlocker, lnc); |
| 37 | + this.watchtower = createRpc(sn.watchtowerrpc.Watchtower, lnc); |
| 38 | + this.watchtowerClient = createRpc(sn.wtclientrpc.WatchtowerClient, lnc); |
| 39 | + } |
| 40 | +} |
| 41 | + |
| 42 | +export default LndApi; |
0 commit comments