Fix CLN channel short_id conversion

This commit is contained in:
nymkappa 2022-08-08 07:50:50 +02:00
parent 82bcac7c74
commit 1d106a9851
No known key found for this signature in database
GPG Key ID: E155910B16E8BD04
2 changed files with 10 additions and 4 deletions

View File

@ -71,8 +71,11 @@ export async function convertAndmergeBidirectionalChannels(clChannels: any[]): P
}
export function convertChannelId(channelId): string {
const s = channelId.split('x').map(part => parseInt(part));
return BigInt((s[0] << 40) | (s[1] << 16) | s[2]).toString();
if (channelId.indexOf('/') !== -1) {
channelId = channelId.slice(0, -2);
}
const s = channelId.split('x').map(part => BigInt(part));
return ((s[0] << 40n) | (s[1] << 16n) | s[2]).toString();
}
/**

View File

@ -430,10 +430,13 @@ class NetworkSyncService {
}
private toIntegerId(id: string): string {
if (config.LIGHTNING.BACKEND === 'lnd') {
if (config.LIGHTNING.BACKEND === 'cln') {
return convertChannelId(id);
}
else if (config.LIGHTNING.BACKEND === 'lnd') {
return id;
}
return convertChannelId(id);
return '';
}
/** Decodes a channel id returned by lnd as uint64 to a short channel id */