From 8b06e5a742a529e98736a2b60dc3b2f5d581fe03 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Wed, 4 Aug 2021 07:00:20 -0700 Subject: config update, lnd support --- lib/lnd.js | 44 ++++++++++---------------------------------- lib/send.js | 2 +- 2 files changed, 11 insertions(+), 35 deletions(-) (limited to 'lib') diff --git a/lib/lnd.js b/lib/lnd.js index c6caf3be..b31933a5 100644 --- a/lib/lnd.js +++ b/lib/lnd.js @@ -1,36 +1,12 @@ -const fs = require('fs'); -const path = require('path'); -const grpc = require('@grpc/grpc-js'); -const protoLoader = require('@grpc/proto-loader'); -const { promisify } = require('util'); +const { promisify } = require("util"); +const { authenticatedLndGrpc } = require("lightning"); +const { cert, macaroon, socket } = config.lna; -module.exports = ({ tls, macaroon, server }) => { - const packageDefinition = protoLoader.loadSync('config/rpc.proto', { - keepCase: true, - longs: String, - enums: String, - defaults: true, - oneofs: true - }); - const lnrpc = grpc.loadPackageDefinition(packageDefinition).lnrpc; - process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA' - const lndCert = fs.readFileSync(tls); - const sslCreds = grpc.credentials.createSsl(lndCert); - const macaroonCreds = grpc.credentials.createFromMetadataGenerator(function(args, callback) { - const macaroonFile = fs.readFileSync(macaroon).toString('hex'); - const metadata = new grpc.Metadata() - metadata.add('macaroon', macaroonFile); - callback(null, metadata); - }); - const creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds); - const lnd = new lnrpc.Lightning(server, creds); - - return new Proxy(lnd, { - get(target, key) { - const method = target[key]; - if (typeof method === 'function' && !key.startsWith('sub')) return promisify(method); - return target[key]; - }, - }); -} +const { lnd } = authenticatedLndGrpc({ + cert, + macaroon, + socket +}); + +module.exports = lnd diff --git a/lib/send.js b/lib/send.js index fd577231..92b2eda3 100644 --- a/lib/send.js +++ b/lib/send.js @@ -52,7 +52,7 @@ send = async (amount, memo, hash, user) => { fee = parseInt((sent - total) / 1000); total = parseInt(total / 1000); } else { - let m = await lna.sendPaymentSync({ + let m = await lnp.sendPaymentSync({ amt: amount, payment_request: hash, max_parts: 10, -- cgit v1.2.3