From e1cc56b8d5ddd95b5e39b015555d83fad6cfd9e4 Mon Sep 17 00:00:00 2001 From: ShahanaFarooqui Date: Tue, 14 Nov 2023 21:12:13 -0800 Subject: [PATCH] Removed `removeMsat` and lookup page --- backend/controllers/cln/channels.js | 34 ------------------- backend/controllers/cln/getInfo.js | 1 - backend/controllers/cln/invoices.js | 4 --- backend/controllers/cln/network.js | 15 ++++---- backend/controllers/cln/onchain.js | 3 -- backend/controllers/cln/payments.js | 4 --- backend/controllers/cln/peers.js | 28 +-------------- backend/controllers/cln/utility.js | 14 -------- backend/utils/common.js | 1 - server/controllers/cln/channels.ts | 34 ------------------- server/controllers/cln/getInfo.ts | 1 - server/controllers/cln/invoices.ts | 4 --- server/controllers/cln/network.ts | 15 ++++---- server/controllers/cln/onchain.ts | 3 -- server/controllers/cln/payments.ts | 4 --- server/controllers/cln/peers.ts | 28 +-------------- server/controllers/cln/utility.ts | 14 -------- server/utils/common.ts | 2 -- .../cln/graph/lookups/lookups.component.ts | 2 +- .../query-routes/query-routes.component.ts | 5 ++- src/app/cln/store/cln.effects.ts | 12 +++---- src/app/shared/models/clnModels.ts | 2 +- 22 files changed, 24 insertions(+), 206 deletions(-) diff --git a/backend/controllers/cln/channels.js b/backend/controllers/cln/channels.js index 1d8cc72f..78600fe2 100644 --- a/backend/controllers/cln/channels.js +++ b/backend/controllers/cln/channels.js @@ -15,29 +15,7 @@ export const listPeerChannels = (req, res, next) => { request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Channels', msg: 'Peer Channels List Received', data: body.channels }); return Promise.all(body.channels?.map((channel) => { - channel.to_us_msat = common.removeMSat(channel.to_us_msat); - channel.total_msat = common.removeMSat(channel.total_msat); channel.to_them_msat = channel.total_msat - channel.to_us_msat; - channel.last_tx_fee_msat = common.removeMSat(channel.last_tx_fee_msat); - channel.funding.local_funds_msat = common.removeMSat(channel.funding.local_funds_msat); - channel.funding.remote_funds_msat = common.removeMSat(channel.funding.remote_funds_msat); - channel.funding.pushed_msat = common.removeMSat(channel.funding.pushed_msat); - channel.min_to_us_msat = common.removeMSat(channel.min_to_us_msat); - channel.max_to_us_msat = common.removeMSat(channel.max); - channel.fee_base_msat = common.removeMSat(channel.fee_base_msat); - channel.dust_limit_msat = common.removeMSat(channel.dust_limit_msat); - channel.max_total_htlc_in_msat = common.removeMSat(channel.max_total_htlc_in_msat); - channel.their_reserve_msat = common.removeMSat(channel.their_reserve_msat); - channel.our_reserve_msat = common.removeMSat(channel.our_reserve_msat); - channel.spendable_msat = common.removeMSat(channel.spendable_msat); - channel.receivable_msat = common.removeMSat(channel.receivable_msat); - channel.minimum_htlc_in_msat = common.removeMSat(channel.minimum_htlc_in_msat); - channel.minimum_htlc_out_msat = common.removeMSat(channel.minimum_htlc_out_msat); - channel.maximum_htlc_out_msat = common.removeMSat(channel.maximum_htlc_out_msat); - channel.in_offered_msat = common.removeMSat(channel.in_offered_msat); - channel.in_fulfilled_msat = common.removeMSat(channel.in_fulfilled_msat); - channel.out_offered_msat = common.removeMSat(channel.out_offered_msat); - channel.out_fulfilled_msat = common.removeMSat(channel.out_fulfilled_msat); channel.balancedness = (channel.total_msat === 0) ? 1 : (1 - Math.abs((channel.to_us_msat - (channel.total_msat - channel.to_us_msat)) / channel.total_msat)).toFixed(3); return getAlias(req.session.selectedNode, channel, 'peer_id'); })).then((values) => { @@ -112,11 +90,6 @@ export const listForwards = (req, res, next) => { request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Channels', msg: 'Forwarding History Received For Status ' + req.body.status, data: body }); body.forwards = !body.forwards ? [] : (req.body.status === 'failed' || req.body.status === 'local_failed') ? body.forwards.slice(Math.max(0, body.forwards.length - 1000), Math.max(1000, body.forwards.length)).reverse() : body.forwards.reverse(); - body.forwards.forEach((forward) => { - forward.in_msat = common.removeMSat(forward.in_msat); - forward.out_msat = common.removeMSat(forward.out_msat); - forward.fee_msat = common.removeMSat(forward.fee_msat); - }); res.status(200).json(body.forwards); }).catch((errRes) => { const err = common.handleError(errRes, 'Channels', 'Forwarding History Error', req.session.selectedNode); @@ -134,13 +107,6 @@ export const funderUpdatePolicy = (req, res, next) => { logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Channels', msg: 'Funder Update Body', data: options.body }); request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Channels', msg: 'Funder Policy Received', data: body }); - body.min_their_funding_msat = common.removeMSat(body.min_their_funding_msat); - body.max_their_funding_msat = common.removeMSat(body.max_their_funding_msat); - body.per_channel_min_msat = common.removeMSat(body.per_channel_min_msat); - body.per_channel_max_msat = common.removeMSat(body.per_channel_max_msat); - body.reserve_tank_msat = common.removeMSat(body.reserve_tank_msat); - body.channel_fee_max_base_msat = common.removeMSat(body.channel_fee_max_base_msat); - body.lease_fee_base_msat = common.removeMSat(body.lease_fee_base_msat); res.status(200).json(body); }).catch((errRes) => { const err = common.handleError(errRes, 'Channels', 'Funder Policy Error', req.session.selectedNode); diff --git a/backend/controllers/cln/getInfo.js b/backend/controllers/cln/getInfo.js index 34131818..486a403f 100644 --- a/backend/controllers/cln/getInfo.js +++ b/backend/controllers/cln/getInfo.js @@ -48,7 +48,6 @@ export const getInfo = (req, res, next) => { body.uris.push(body.id + '@' + addr.address + ':' + addr.port); }); } - body.fees_collected_msat = common.removeMSat(body.fees_collected_msat); req.session.selectedNode.ln_version = body.version || ''; req.session.selectedNode.api_version = body.api_version || ''; logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'GetInfo', msg: 'Connecting to the Core Lightning\'s Websocket Server.' }); diff --git a/backend/controllers/cln/invoices.js b/backend/controllers/cln/invoices.js index 1b4bb758..d7fdf280 100644 --- a/backend/controllers/cln/invoices.js +++ b/backend/controllers/cln/invoices.js @@ -31,10 +31,6 @@ export const listInvoices = (req, res, next) => { logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List URL', data: options.url }); request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List Received', data: body }); - body.invoices.forEach((invoice) => { - invoice.amount_msat = common.removeMSat(invoice.amount_msat); - invoice.amount_received_msat = common.removeMSat(invoice.amount_received_msat); - }); res.status(200).json(body); }).catch((errRes) => { const err = common.handleError(errRes, 'Invoice', 'List Invoices Error', req.session.selectedNode); diff --git a/backend/controllers/cln/network.js b/backend/controllers/cln/network.js index 9188d179..f0b16560 100644 --- a/backend/controllers/cln/network.js +++ b/backend/controllers/cln/network.js @@ -14,7 +14,10 @@ export const getRoute = (req, res, next) => { options.body = req.body; request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Network', msg: 'Network Routes Received', data: body }); - res.status(200).json({ routes: body }); + return Promise.all(body.route?.map((rt) => getAlias(req.session.selectedNode, rt, 'id'))).then((values) => { + logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Peers', msg: 'Network Routes with Alias Received', data: body }); + res.status(200).json(body || []); + }); }).catch((errRes) => { const err = common.handleError(errRes, 'Network', 'Query Routes Error', req.session.selectedNode); return res.status(err.statusCode).json({ message: err.message, error: err.error }); @@ -59,19 +62,13 @@ export const listNodes = (req, res, next) => { return res.status(options.statusCode).json({ message: options.message, error: options.error }); } options.url = req.session.selectedNode.ln_server_url + '/v1/listnodes'; + options.body = req.body; logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Network', msg: 'List Nodes URL' + options.url }); request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Network', msg: 'List Nodes Finished', data: body }); let response = body.nodes; if (req.body.liquidity_ads) { - response = body.nodes.filter((node) => { - if (node.option_will_fund) { - node.option_will_fund.lease_fee_base_msat = common.removeMSat(node.option_will_fund.lease_fee_base_msat); - node.option_will_fund.channel_fee_max_base_msat = common.removeMSat(node.option_will_fund.channel_fee_max_base_msat); - return node; - } - return null; - }); + response = body.nodes.filter((node) => ((node.option_will_fund) ? node : null)); } res.status(200).json(response); }).catch((errRes) => { diff --git a/backend/controllers/cln/onchain.js b/backend/controllers/cln/onchain.js index 92abc288..5b39c870 100644 --- a/backend/controllers/cln/onchain.js +++ b/backend/controllers/cln/onchain.js @@ -49,8 +49,6 @@ export const getUTXOs = (req, res, next) => { // Local Remote Balance Calculation let lrBalance = { localBalance: 0, remoteBalance: 0, inactiveBalance: 0, pendingBalance: 0 }; body.channels.forEach((channel) => { - channel.our_amount_msat = common.removeMSat(channel.our_amount_msat); - channel.amount_msat = common.removeMSat(channel.amount_msat); if ((channel.state === 'CHANNELD_NORMAL') && channel.connected === true) { lrBalance.localBalance = lrBalance.localBalance + channel.our_amount_msat; lrBalance.remoteBalance = lrBalance.remoteBalance + (channel.amount_msat - channel.our_amount_msat); @@ -72,7 +70,6 @@ export const getUTXOs = (req, res, next) => { // Onchain Balance Calculation let onchainBalance = { totalBalance: 0, confBalance: 0, unconfBalance: 0 }; body.outputs.forEach((output) => { - output.amount_msat = common.removeMSat(output.amount_msat); if (output.status === 'confirmed') { onchainBalance.confBalance = onchainBalance.confBalance + output.amount_msat; } diff --git a/backend/controllers/cln/payments.js b/backend/controllers/cln/payments.js index 64b905fb..79ccc832 100644 --- a/backend/controllers/cln/payments.js +++ b/backend/controllers/cln/payments.js @@ -34,8 +34,6 @@ function paymentReducer(accumulator, currentPayment) { } function summaryReducer(accumulator, mpp) { if (mpp.status === 'complete') { - mpp.amount_msat = common.removeMSat(mpp.amount_msat); - mpp.amount_sent_msat = common.removeMSat(mpp.amount_sent_msat); accumulator.amount_msat = accumulator.amount_msat + mpp.amount_msat; accumulator.amount_sent_msat = accumulator.amount_sent_msat + mpp.amount_sent_msat; accumulator.status = mpp.status; @@ -58,8 +56,6 @@ function groupBy(payments) { temp.is_group = false; temp.is_expanded = false; temp.total_parts = 1; - temp.amount_msat = common.removeMSat(temp.amount_msat); - temp.amount_sent_msat = common.removeMSat(temp.amount_sent_msat); delete temp.partid; } else { diff --git a/backend/controllers/cln/peers.js b/backend/controllers/cln/peers.js index 3e120d5e..70a01a33 100644 --- a/backend/controllers/cln/peers.js +++ b/backend/controllers/cln/peers.js @@ -15,33 +15,7 @@ export const getPeers = (req, res, next) => { request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Peers', msg: 'Peers List Received', data: body }); const peers = !body.peers ? [] : body.peers; - return Promise.all(peers?.map((peer) => { - peer.channels.forEach((channel) => { - channel.to_us_msat = common.removeMSat(channel.to_us_msat); - channel.total_msat = common.removeMSat(channel.total_msat); - channel.last_tx_fee_msat = common.removeMSat(channel.last_tx_fee_msat); - channel.funding.local_funds_msat = common.removeMSat(channel.funding.local_funds_msat); - channel.funding.remote_funds_msat = common.removeMSat(channel.funding.remote_funds_msat); - channel.funding.pushed_msat = common.removeMSat(channel.funding.pushed_msat); - channel.min_to_us_msat = common.removeMSat(channel.min_to_us_msat); - channel.max_to_us_msat = common.removeMSat(channel.max); - channel.fee_base_msat = common.removeMSat(channel.fee_base_msat); - channel.dust_limit_msat = common.removeMSat(channel.dust_limit_msat); - channel.max_total_htlc_in_msat = common.removeMSat(channel.max_total_htlc_in_msat); - channel.their_reserve_msat = common.removeMSat(channel.their_reserve_msat); - channel.our_reserve_msat = common.removeMSat(channel.our_reserve_msat); - channel.spendable_msat = common.removeMSat(channel.spendable_msat); - channel.receivable_msat = common.removeMSat(channel.receivable_msat); - channel.minimum_htlc_in_msat = common.removeMSat(channel.minimum_htlc_in_msat); - channel.minimum_htlc_out_msat = common.removeMSat(channel.minimum_htlc_out_msat); - channel.maximum_htlc_out_msat = common.removeMSat(channel.maximum_htlc_out_msat); - channel.in_offered_msat = common.removeMSat(channel.in_offered_msat); - channel.in_fulfilled_msat = common.removeMSat(channel.in_fulfilled_msat); - channel.out_offered_msat = common.removeMSat(channel.out_offered_msat); - channel.out_fulfilled_msat = common.removeMSat(channel.out_fulfilled_msat); - }); - return getAlias(req.session.selectedNode, peer, 'id'); - })).then((values) => { + return Promise.all(peers?.map((peer) => getAlias(req.session.selectedNode, peer, 'id'))).then((values) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Peers', msg: 'Sorted Peers List Received', data: body.peers }); res.status(200).json(body.peers || []); }); diff --git a/backend/controllers/cln/utility.js b/backend/controllers/cln/utility.js index 1c0df767..16f48981 100644 --- a/backend/controllers/cln/utility.js +++ b/backend/controllers/cln/utility.js @@ -14,20 +14,6 @@ export const decodePayment = (req, res, next) => { options.body = req.body; request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Payments', msg: 'Payment Decoded', data: body }); - body.amount_msat = common.removeMSat(body.amount_msat); - body.invreq_amount_msat = common.removeMSat(body.invreq_amount_msat); - body.offer_amount_msat = common.removeMSat(body.offer_amount_msat); - body.invoice_amount_msat = common.removeMSat(body.invoice_amount_msat); - body.invoice_paths?.forEach((path) => { - if (path.payinfo && path.payinfo.fee_base_msat) { - path.payinfo.fee_base_msat = common.removeMSat(path.payinfo.fee_base_msat); - } - }); - body.routes?.forEach((route) => { - route.hops.forEach((hop) => { - hop.fee_base_msat = common.removeMSat(hop.fee_base_msat); - }); - }); res.status(200).json(body); }).catch((errRes) => { const err = common.handleError(errRes, 'Payments', 'Decode Payment Error', req.session.selectedNode); diff --git a/backend/utils/common.js b/backend/utils/common.js index 1237aa45..66193343 100644 --- a/backend/utils/common.js +++ b/backend/utils/common.js @@ -570,7 +570,6 @@ export class CommonService { const dataStr = foundDataLine ? foundDataLine.substring((foundDataLine.indexOf(search_string)) + search_string.length) : '{}'; return JSON.parse(dataStr); }; - this.removeMSat = (value) => ((value && typeof value === 'string' && value.includes('msat')) ? +value.replace('msat', '') : value ? value : 0); } } export const Common = new CommonService(); diff --git a/server/controllers/cln/channels.ts b/server/controllers/cln/channels.ts index 90ca214f..cc91f685 100644 --- a/server/controllers/cln/channels.ts +++ b/server/controllers/cln/channels.ts @@ -15,29 +15,7 @@ export const listPeerChannels = (req, res, next) => { request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Channels', msg: 'Peer Channels List Received', data: body.channels }); return Promise.all(body.channels?.map((channel) => { - channel.to_us_msat = common.removeMSat(channel.to_us_msat); - channel.total_msat = common.removeMSat(channel.total_msat); channel.to_them_msat = channel.total_msat - channel.to_us_msat; - channel.last_tx_fee_msat = common.removeMSat(channel.last_tx_fee_msat); - channel.funding.local_funds_msat = common.removeMSat(channel.funding.local_funds_msat); - channel.funding.remote_funds_msat = common.removeMSat(channel.funding.remote_funds_msat); - channel.funding.pushed_msat = common.removeMSat(channel.funding.pushed_msat); - channel.min_to_us_msat = common.removeMSat(channel.min_to_us_msat); - channel.max_to_us_msat = common.removeMSat(channel.max); - channel.fee_base_msat = common.removeMSat(channel.fee_base_msat); - channel.dust_limit_msat = common.removeMSat(channel.dust_limit_msat); - channel.max_total_htlc_in_msat = common.removeMSat(channel.max_total_htlc_in_msat); - channel.their_reserve_msat = common.removeMSat(channel.their_reserve_msat); - channel.our_reserve_msat = common.removeMSat(channel.our_reserve_msat); - channel.spendable_msat = common.removeMSat(channel.spendable_msat); - channel.receivable_msat = common.removeMSat(channel.receivable_msat); - channel.minimum_htlc_in_msat = common.removeMSat(channel.minimum_htlc_in_msat); - channel.minimum_htlc_out_msat = common.removeMSat(channel.minimum_htlc_out_msat); - channel.maximum_htlc_out_msat = common.removeMSat(channel.maximum_htlc_out_msat); - channel.in_offered_msat = common.removeMSat(channel.in_offered_msat); - channel.in_fulfilled_msat = common.removeMSat(channel.in_fulfilled_msat); - channel.out_offered_msat = common.removeMSat(channel.out_offered_msat); - channel.out_fulfilled_msat = common.removeMSat(channel.out_fulfilled_msat); channel.balancedness = (channel.total_msat === 0) ? 1 : (1 - Math.abs((channel.to_us_msat - (channel.total_msat - channel.to_us_msat)) / channel.total_msat)).toFixed(3); return getAlias(req.session.selectedNode, channel, 'peer_id'); })).then((values) => { @@ -108,11 +86,6 @@ export const listForwards = (req, res, next) => { request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Channels', msg: 'Forwarding History Received For Status ' + req.body.status, data: body }); body.forwards = !body.forwards ? [] : (req.body.status === 'failed' || req.body.status === 'local_failed') ? body.forwards.slice(Math.max(0, body.forwards.length - 1000), Math.max(1000, body.forwards.length)).reverse() : body.forwards.reverse(); - body.forwards.forEach((forward) => { - forward.in_msat = common.removeMSat(forward.in_msat); - forward.out_msat = common.removeMSat(forward.out_msat); - forward.fee_msat = common.removeMSat(forward.fee_msat); - }); res.status(200).json(body.forwards); }).catch((errRes) => { const err = common.handleError(errRes, 'Channels', 'Forwarding History Error', req.session.selectedNode); @@ -129,13 +102,6 @@ export const funderUpdatePolicy = (req, res, next) => { logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Channels', msg: 'Funder Update Body', data: options.body }); request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Channels', msg: 'Funder Policy Received', data: body }); - body.min_their_funding_msat = common.removeMSat(body.min_their_funding_msat); - body.max_their_funding_msat = common.removeMSat(body.max_their_funding_msat); - body.per_channel_min_msat = common.removeMSat(body.per_channel_min_msat); - body.per_channel_max_msat = common.removeMSat(body.per_channel_max_msat); - body.reserve_tank_msat = common.removeMSat(body.reserve_tank_msat); - body.channel_fee_max_base_msat = common.removeMSat(body.channel_fee_max_base_msat); - body.lease_fee_base_msat = common.removeMSat(body.lease_fee_base_msat); res.status(200).json(body); }).catch((errRes) => { const err = common.handleError(errRes, 'Channels', 'Funder Policy Error', req.session.selectedNode); diff --git a/server/controllers/cln/getInfo.ts b/server/controllers/cln/getInfo.ts index ebe7ff99..f1630c4b 100644 --- a/server/controllers/cln/getInfo.ts +++ b/server/controllers/cln/getInfo.ts @@ -45,7 +45,6 @@ export const getInfo = (req, res, next) => { body.uris.push(body.id + '@' + addr.address + ':' + addr.port); }); } - body.fees_collected_msat = common.removeMSat(body.fees_collected_msat); req.session.selectedNode.ln_version = body.version || ''; req.session.selectedNode.api_version = body.api_version || ''; logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'GetInfo', msg: 'Connecting to the Core Lightning\'s Websocket Server.' }); diff --git a/server/controllers/cln/invoices.ts b/server/controllers/cln/invoices.ts index 7fe79e66..3cac3ee8 100644 --- a/server/controllers/cln/invoices.ts +++ b/server/controllers/cln/invoices.ts @@ -29,10 +29,6 @@ export const listInvoices = (req, res, next) => { logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List URL', data: options.url }); request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Invoice', msg: 'Invoices List Received', data: body }); - body.invoices.forEach((invoice) => { - invoice.amount_msat = common.removeMSat(invoice.amount_msat); - invoice.amount_received_msat = common.removeMSat(invoice.amount_received_msat); - }); res.status(200).json(body); }).catch((errRes) => { const err = common.handleError(errRes, 'Invoice', 'List Invoices Error', req.session.selectedNode); diff --git a/server/controllers/cln/network.ts b/server/controllers/cln/network.ts index 6ba162f8..e0da5c55 100644 --- a/server/controllers/cln/network.ts +++ b/server/controllers/cln/network.ts @@ -15,7 +15,10 @@ export const getRoute = (req, res, next) => { options.body = req.body; request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Network', msg: 'Network Routes Received', data: body }); - res.status(200).json({ routes: body }); + return Promise.all(body.route?.map((rt) => getAlias(req.session.selectedNode, rt, 'id'))).then((values) => { + logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Peers', msg: 'Network Routes with Alias Received', data: body }); + res.status(200).json(body || []); + }); }).catch((errRes) => { const err = common.handleError(errRes, 'Network', 'Query Routes Error', req.session.selectedNode); return res.status(err.statusCode).json({ message: err.message, error: err.error }); @@ -57,19 +60,13 @@ export const listNodes = (req, res, next) => { options = common.getOptions(req); if (options.error) { return res.status(options.statusCode).json({ message: options.message, error: options.error }); } options.url = req.session.selectedNode.ln_server_url + '/v1/listnodes'; + options.body = req.body; logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Network', msg: 'List Nodes URL' + options.url }); request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Network', msg: 'List Nodes Finished', data: body }); let response = body.nodes; if (req.body.liquidity_ads) { - response = body.nodes.filter((node) => { - if (node.option_will_fund) { - node.option_will_fund.lease_fee_base_msat = common.removeMSat(node.option_will_fund.lease_fee_base_msat); - node.option_will_fund.channel_fee_max_base_msat = common.removeMSat(node.option_will_fund.channel_fee_max_base_msat); - return node; - } - return null; - }); + response = body.nodes.filter((node) => ((node.option_will_fund) ? node : null)); } res.status(200).json(response); }).catch((errRes) => { diff --git a/server/controllers/cln/onchain.ts b/server/controllers/cln/onchain.ts index 3c8259ac..3763135c 100644 --- a/server/controllers/cln/onchain.ts +++ b/server/controllers/cln/onchain.ts @@ -46,8 +46,6 @@ export const getUTXOs = (req, res, next) => { // Local Remote Balance Calculation let lrBalance = { localBalance: 0, remoteBalance: 0, inactiveBalance: 0, pendingBalance: 0 }; body.channels.forEach((channel) => { - channel.our_amount_msat = common.removeMSat(channel.our_amount_msat); - channel.amount_msat = common.removeMSat(channel.amount_msat); if ((channel.state === 'CHANNELD_NORMAL') && channel.connected === true) { lrBalance.localBalance = lrBalance.localBalance + channel.our_amount_msat; lrBalance.remoteBalance = lrBalance.remoteBalance + (channel.amount_msat - channel.our_amount_msat); @@ -67,7 +65,6 @@ export const getUTXOs = (req, res, next) => { // Onchain Balance Calculation let onchainBalance = { totalBalance: 0, confBalance: 0, unconfBalance: 0 }; body.outputs.forEach((output) => { - output.amount_msat = common.removeMSat(output.amount_msat); if (output.status === 'confirmed') { onchainBalance.confBalance = onchainBalance.confBalance + output.amount_msat; } else if (output.status === 'unconfirmed') { diff --git a/server/controllers/cln/payments.ts b/server/controllers/cln/payments.ts index afb3e3ba..3f93478f 100644 --- a/server/controllers/cln/payments.ts +++ b/server/controllers/cln/payments.ts @@ -36,8 +36,6 @@ function paymentReducer(accumulator, currentPayment) { function summaryReducer(accumulator, mpp) { if (mpp.status === 'complete') { - mpp.amount_msat = common.removeMSat(mpp.amount_msat); - mpp.amount_sent_msat = common.removeMSat(mpp.amount_sent_msat); accumulator.amount_msat = accumulator.amount_msat + mpp.amount_msat; accumulator.amount_sent_msat = accumulator.amount_sent_msat + mpp.amount_sent_msat; accumulator.status = mpp.status; @@ -57,8 +55,6 @@ function groupBy(payments) { temp.is_group = false; temp.is_expanded = false; temp.total_parts = 1; - temp.amount_msat = common.removeMSat(temp.amount_msat); - temp.amount_sent_msat = common.removeMSat(temp.amount_sent_msat); delete temp.partid; } else { const paySummary = curr?.reduce(summaryReducer, { amount_msat: 0, amount_sent_msat: 0, status: (curr[0] && curr[0].status) ? curr[0].status : 'failed' }); diff --git a/server/controllers/cln/peers.ts b/server/controllers/cln/peers.ts index 73980dfe..24e19a02 100644 --- a/server/controllers/cln/peers.ts +++ b/server/controllers/cln/peers.ts @@ -15,33 +15,7 @@ export const getPeers = (req, res, next) => { request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'DEBUG', fileName: 'Peers', msg: 'Peers List Received', data: body }); const peers = !body.peers ? [] : body.peers; - return Promise.all(peers?.map((peer) => { - peer.channels.forEach((channel) => { - channel.to_us_msat = common.removeMSat(channel.to_us_msat); - channel.total_msat = common.removeMSat(channel.total_msat); - channel.last_tx_fee_msat = common.removeMSat(channel.last_tx_fee_msat); - channel.funding.local_funds_msat = common.removeMSat(channel.funding.local_funds_msat); - channel.funding.remote_funds_msat = common.removeMSat(channel.funding.remote_funds_msat); - channel.funding.pushed_msat = common.removeMSat(channel.funding.pushed_msat); - channel.min_to_us_msat = common.removeMSat(channel.min_to_us_msat); - channel.max_to_us_msat = common.removeMSat(channel.max); - channel.fee_base_msat = common.removeMSat(channel.fee_base_msat); - channel.dust_limit_msat = common.removeMSat(channel.dust_limit_msat); - channel.max_total_htlc_in_msat = common.removeMSat(channel.max_total_htlc_in_msat); - channel.their_reserve_msat = common.removeMSat(channel.their_reserve_msat); - channel.our_reserve_msat = common.removeMSat(channel.our_reserve_msat); - channel.spendable_msat = common.removeMSat(channel.spendable_msat); - channel.receivable_msat = common.removeMSat(channel.receivable_msat); - channel.minimum_htlc_in_msat = common.removeMSat(channel.minimum_htlc_in_msat); - channel.minimum_htlc_out_msat = common.removeMSat(channel.minimum_htlc_out_msat); - channel.maximum_htlc_out_msat = common.removeMSat(channel.maximum_htlc_out_msat); - channel.in_offered_msat = common.removeMSat(channel.in_offered_msat); - channel.in_fulfilled_msat = common.removeMSat(channel.in_fulfilled_msat); - channel.out_offered_msat = common.removeMSat(channel.out_offered_msat); - channel.out_fulfilled_msat = common.removeMSat(channel.out_fulfilled_msat); - }); - return getAlias(req.session.selectedNode, peer, 'id'); - })).then((values) => { + return Promise.all(peers?.map((peer) => getAlias(req.session.selectedNode, peer, 'id'))).then((values) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Peers', msg: 'Sorted Peers List Received', data: body.peers }); res.status(200).json(body.peers || []); }); diff --git a/server/controllers/cln/utility.ts b/server/controllers/cln/utility.ts index 81115995..49f4381c 100644 --- a/server/controllers/cln/utility.ts +++ b/server/controllers/cln/utility.ts @@ -14,20 +14,6 @@ export const decodePayment = (req, res, next) => { options.body = req.body; request.post(options).then((body) => { logger.log({ selectedNode: req.session.selectedNode, level: 'INFO', fileName: 'Payments', msg: 'Payment Decoded', data: body }); - body.amount_msat = common.removeMSat(body.amount_msat); - body.invreq_amount_msat = common.removeMSat(body.invreq_amount_msat); - body.offer_amount_msat = common.removeMSat(body.offer_amount_msat); - body.invoice_amount_msat = common.removeMSat(body.invoice_amount_msat); - body.invoice_paths?.forEach((path) => { - if (path.payinfo && path.payinfo.fee_base_msat) { - path.payinfo.fee_base_msat = common.removeMSat(path.payinfo.fee_base_msat); - } - }); - body.routes?.forEach((route) => { - route.hops.forEach((hop) => { - hop.fee_base_msat = common.removeMSat(hop.fee_base_msat); - }); - }); res.status(200).json(body); }).catch((errRes) => { const err = common.handleError(errRes, 'Payments', 'Decode Payment Error', req.session.selectedNode); diff --git a/server/utils/common.ts b/server/utils/common.ts index 6a3f7e18..7d56d2d1 100644 --- a/server/utils/common.ts +++ b/server/utils/common.ts @@ -537,8 +537,6 @@ export class CommonService { return JSON.parse(dataStr); }; - public removeMSat = (value) => ((value && typeof value === 'string' && value.includes('msat')) ? +value.replace('msat', '') : value ? value : 0); - } export const Common = new CommonService(); diff --git a/src/app/cln/graph/lookups/lookups.component.ts b/src/app/cln/graph/lookups/lookups.component.ts index 73cd65ed..91c16cda 100644 --- a/src/app/cln/graph/lookups/lookups.component.ts +++ b/src/app/cln/graph/lookups/lookups.component.ts @@ -54,7 +54,7 @@ export class CLNLookupsComponent implements OnInit, OnDestroy { this.nodeLookupValue = typeof resLookup.payload[0] !== 'object' ? { nodeid: '' } : JSON.parse(JSON.stringify(resLookup.payload[0])); break; case 1: - this.channelLookupValue = typeof resLookup.payload[0] !== 'object' ? [] : JSON.parse(JSON.stringify(resLookup.payload)); + this.channelLookupValue = typeof resLookup.payload.channels !== 'object' ? [] : JSON.parse(JSON.stringify(resLookup.payload.channels)); break; default: break; diff --git a/src/app/cln/graph/query-routes/query-routes.component.ts b/src/app/cln/graph/query-routes/query-routes.component.ts index 7afde312..81d02ad0 100644 --- a/src/app/cln/graph/query-routes/query-routes.component.ts +++ b/src/app/cln/graph/query-routes/query-routes.component.ts @@ -57,10 +57,9 @@ export class CLNQueryRoutesComponent implements OnInit, OnDestroy { }); this.clnEffects.setQueryRoutesCL.pipe(takeUntil(this.unSubs[1])).subscribe((queryRoute) => { this.qrHops.data = []; - if (queryRoute.routes && queryRoute.routes.length && queryRoute.routes.length > 0) { + if (queryRoute.route && queryRoute.route.length && queryRoute.route.length > 0) { this.flgLoading[0] = false; - this.qrHops = new MatTableDataSource([...queryRoute.routes]); - this.qrHops.data = queryRoute.routes; + this.qrHops = new MatTableDataSource([...queryRoute.route]); } else { this.flgLoading[0] = 'error'; } diff --git a/src/app/cln/store/cln.effects.ts b/src/app/cln/store/cln.effects.ts index 3385dbd8..e6dbccb8 100644 --- a/src/app/cln/store/cln.effects.ts +++ b/src/app/cln/store/cln.effects.ts @@ -204,7 +204,7 @@ export class CLNEffects implements OnDestroy { mergeMap((action: { type: string, payload: { id: string } }) => { this.store.dispatch(openSpinner({ payload: UI_MESSAGES.CONNECT_PEER })); this.store.dispatch(updateCLNAPICallStatus({ payload: { action: 'SaveNewPeer', status: APICallStatusEnum.INITIATED } })); - return this.httpClient.post(this.CHILD_API_URL + API_END_POINTS.PEERS_API, action.payload.id). + return this.httpClient.post(this.CHILD_API_URL + API_END_POINTS.PEERS_API, { id: action.payload.id }). pipe( map((postRes: Peer[]) => { this.logger.info(postRes); @@ -460,7 +460,7 @@ export class CLNEffects implements OnDestroy { ofType(CLNActions.GET_QUERY_ROUTES_CLN), mergeMap((action: { type: string, payload: GetQueryRoutes }) => { this.store.dispatch(updateCLNAPICallStatus({ payload: { action: 'GetQueryRoutes', status: APICallStatusEnum.INITIATED } })); - return this.httpClient.post(this.CHILD_API_URL + API_END_POINTS.NETWORK_API + '/getRoute/', { id: action.payload.destPubkey, amount_msat: action.payload.amount, riskfactor: 0 }). + return this.httpClient.post(this.CHILD_API_URL + API_END_POINTS.NETWORK_API + '/getRoute', { id: action.payload.destPubkey, amount_msat: action.payload.amount, riskfactor: 0 }). pipe( map((qrRes: any) => { this.logger.info(qrRes); @@ -471,8 +471,8 @@ export class CLNEffects implements OnDestroy { }; }), catchError((err: any) => { - this.store.dispatch(setQueryRoutes({ payload: { routes: [] } })); - this.handleErrorWithAlert('GetQueryRoutes', UI_MESSAGES.NO_SPINNER, 'Get Query Routes Failed', this.CHILD_API_URL + API_END_POINTS.NETWORK_API + '/getRoute/' + action.payload.destPubkey + '/' + action.payload.amount, err); + this.store.dispatch(setQueryRoutes({ payload: { route: [] } })); + this.handleErrorWithAlert('GetQueryRoutes', UI_MESSAGES.NO_SPINNER, 'Get Query Routes Failed', this.CHILD_API_URL + API_END_POINTS.NETWORK_API + '/getRoute', err); return of({ type: RTLActions.VOID }); }) ); @@ -492,7 +492,7 @@ export class CLNEffects implements OnDestroy { mergeMap((action: { type: string, payload: string }) => { this.store.dispatch(openSpinner({ payload: UI_MESSAGES.SEARCHING_NODE })); this.store.dispatch(updateCLNAPICallStatus({ payload: { action: 'Lookup', status: APICallStatusEnum.INITIATED } })); - return this.httpClient.get(this.CHILD_API_URL + API_END_POINTS.NETWORK_API + '/listNode/' + action.payload). + return this.httpClient.post(this.CHILD_API_URL + API_END_POINTS.NETWORK_API + '/listNodes', { id: action.payload }). pipe( map((resPeer) => { this.logger.info(resPeer); @@ -504,7 +504,7 @@ export class CLNEffects implements OnDestroy { }; }), catchError((err: any) => { - this.handleErrorWithAlert('Lookup', UI_MESSAGES.SEARCHING_NODE, 'Peer Lookup Failed', this.CHILD_API_URL + API_END_POINTS.NETWORK_API + '/listNode/' + action.payload, err); + this.handleErrorWithAlert('Lookup', UI_MESSAGES.SEARCHING_NODE, 'Peer Lookup Failed', this.CHILD_API_URL + API_END_POINTS.NETWORK_API + '/listNodes/' + action.payload, err); return of({ type: RTLActions.VOID }); }) ); diff --git a/src/app/shared/models/clnModels.ts b/src/app/shared/models/clnModels.ts index 0b8099ae..f2830f57 100644 --- a/src/app/shared/models/clnModels.ts +++ b/src/app/shared/models/clnModels.ts @@ -280,7 +280,7 @@ export interface Routes { } export interface QueryRoutes { - routes: Routes[]; + route: Routes[]; } export interface ChannelHTLC {