PHP WebShell
Текущая директория: /opt/BitGoJS/modules/express/src/lightning
Просмотр файла: lightningInvoiceRoutes.ts
import * as express from 'express';
import { ApiResponseError } from '../errors';
import { CreateInvoiceBody, getLightningWallet, Invoice, SubmitPaymentParams } from '@bitgo/abstract-lightning';
import { decodeOrElse } from '@bitgo/sdk-core';
export async function handleCreateLightningInvoice(req: express.Request): Promise<any> {
const bitgo = req.bitgo;
const params = decodeOrElse(CreateInvoiceBody.name, CreateInvoiceBody, req.body, (error) => {
throw new ApiResponseError(`Invalid request body to create lightning invoice: ${error}`, 400);
});
const coin = bitgo.coin(req.params.coin);
const wallet = await coin.wallets().get({ id: req.params.id });
const lightningWallet = getLightningWallet(wallet);
return Invoice.encode(await lightningWallet.createInvoice(params));
}
export async function handlePayLightningInvoice(req: express.Request): Promise<any> {
const bitgo = req.bitgo;
const params = decodeOrElse(SubmitPaymentParams.name, SubmitPaymentParams, req.body, (error) => {
throw new ApiResponseError(`Invalid request body to pay lightning invoice`, 400);
});
const coin = bitgo.coin(req.params.coin);
const wallet = await coin.wallets().get({ id: req.params.id });
const lightningWallet = getLightningWallet(wallet);
return await lightningWallet.payInvoice(params);
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!