Skip to content

Commit

Permalink
feat: mpay to pay invoices
Browse files Browse the repository at this point in the history
  • Loading branch information
michael1011 committed Jan 22, 2024
1 parent 6e9fdab commit 4c6eb4a
Show file tree
Hide file tree
Showing 31 changed files with 612 additions and 164 deletions.
16 changes: 15 additions & 1 deletion lib/Boltz.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ import ChainTip from './db/models/ChainTip';
import ChainTipRepository from './db/repositories/ChainTipRepository';
import GrpcServer from './grpc/GrpcServer';
import GrpcService from './grpc/GrpcService';
import ClnClient from './lightning/ClnClient';
import { LightningClient } from './lightning/LightningClient';
import LndClient from './lightning/LndClient';
import ClnClient from './lightning/cln/ClnClient';
import MpayClient from './lightning/cln/MpayClient';
import NotificationProvider from './notifications/NotificationProvider';
import Service from './service/Service';
import NodeSwitch from './swap/NodeSwitch';
Expand Down Expand Up @@ -310,6 +311,19 @@ class Boltz {
client.symbol,
holdInfo.version,
);

if (client.useMpay()) {
const mpayInfo = await client.mpay!.getInfo();
this.logger.verbose(
`${client.symbol} ${MpayClient.serviceName} version: ${mpayInfo.version}`,
);

VersionCheck.checkLightningVersion(
MpayClient.serviceName,
client.symbol,
mpayInfo.version,
);
}
}

this.logStatus(service, info);
Expand Down
2 changes: 1 addition & 1 deletion lib/Config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import { WebdavConfig } from './backup/providers/Webdav';
import { Network } from './consts/Enums';
import Errors from './consts/Errors';
import { PairConfig } from './consts/Types';
import { ClnConfig } from './lightning/ClnClient';
import { LndConfig } from './lightning/LndClient';
import { ClnConfig } from './lightning/cln/ClnClient';
import { NodeSwitchConfig } from './swap/NodeSwitch';

type PostgresConfig = {
Expand Down
19 changes: 17 additions & 2 deletions lib/VersionCheck.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import ChainClient from './chain/ChainClient';
import ClnClient from './lightning/ClnClient';
import LndClient from './lightning/LndClient';
import ClnClient from './lightning/cln/ClnClient';
import MpayClient from './lightning/cln/MpayClient';

type Version = string | number;

Expand Down Expand Up @@ -69,7 +70,13 @@ class Comperator {
}

class VersionCheck {
private static versionLimits = {
private static versionLimits: Record<
string,
{
minimal: string | number;
maximal: string | number;
}
> = {
[ChainClient.serviceName]: {
minimal: 220000,
maximal: 260000,
Expand All @@ -82,6 +89,10 @@ class VersionCheck {
minimal: '0.0.3',
maximal: '0.0.4',
},
[MpayClient.serviceName]: {
minimal: '0.1.0',
maximal: '0.1.0',
},
[LndClient.serviceName]: {
minimal: '0.16.0',
maximal: '0.17.3',
Expand Down Expand Up @@ -138,6 +149,10 @@ class VersionCheck {
limits = VersionCheck.versionLimits[ClnClient.serviceNameHold];
break;

case MpayClient.serviceName:
limits = VersionCheck.versionLimits[MpayClient.serviceName];
break;

default:
throw `unsupported lightning client ${serviceName}`;
}
Expand Down
2 changes: 1 addition & 1 deletion lib/api/Controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import ReferralStats from '../data/ReferralStats';
import ChannelCreationRepository from '../db/repositories/ChannelCreationRepository';
import ReverseSwapRepository from '../db/repositories/ReverseSwapRepository';
import SwapRepository from '../db/repositories/SwapRepository';
import ClnClient from '../lightning/ClnClient';
import LndClient from '../lightning/LndClient';
import ClnClient from '../lightning/cln/ClnClient';
import ServiceErrors from '../service/Errors';
import { SwapUpdate } from '../service/EventHandler';
import NodeInfo from '../service/NodeInfo';
Expand Down
Loading

0 comments on commit 4c6eb4a

Please sign in to comment.