From 32d46ad7ac4f2434219712d9024abe1e89400c3c Mon Sep 17 00:00:00 2001 From: nymkappa <1612910616@pm.me> Date: Wed, 5 Jul 2023 11:17:04 +0200 Subject: [PATCH] [lightning] save bit number when converting features from clightning --- backend/src/api/explorer/nodes.api.ts | 5 ++++- backend/src/api/lightning/clightning/clightning-convert.ts | 2 ++ backend/src/api/lightning/lightning-api.interface.ts | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/src/api/explorer/nodes.api.ts b/backend/src/api/explorer/nodes.api.ts index f5c87fbd1..dc359f914 100644 --- a/backend/src/api/explorer/nodes.api.ts +++ b/backend/src/api/explorer/nodes.api.ts @@ -56,7 +56,8 @@ class NodesApi { UNIX_TIMESTAMP(updated_at) AS updated_at, color, sockets as sockets, as_number, city_id, country_id, subdivision_id, longitude, latitude, geo_names_iso.names as iso_code, geo_names_as.names as as_organization, geo_names_city.names as city, - geo_names_country.names as country, geo_names_subdivision.names as subdivision + geo_names_country.names as country, geo_names_subdivision.names as subdivision, + features FROM nodes LEFT JOIN geo_names geo_names_as on geo_names_as.id = as_number LEFT JOIN geo_names geo_names_city on geo_names_city.id = city_id @@ -75,6 +76,8 @@ class NodesApi { node.subdivision = JSON.parse(node.subdivision); node.city = JSON.parse(node.city); node.country = JSON.parse(node.country); + + node.features = JSON.parse(node.features); // Active channels and capacity const activeChannelsStats: any = await this.$getActiveChannelsStats(public_key); diff --git a/backend/src/api/lightning/clightning/clightning-convert.ts b/backend/src/api/lightning/clightning/clightning-convert.ts index 75296ded2..84510d0fd 100644 --- a/backend/src/api/lightning/clightning/clightning-convert.ts +++ b/backend/src/api/lightning/clightning/clightning-convert.ts @@ -114,12 +114,14 @@ export function convertNode(clNode: any): ILightningApi.Node { const feature = FeaturesMap.get(i); if (!feature) { nodeFeatures.push({ + bit: i, name: 'unknown', is_required: i % 2 === 0, is_known: false }); } else { nodeFeatures.push({ + bit: i, name: feature, is_required: i % 2 === 0, is_known: true diff --git a/backend/src/api/lightning/lightning-api.interface.ts b/backend/src/api/lightning/lightning-api.interface.ts index cd5cb973d..ef26646a0 100644 --- a/backend/src/api/lightning/lightning-api.interface.ts +++ b/backend/src/api/lightning/lightning-api.interface.ts @@ -79,6 +79,7 @@ export namespace ILightningApi { } export interface Feature { + bit: number; name: string; is_required: boolean; is_known: boolean;