feat(extensions): add extension loader infrastructure (#3)
Some checks are pending
Docker Compose Actions Workflow / test (push) Waiting to run

## Summary

- Adds a modular extension system for Lightning.Pub enabling third-party plugins
- Provides isolated SQLite databases per extension for data safety
- Implements ExtensionContext API for accessing Lightning.Pub services (payments, Nostr, storage)
- Supports RPC method registration with automatic namespacing
- Includes HTTP route handling for protocols like LNURL
- Event routing for payment receipts and Nostr events
- Comprehensive documentation with architecture overview and working examples

## Key Components

- `src/extensions/types.ts` - Core extension interfaces
- `src/extensions/loader.ts` - Extension discovery, loading, and lifecycle management
- `src/extensions/context.ts` - Bridge between extensions and Lightning.Pub services
- `src/extensions/database.ts` - SQLite isolation with WAL mode
- `src/extensions/README.md` - Full documentation with examples

## ExtensionContext API

| Method | Description |
|--------|-------------|
| `getApplication()` | Get application info |
| `createInvoice()` | Create Lightning invoice |
| `payInvoice()` | Pay Lightning invoice |
| `getLnurlPayInfo()` | Get LNURL-pay info for a user (enables Lightning Address/zaps) |
| `sendEncryptedDM()` | Send Nostr DM (NIP-44) |
| `publishNostrEvent()` | Publish Nostr event |
| `registerMethod()` | Register RPC method |
| `onPaymentReceived()` | Subscribe to payment callbacks |
| `onNostrEvent()` | Subscribe to Nostr events |

## Test plan

- [x] Review extension loader code for correctness
- [x] Verify TypeScript compilation succeeds
- [x] Test extension discovery from `src/extensions/` directory
- [x] Test RPC method registration and routing
- [x] Test database isolation between extensions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: boufni95 <boufni95@gmail.com>
Co-authored-by: Patrick Mulligan <patjmulligan@protonmail.com>
Reviewed-on: #3
This commit is contained in:
padreug 2026-04-02 18:47:55 +00:00
parent 72c9872b23
commit 77e5772afd
47 changed files with 10187 additions and 4828 deletions

View file

@ -1,4 +1,4 @@
// @generated by protobuf-ts 2.8.1
// @generated by protobuf-ts 2.11.1
// @generated from protobuf file "chainnotifier.proto" (package "chainrpc", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
@ -31,7 +31,7 @@ export interface IChainNotifierClient {
* a notification is sent once the output script confirms in the given
* transaction.
*
* @generated from protobuf rpc: RegisterConfirmationsNtfn(chainrpc.ConfRequest) returns (stream chainrpc.ConfEvent);
* @generated from protobuf rpc: RegisterConfirmationsNtfn
*/
registerConfirmationsNtfn(input: ConfRequest, options?: RpcOptions): ServerStreamingCall<ConfRequest, ConfEvent>;
/**
@ -43,7 +43,7 @@ export interface IChainNotifierClient {
* A client can specify whether the spend request should be for a particular
* outpoint or for an output script by specifying a zero outpoint.
*
* @generated from protobuf rpc: RegisterSpendNtfn(chainrpc.SpendRequest) returns (stream chainrpc.SpendEvent);
* @generated from protobuf rpc: RegisterSpendNtfn
*/
registerSpendNtfn(input: SpendRequest, options?: RpcOptions): ServerStreamingCall<SpendRequest, SpendEvent>;
/**
@ -58,7 +58,7 @@ export interface IChainNotifierClient {
* point. This allows clients to be idempotent by ensuring that they do not
* missing processing a single block within the chain.
*
* @generated from protobuf rpc: RegisterBlockEpochNtfn(chainrpc.BlockEpoch) returns (stream chainrpc.BlockEpoch);
* @generated from protobuf rpc: RegisterBlockEpochNtfn
*/
registerBlockEpochNtfn(input: BlockEpoch, options?: RpcOptions): ServerStreamingCall<BlockEpoch, BlockEpoch>;
}
@ -86,7 +86,7 @@ export class ChainNotifierClient implements IChainNotifierClient, ServiceInfo {
* a notification is sent once the output script confirms in the given
* transaction.
*
* @generated from protobuf rpc: RegisterConfirmationsNtfn(chainrpc.ConfRequest) returns (stream chainrpc.ConfEvent);
* @generated from protobuf rpc: RegisterConfirmationsNtfn
*/
registerConfirmationsNtfn(input: ConfRequest, options?: RpcOptions): ServerStreamingCall<ConfRequest, ConfEvent> {
const method = this.methods[0], opt = this._transport.mergeOptions(options);
@ -101,7 +101,7 @@ export class ChainNotifierClient implements IChainNotifierClient, ServiceInfo {
* A client can specify whether the spend request should be for a particular
* outpoint or for an output script by specifying a zero outpoint.
*
* @generated from protobuf rpc: RegisterSpendNtfn(chainrpc.SpendRequest) returns (stream chainrpc.SpendEvent);
* @generated from protobuf rpc: RegisterSpendNtfn
*/
registerSpendNtfn(input: SpendRequest, options?: RpcOptions): ServerStreamingCall<SpendRequest, SpendEvent> {
const method = this.methods[1], opt = this._transport.mergeOptions(options);
@ -119,7 +119,7 @@ export class ChainNotifierClient implements IChainNotifierClient, ServiceInfo {
* point. This allows clients to be idempotent by ensuring that they do not
* missing processing a single block within the chain.
*
* @generated from protobuf rpc: RegisterBlockEpochNtfn(chainrpc.BlockEpoch) returns (stream chainrpc.BlockEpoch);
* @generated from protobuf rpc: RegisterBlockEpochNtfn
*/
registerBlockEpochNtfn(input: BlockEpoch, options?: RpcOptions): ServerStreamingCall<BlockEpoch, BlockEpoch> {
const method = this.methods[2], opt = this._transport.mergeOptions(options);

View file

@ -1,4 +1,4 @@
// @generated by protobuf-ts 2.8.1
// @generated by protobuf-ts 2.11.1
// @generated from protobuf file "chainnotifier.proto" (package "chainrpc", syntax proto3)
// tslint:disable
import { ServiceType } from "@protobuf-ts/runtime-rpc";
@ -10,7 +10,6 @@ import type { IBinaryReader } from "@protobuf-ts/runtime";
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { reflectionMergePartial } from "@protobuf-ts/runtime";
import { MESSAGE_TYPE } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
/**
* @generated from protobuf message chainrpc.ConfRequest
@ -22,7 +21,7 @@ export interface ConfRequest {
* for. If set to a hash of all zeros, then the confirmation notification will
* be requested for the script instead.
*
* @generated from protobuf field: bytes txid = 1;
* @generated from protobuf field: bytes txid = 1
*/
txid: Uint8Array;
/**
@ -32,7 +31,7 @@ export interface ConfRequest {
* hash of all zeros, then a confirmation notification will be requested for
* this script instead.
*
* @generated from protobuf field: bytes script = 2;
* @generated from protobuf field: bytes script = 2
*/
script: Uint8Array;
/**
@ -40,7 +39,7 @@ export interface ConfRequest {
* The number of desired confirmations the transaction/output script should
* reach before dispatching a confirmation notification.
*
* @generated from protobuf field: uint32 num_confs = 3;
* @generated from protobuf field: uint32 num_confs = 3
*/
numConfs: number;
/**
@ -49,7 +48,7 @@ export interface ConfRequest {
* could have been included in a block. This should in most cases be set to the
* broadcast height of the transaction/output script.
*
* @generated from protobuf field: uint32 height_hint = 4;
* @generated from protobuf field: uint32 height_hint = 4
*/
heightHint: number;
/**
@ -57,7 +56,7 @@ export interface ConfRequest {
* If true, then the block that mines the specified txid/script will be
* included in eventual the notification event.
*
* @generated from protobuf field: bool include_block = 5;
* @generated from protobuf field: bool include_block = 5
*/
includeBlock: boolean;
}
@ -68,26 +67,26 @@ export interface ConfDetails {
/**
* The raw bytes of the confirmed transaction.
*
* @generated from protobuf field: bytes raw_tx = 1;
* @generated from protobuf field: bytes raw_tx = 1
*/
rawTx: Uint8Array;
/**
* The hash of the block in which the confirmed transaction was included in.
*
* @generated from protobuf field: bytes block_hash = 2;
* @generated from protobuf field: bytes block_hash = 2
*/
blockHash: Uint8Array;
/**
* The height of the block in which the confirmed transaction was included
* in.
*
* @generated from protobuf field: uint32 block_height = 3;
* @generated from protobuf field: uint32 block_height = 3
*/
blockHeight: number;
/**
* The index of the confirmed transaction within the block.
*
* @generated from protobuf field: uint32 tx_index = 4;
* @generated from protobuf field: uint32 tx_index = 4
*/
txIndex: number;
/**
@ -95,7 +94,7 @@ export interface ConfDetails {
* The raw bytes of the block that mined the transaction. Only included if
* include_block was set in the request.
*
* @generated from protobuf field: bytes raw_block = 5;
* @generated from protobuf field: bytes raw_block = 5
*/
rawBlock: Uint8Array;
}
@ -120,7 +119,7 @@ export interface ConfEvent {
* An event that includes the confirmation details of the request
* (txid/ouput script).
*
* @generated from protobuf field: chainrpc.ConfDetails conf = 1;
* @generated from protobuf field: chainrpc.ConfDetails conf = 1
*/
conf: ConfDetails;
} | {
@ -130,7 +129,7 @@ export interface ConfEvent {
* An event send when the transaction of the request is reorged out of the
* chain.
*
* @generated from protobuf field: chainrpc.Reorg reorg = 2;
* @generated from protobuf field: chainrpc.Reorg reorg = 2
*/
reorg: Reorg;
} | {
@ -144,13 +143,13 @@ export interface Outpoint {
/**
* The hash of the transaction.
*
* @generated from protobuf field: bytes hash = 1;
* @generated from protobuf field: bytes hash = 1
*/
hash: Uint8Array;
/**
* The index of the output within the transaction.
*
* @generated from protobuf field: uint32 index = 2;
* @generated from protobuf field: uint32 index = 2
*/
index: number;
}
@ -168,7 +167,7 @@ export interface SpendRequest {
* So an outpoint must _always_ be specified when registering a spend
* notification for a Taproot output.
*
* @generated from protobuf field: chainrpc.Outpoint outpoint = 1;
* @generated from protobuf field: chainrpc.Outpoint outpoint = 1
*/
outpoint?: Outpoint;
/**
@ -177,7 +176,7 @@ export interface SpendRequest {
* to match block filters. If the outpoint is set to a zero outpoint, then a
* spend notification will be requested for this script instead.
*
* @generated from protobuf field: bytes script = 2;
* @generated from protobuf field: bytes script = 2
*/
script: Uint8Array;
/**
@ -186,7 +185,7 @@ export interface SpendRequest {
* have been spent. This should in most cases be set to the broadcast height of
* the outpoint/output script.
*
* @generated from protobuf field: uint32 height_hint = 3;
* @generated from protobuf field: uint32 height_hint = 3
*/
heightHint: number;
}
@ -197,31 +196,31 @@ export interface SpendDetails {
/**
* The outpoint was that spent.
*
* @generated from protobuf field: chainrpc.Outpoint spending_outpoint = 1;
* @generated from protobuf field: chainrpc.Outpoint spending_outpoint = 1
*/
spendingOutpoint?: Outpoint;
/**
* The raw bytes of the spending transaction.
*
* @generated from protobuf field: bytes raw_spending_tx = 2;
* @generated from protobuf field: bytes raw_spending_tx = 2
*/
rawSpendingTx: Uint8Array;
/**
* The hash of the spending transaction.
*
* @generated from protobuf field: bytes spending_tx_hash = 3;
* @generated from protobuf field: bytes spending_tx_hash = 3
*/
spendingTxHash: Uint8Array;
/**
* The input of the spending transaction that fulfilled the spend request.
*
* @generated from protobuf field: uint32 spending_input_index = 4;
* @generated from protobuf field: uint32 spending_input_index = 4
*/
spendingInputIndex: number;
/**
* The height at which the spending transaction was included in a block.
*
* @generated from protobuf field: uint32 spending_height = 5;
* @generated from protobuf field: uint32 spending_height = 5
*/
spendingHeight: number;
}
@ -239,7 +238,7 @@ export interface SpendEvent {
* An event that includes the details of the spending transaction of the
* request (outpoint/output script).
*
* @generated from protobuf field: chainrpc.SpendDetails spend = 1;
* @generated from protobuf field: chainrpc.SpendDetails spend = 1
*/
spend: SpendDetails;
} | {
@ -249,7 +248,7 @@ export interface SpendEvent {
* An event sent when the spending transaction of the request was
* reorged out of the chain.
*
* @generated from protobuf field: chainrpc.Reorg reorg = 2;
* @generated from protobuf field: chainrpc.Reorg reorg = 2
*/
reorg: Reorg;
} | {
@ -263,13 +262,13 @@ export interface BlockEpoch {
/**
* The hash of the block.
*
* @generated from protobuf field: bytes hash = 1;
* @generated from protobuf field: bytes hash = 1
*/
hash: Uint8Array;
/**
* The height of the block.
*
* @generated from protobuf field: uint32 height = 2;
* @generated from protobuf field: uint32 height = 2
*/
height: number;
}
@ -285,8 +284,12 @@ class ConfRequest$Type extends MessageType<ConfRequest> {
]);
}
create(value?: PartialMessage<ConfRequest>): ConfRequest {
const message = { txid: new Uint8Array(0), script: new Uint8Array(0), numConfs: 0, heightHint: 0, includeBlock: false };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.txid = new Uint8Array(0);
message.script = new Uint8Array(0);
message.numConfs = 0;
message.heightHint = 0;
message.includeBlock = false;
if (value !== undefined)
reflectionMergePartial<ConfRequest>(this, message, value);
return message;
@ -360,8 +363,12 @@ class ConfDetails$Type extends MessageType<ConfDetails> {
]);
}
create(value?: PartialMessage<ConfDetails>): ConfDetails {
const message = { rawTx: new Uint8Array(0), blockHash: new Uint8Array(0), blockHeight: 0, txIndex: 0, rawBlock: new Uint8Array(0) };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.rawTx = new Uint8Array(0);
message.blockHash = new Uint8Array(0);
message.blockHeight = 0;
message.txIndex = 0;
message.rawBlock = new Uint8Array(0);
if (value !== undefined)
reflectionMergePartial<ConfDetails>(this, message, value);
return message;
@ -429,14 +436,26 @@ class Reorg$Type extends MessageType<Reorg> {
super("chainrpc.Reorg", []);
}
create(value?: PartialMessage<Reorg>): Reorg {
const message = {};
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
if (value !== undefined)
reflectionMergePartial<Reorg>(this, message, value);
return message;
}
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Reorg): Reorg {
return target ?? this.create();
let message = target ?? this.create(), end = reader.pos + length;
while (reader.pos < end) {
let [fieldNo, wireType] = reader.tag();
switch (fieldNo) {
default:
let u = options.readUnknownField;
if (u === "throw")
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
let d = reader.skip(wireType);
if (u !== false)
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
}
}
return message;
}
internalBinaryWrite(message: Reorg, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
let u = options.writeUnknownFields;
@ -458,8 +477,8 @@ class ConfEvent$Type extends MessageType<ConfEvent> {
]);
}
create(value?: PartialMessage<ConfEvent>): ConfEvent {
const message = { event: { oneofKind: undefined } };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.event = { oneofKind: undefined };
if (value !== undefined)
reflectionMergePartial<ConfEvent>(this, message, value);
return message;
@ -518,8 +537,9 @@ class Outpoint$Type extends MessageType<Outpoint> {
]);
}
create(value?: PartialMessage<Outpoint>): Outpoint {
const message = { hash: new Uint8Array(0), index: 0 };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.hash = new Uint8Array(0);
message.index = 0;
if (value !== undefined)
reflectionMergePartial<Outpoint>(this, message, value);
return message;
@ -573,8 +593,9 @@ class SpendRequest$Type extends MessageType<SpendRequest> {
]);
}
create(value?: PartialMessage<SpendRequest>): SpendRequest {
const message = { script: new Uint8Array(0), heightHint: 0 };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.script = new Uint8Array(0);
message.heightHint = 0;
if (value !== undefined)
reflectionMergePartial<SpendRequest>(this, message, value);
return message;
@ -636,8 +657,11 @@ class SpendDetails$Type extends MessageType<SpendDetails> {
]);
}
create(value?: PartialMessage<SpendDetails>): SpendDetails {
const message = { rawSpendingTx: new Uint8Array(0), spendingTxHash: new Uint8Array(0), spendingInputIndex: 0, spendingHeight: 0 };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.rawSpendingTx = new Uint8Array(0);
message.spendingTxHash = new Uint8Array(0);
message.spendingInputIndex = 0;
message.spendingHeight = 0;
if (value !== undefined)
reflectionMergePartial<SpendDetails>(this, message, value);
return message;
@ -708,8 +732,8 @@ class SpendEvent$Type extends MessageType<SpendEvent> {
]);
}
create(value?: PartialMessage<SpendEvent>): SpendEvent {
const message = { event: { oneofKind: undefined } };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.event = { oneofKind: undefined };
if (value !== undefined)
reflectionMergePartial<SpendEvent>(this, message, value);
return message;
@ -768,8 +792,9 @@ class BlockEpoch$Type extends MessageType<BlockEpoch> {
]);
}
create(value?: PartialMessage<BlockEpoch>): BlockEpoch {
const message = { hash: new Uint8Array(0), height: 0 };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.hash = new Uint8Array(0);
message.height = 0;
if (value !== undefined)
reflectionMergePartial<BlockEpoch>(this, message, value);
return message;

View file

@ -1,9 +1,12 @@
// @generated by protobuf-ts 2.8.1
// @generated by protobuf-ts 2.11.1
// @generated from protobuf file "invoices.proto" (package "invoicesrpc", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { Invoices } from "./invoices.js";
import type { HtlcModifyRequest } from "./invoices.js";
import type { HtlcModifyResponse } from "./invoices.js";
import type { DuplexStreamingCall } from "@protobuf-ts/runtime-rpc";
import type { LookupInvoiceMsg } from "./invoices.js";
import type { SettleInvoiceResp } from "./invoices.js";
import type { SettleInvoiceMsg } from "./invoices.js";
@ -17,6 +20,23 @@ import type { Invoice } from "./lightning.js";
import type { SubscribeSingleInvoiceRequest } from "./invoices.js";
import type { ServerStreamingCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
//
// Comments in this file will be directly parsed into the API
// Documentation as descriptions of the associated method, message, or field.
// These descriptions should go right above the definition of the object, and
// can be in either block or // comment format.
//
// An RPC method can be matched to an lncli command by placing a line in the
// beginning of the description in exactly the following format:
// lncli: `methodname`
//
// Failure to specify the exact name of the command will cause documentation
// generation to fail.
//
// More information on how exactly the gRPC documentation is generated from
// this proto file can be found here:
// https://github.com/lightninglabs/lightning-api
/**
* Invoices is a service that can be used to create, accept, settle and cancel
* invoices.
@ -30,43 +50,70 @@ export interface IInvoicesClient {
* to notify the client of state transitions of the specified invoice.
* Initially the current invoice state is always sent out.
*
* @generated from protobuf rpc: SubscribeSingleInvoice(invoicesrpc.SubscribeSingleInvoiceRequest) returns (stream lnrpc.Invoice);
* @generated from protobuf rpc: SubscribeSingleInvoice
*/
subscribeSingleInvoice(input: SubscribeSingleInvoiceRequest, options?: RpcOptions): ServerStreamingCall<SubscribeSingleInvoiceRequest, Invoice>;
/**
*
* lncli: `cancelinvoice`
* CancelInvoice cancels a currently open invoice. If the invoice is already
* canceled, this call will succeed. If the invoice is already settled, it will
* fail.
*
* @generated from protobuf rpc: CancelInvoice(invoicesrpc.CancelInvoiceMsg) returns (invoicesrpc.CancelInvoiceResp);
* @generated from protobuf rpc: CancelInvoice
*/
cancelInvoice(input: CancelInvoiceMsg, options?: RpcOptions): UnaryCall<CancelInvoiceMsg, CancelInvoiceResp>;
/**
*
* lncli: `addholdinvoice`
* AddHoldInvoice creates a hold invoice. It ties the invoice to the hash
* supplied in the request.
*
* @generated from protobuf rpc: AddHoldInvoice(invoicesrpc.AddHoldInvoiceRequest) returns (invoicesrpc.AddHoldInvoiceResp);
* @generated from protobuf rpc: AddHoldInvoice
*/
addHoldInvoice(input: AddHoldInvoiceRequest, options?: RpcOptions): UnaryCall<AddHoldInvoiceRequest, AddHoldInvoiceResp>;
/**
*
* lncli: `settleinvoice`
* SettleInvoice settles an accepted invoice. If the invoice is already
* settled, this call will succeed.
*
* @generated from protobuf rpc: SettleInvoice(invoicesrpc.SettleInvoiceMsg) returns (invoicesrpc.SettleInvoiceResp);
* @generated from protobuf rpc: SettleInvoice
*/
settleInvoice(input: SettleInvoiceMsg, options?: RpcOptions): UnaryCall<SettleInvoiceMsg, SettleInvoiceResp>;
/**
*
* LookupInvoiceV2 attempts to look up at invoice. An invoice can be refrenced
* LookupInvoiceV2 attempts to look up at invoice. An invoice can be referenced
* using either its payment hash, payment address, or set ID.
*
* @generated from protobuf rpc: LookupInvoiceV2(invoicesrpc.LookupInvoiceMsg) returns (lnrpc.Invoice);
* @generated from protobuf rpc: LookupInvoiceV2
*/
lookupInvoiceV2(input: LookupInvoiceMsg, options?: RpcOptions): UnaryCall<LookupInvoiceMsg, Invoice>;
/**
*
* HtlcModifier is a bidirectional streaming RPC that allows a client to
* intercept and modify the HTLCs that attempt to settle the given invoice. The
* server will send HTLCs of invoices to the client and the client can modify
* some aspects of the HTLC in order to pass the invoice acceptance tests.
*
* @generated from protobuf rpc: HtlcModifier
*/
htlcModifier(options?: RpcOptions): DuplexStreamingCall<HtlcModifyResponse, HtlcModifyRequest>;
}
//
// Comments in this file will be directly parsed into the API
// Documentation as descriptions of the associated method, message, or field.
// These descriptions should go right above the definition of the object, and
// can be in either block or // comment format.
//
// An RPC method can be matched to an lncli command by placing a line in the
// beginning of the description in exactly the following format:
// lncli: `methodname`
//
// Failure to specify the exact name of the command will cause documentation
// generation to fail.
//
// More information on how exactly the gRPC documentation is generated from
// this proto file can be found here:
// https://github.com/lightninglabs/lightning-api
/**
* Invoices is a service that can be used to create, accept, settle and cancel
* invoices.
@ -85,41 +132,41 @@ export class InvoicesClient implements IInvoicesClient, ServiceInfo {
* to notify the client of state transitions of the specified invoice.
* Initially the current invoice state is always sent out.
*
* @generated from protobuf rpc: SubscribeSingleInvoice(invoicesrpc.SubscribeSingleInvoiceRequest) returns (stream lnrpc.Invoice);
* @generated from protobuf rpc: SubscribeSingleInvoice
*/
subscribeSingleInvoice(input: SubscribeSingleInvoiceRequest, options?: RpcOptions): ServerStreamingCall<SubscribeSingleInvoiceRequest, Invoice> {
const method = this.methods[0], opt = this._transport.mergeOptions(options);
return stackIntercept<SubscribeSingleInvoiceRequest, Invoice>("serverStreaming", this._transport, method, opt, input);
}
/**
*
* lncli: `cancelinvoice`
* CancelInvoice cancels a currently open invoice. If the invoice is already
* canceled, this call will succeed. If the invoice is already settled, it will
* fail.
*
* @generated from protobuf rpc: CancelInvoice(invoicesrpc.CancelInvoiceMsg) returns (invoicesrpc.CancelInvoiceResp);
* @generated from protobuf rpc: CancelInvoice
*/
cancelInvoice(input: CancelInvoiceMsg, options?: RpcOptions): UnaryCall<CancelInvoiceMsg, CancelInvoiceResp> {
const method = this.methods[1], opt = this._transport.mergeOptions(options);
return stackIntercept<CancelInvoiceMsg, CancelInvoiceResp>("unary", this._transport, method, opt, input);
}
/**
*
* lncli: `addholdinvoice`
* AddHoldInvoice creates a hold invoice. It ties the invoice to the hash
* supplied in the request.
*
* @generated from protobuf rpc: AddHoldInvoice(invoicesrpc.AddHoldInvoiceRequest) returns (invoicesrpc.AddHoldInvoiceResp);
* @generated from protobuf rpc: AddHoldInvoice
*/
addHoldInvoice(input: AddHoldInvoiceRequest, options?: RpcOptions): UnaryCall<AddHoldInvoiceRequest, AddHoldInvoiceResp> {
const method = this.methods[2], opt = this._transport.mergeOptions(options);
return stackIntercept<AddHoldInvoiceRequest, AddHoldInvoiceResp>("unary", this._transport, method, opt, input);
}
/**
*
* lncli: `settleinvoice`
* SettleInvoice settles an accepted invoice. If the invoice is already
* settled, this call will succeed.
*
* @generated from protobuf rpc: SettleInvoice(invoicesrpc.SettleInvoiceMsg) returns (invoicesrpc.SettleInvoiceResp);
* @generated from protobuf rpc: SettleInvoice
*/
settleInvoice(input: SettleInvoiceMsg, options?: RpcOptions): UnaryCall<SettleInvoiceMsg, SettleInvoiceResp> {
const method = this.methods[3], opt = this._transport.mergeOptions(options);
@ -127,13 +174,26 @@ export class InvoicesClient implements IInvoicesClient, ServiceInfo {
}
/**
*
* LookupInvoiceV2 attempts to look up at invoice. An invoice can be refrenced
* LookupInvoiceV2 attempts to look up at invoice. An invoice can be referenced
* using either its payment hash, payment address, or set ID.
*
* @generated from protobuf rpc: LookupInvoiceV2(invoicesrpc.LookupInvoiceMsg) returns (lnrpc.Invoice);
* @generated from protobuf rpc: LookupInvoiceV2
*/
lookupInvoiceV2(input: LookupInvoiceMsg, options?: RpcOptions): UnaryCall<LookupInvoiceMsg, Invoice> {
const method = this.methods[4], opt = this._transport.mergeOptions(options);
return stackIntercept<LookupInvoiceMsg, Invoice>("unary", this._transport, method, opt, input);
}
/**
*
* HtlcModifier is a bidirectional streaming RPC that allows a client to
* intercept and modify the HTLCs that attempt to settle the given invoice. The
* server will send HTLCs of invoices to the client and the client can modify
* some aspects of the HTLC in order to pass the invoice acceptance tests.
*
* @generated from protobuf rpc: HtlcModifier
*/
htlcModifier(options?: RpcOptions): DuplexStreamingCall<HtlcModifyResponse, HtlcModifyRequest> {
const method = this.methods[5], opt = this._transport.mergeOptions(options);
return stackIntercept<HtlcModifyResponse, HtlcModifyRequest>("duplex", this._transport, method, opt);
}
}

View file

@ -1,7 +1,6 @@
// @generated by protobuf-ts 2.8.1
// @generated by protobuf-ts 2.11.1
// @generated from protobuf file "invoices.proto" (package "invoicesrpc", syntax proto3)
// tslint:disable
import { Invoice } from "./lightning.js";
import { ServiceType } from "@protobuf-ts/runtime-rpc";
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
@ -11,8 +10,8 @@ import type { IBinaryReader } from "@protobuf-ts/runtime";
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { reflectionMergePartial } from "@protobuf-ts/runtime";
import { MESSAGE_TYPE } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { Invoice } from "./lightning.js";
import { RouteHint } from "./lightning.js";
/**
* @generated from protobuf message invoicesrpc.CancelInvoiceMsg
@ -22,7 +21,7 @@ export interface CancelInvoiceMsg {
* Hash corresponding to the (hold) invoice to cancel. When using
* REST, this field must be encoded as base64.
*
* @generated from protobuf field: bytes payment_hash = 1;
* @generated from protobuf field: bytes payment_hash = 1
*/
paymentHash: Uint8Array;
}
@ -42,13 +41,13 @@ export interface AddHoldInvoiceRequest {
* field of the encoded payment request if the description_hash field is not
* being used.
*
* @generated from protobuf field: string memo = 1;
* @generated from protobuf field: string memo = 1
*/
memo: string;
/**
* The hash of the preimage
*
* @generated from protobuf field: bytes hash = 2;
* @generated from protobuf field: bytes hash = 2
*/
hash: Uint8Array;
/**
@ -57,7 +56,7 @@ export interface AddHoldInvoiceRequest {
*
* The fields value and value_msat are mutually exclusive.
*
* @generated from protobuf field: int64 value = 3;
* @generated from protobuf field: int64 value = 3
*/
value: bigint;
/**
@ -66,7 +65,7 @@ export interface AddHoldInvoiceRequest {
*
* The fields value and value_msat are mutually exclusive.
*
* @generated from protobuf field: int64 value_msat = 10;
* @generated from protobuf field: int64 value_msat = 10
*/
valueMsat: bigint;
/**
@ -75,25 +74,25 @@ export interface AddHoldInvoiceRequest {
* payment (memo) is too long to naturally fit within the description field
* of an encoded payment request.
*
* @generated from protobuf field: bytes description_hash = 4;
* @generated from protobuf field: bytes description_hash = 4
*/
descriptionHash: Uint8Array;
/**
* Payment request expiry time in seconds. Default is 3600 (1 hour).
* Payment request expiry time in seconds. Default is 86400 (24 hours).
*
* @generated from protobuf field: int64 expiry = 5;
* @generated from protobuf field: int64 expiry = 5
*/
expiry: bigint;
/**
* Fallback on-chain address.
*
* @generated from protobuf field: string fallback_addr = 6;
* @generated from protobuf field: string fallback_addr = 6
*/
fallbackAddr: string;
/**
* Delta to use for the time-lock of the CLTV extended to the final hop.
*
* @generated from protobuf field: uint64 cltv_expiry = 7;
* @generated from protobuf field: uint64 cltv_expiry = 7
*/
cltvExpiry: bigint;
/**
@ -101,13 +100,13 @@ export interface AddHoldInvoiceRequest {
* Route hints that can each be individually used to assist in reaching the
* invoice's destination.
*
* @generated from protobuf field: repeated lnrpc.RouteHint route_hints = 8;
* @generated from protobuf field: repeated lnrpc.RouteHint route_hints = 8
*/
routeHints: RouteHint[];
/**
* Whether this invoice should include routing hints for private channels.
*
* @generated from protobuf field: bool private = 9;
* @generated from protobuf field: bool private = 9
*/
private: boolean;
}
@ -121,7 +120,7 @@ export interface AddHoldInvoiceResp {
* details of the invoice, the sender has all the data necessary to send a
* payment to the recipient.
*
* @generated from protobuf field: string payment_request = 1;
* @generated from protobuf field: string payment_request = 1
*/
paymentRequest: string;
/**
@ -131,16 +130,17 @@ export interface AddHoldInvoiceResp {
* SubscribeInvoices call can use this to instantly get notified of all added
* invoices with an add_index greater than this one.
*
* @generated from protobuf field: uint64 add_index = 2;
* @generated from protobuf field: uint64 add_index = 2
*/
addIndex: bigint;
/**
*
* The payment address of the generated invoice. This value should be used
* in all payments for this invoice as we require it for end to end
* The payment address of the generated invoice. This is also called
* the payment secret in specifications (e.g. BOLT 11). This value should
* be used in all payments for this invoice as we require it for end to end
* security.
*
* @generated from protobuf field: bytes payment_addr = 3;
* @generated from protobuf field: bytes payment_addr = 3
*/
paymentAddr: Uint8Array;
}
@ -152,7 +152,7 @@ export interface SettleInvoiceMsg {
* Externally discovered pre-image that should be used to settle the hold
* invoice.
*
* @generated from protobuf field: bytes preimage = 1;
* @generated from protobuf field: bytes preimage = 1
*/
preimage: Uint8Array;
}
@ -169,7 +169,7 @@ export interface SubscribeSingleInvoiceRequest {
* Hash corresponding to the (hold) invoice to subscribe to. When using
* REST, this field must be encoded as base64url.
*
* @generated from protobuf field: bytes r_hash = 2;
* @generated from protobuf field: bytes r_hash = 2
*/
rHash: Uint8Array;
}
@ -185,29 +185,122 @@ export interface LookupInvoiceMsg {
/**
* When using REST, this field must be encoded as base64.
*
* @generated from protobuf field: bytes payment_hash = 1;
* @generated from protobuf field: bytes payment_hash = 1
*/
paymentHash: Uint8Array;
} | {
oneofKind: "paymentAddr";
/**
* @generated from protobuf field: bytes payment_addr = 2;
* @generated from protobuf field: bytes payment_addr = 2
*/
paymentAddr: Uint8Array;
} | {
oneofKind: "setId";
/**
* @generated from protobuf field: bytes set_id = 3;
* @generated from protobuf field: bytes set_id = 3
*/
setId: Uint8Array;
} | {
oneofKind: undefined;
};
/**
* @generated from protobuf field: invoicesrpc.LookupModifier lookup_modifier = 4;
* @generated from protobuf field: invoicesrpc.LookupModifier lookup_modifier = 4
*/
lookupModifier: LookupModifier;
}
/**
* CircuitKey is a unique identifier for an HTLC.
*
* @generated from protobuf message invoicesrpc.CircuitKey
*/
export interface CircuitKey {
/**
* The id of the channel that the is part of this circuit.
*
* @generated from protobuf field: uint64 chan_id = 1
*/
chanId: bigint;
/**
* The index of the incoming htlc in the incoming channel.
*
* @generated from protobuf field: uint64 htlc_id = 2
*/
htlcId: bigint;
}
/**
* @generated from protobuf message invoicesrpc.HtlcModifyRequest
*/
export interface HtlcModifyRequest {
/**
* The invoice the intercepted HTLC is attempting to settle. The HTLCs in
* the invoice are only HTLCs that have already been accepted or settled,
* not including the current intercepted HTLC.
*
* @generated from protobuf field: lnrpc.Invoice invoice = 1
*/
invoice?: Invoice;
/**
* The unique identifier of the HTLC of this intercepted HTLC.
*
* @generated from protobuf field: invoicesrpc.CircuitKey exit_htlc_circuit_key = 2
*/
exitHtlcCircuitKey?: CircuitKey;
/**
* The amount in milli-satoshi that the exit HTLC is attempting to pay.
*
* @generated from protobuf field: uint64 exit_htlc_amt = 3
*/
exitHtlcAmt: bigint;
/**
* The absolute expiry height of the exit HTLC.
*
* @generated from protobuf field: uint32 exit_htlc_expiry = 4
*/
exitHtlcExpiry: number;
/**
* The current block height.
*
* @generated from protobuf field: uint32 current_height = 5
*/
currentHeight: number;
/**
* The wire message custom records of the exit HTLC.
*
* @generated from protobuf field: map<uint64, bytes> exit_htlc_wire_custom_records = 6
*/
exitHtlcWireCustomRecords: {
[key: string]: Uint8Array;
};
}
/**
* @generated from protobuf message invoicesrpc.HtlcModifyResponse
*/
export interface HtlcModifyResponse {
/**
* The circuit key of the HTLC that the client wants to modify.
*
* @generated from protobuf field: invoicesrpc.CircuitKey circuit_key = 1
*/
circuitKey?: CircuitKey;
/**
* The modified amount in milli-satoshi that the exit HTLC is paying. This
* value can be different from the actual on-chain HTLC amount, in case the
* HTLC carries other valuable items, as can be the case with custom channel
* types.
*
* @generated from protobuf field: optional uint64 amt_paid = 2
*/
amtPaid?: bigint;
/**
* This flag indicates whether the HTLCs associated with the invoices should
* be cancelled. The interceptor client may set this field if some
* unexpected behavior is encountered. Setting this will ignore the amt_paid
* field.
*
* @generated from protobuf field: bool cancel_set = 3
*/
cancelSet: boolean;
}
/**
* @generated from protobuf enum invoicesrpc.LookupModifier
*/
@ -245,8 +338,8 @@ class CancelInvoiceMsg$Type extends MessageType<CancelInvoiceMsg> {
]);
}
create(value?: PartialMessage<CancelInvoiceMsg>): CancelInvoiceMsg {
const message = { paymentHash: new Uint8Array(0) };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.paymentHash = new Uint8Array(0);
if (value !== undefined)
reflectionMergePartial<CancelInvoiceMsg>(this, message, value);
return message;
@ -290,14 +383,26 @@ class CancelInvoiceResp$Type extends MessageType<CancelInvoiceResp> {
super("invoicesrpc.CancelInvoiceResp", []);
}
create(value?: PartialMessage<CancelInvoiceResp>): CancelInvoiceResp {
const message = {};
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
if (value !== undefined)
reflectionMergePartial<CancelInvoiceResp>(this, message, value);
return message;
}
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CancelInvoiceResp): CancelInvoiceResp {
return target ?? this.create();
let message = target ?? this.create(), end = reader.pos + length;
while (reader.pos < end) {
let [fieldNo, wireType] = reader.tag();
switch (fieldNo) {
default:
let u = options.readUnknownField;
if (u === "throw")
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
let d = reader.skip(wireType);
if (u !== false)
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
}
}
return message;
}
internalBinaryWrite(message: CancelInvoiceResp, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
let u = options.writeUnknownFields;
@ -322,13 +427,22 @@ class AddHoldInvoiceRequest$Type extends MessageType<AddHoldInvoiceRequest> {
{ no: 5, name: "expiry", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
{ no: 6, name: "fallback_addr", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
{ no: 7, name: "cltv_expiry", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
{ no: 8, name: "route_hints", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => RouteHint },
{ no: 8, name: "route_hints", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => RouteHint },
{ no: 9, name: "private", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
]);
}
create(value?: PartialMessage<AddHoldInvoiceRequest>): AddHoldInvoiceRequest {
const message = { memo: "", hash: new Uint8Array(0), value: 0n, valueMsat: 0n, descriptionHash: new Uint8Array(0), expiry: 0n, fallbackAddr: "", cltvExpiry: 0n, routeHints: [], private: false };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.memo = "";
message.hash = new Uint8Array(0);
message.value = 0n;
message.valueMsat = 0n;
message.descriptionHash = new Uint8Array(0);
message.expiry = 0n;
message.fallbackAddr = "";
message.cltvExpiry = 0n;
message.routeHints = [];
message.private = false;
if (value !== undefined)
reflectionMergePartial<AddHoldInvoiceRequest>(this, message, value);
return message;
@ -389,9 +503,6 @@ class AddHoldInvoiceRequest$Type extends MessageType<AddHoldInvoiceRequest> {
/* int64 value = 3; */
if (message.value !== 0n)
writer.tag(3, WireType.Varint).int64(message.value);
/* int64 value_msat = 10; */
if (message.valueMsat !== 0n)
writer.tag(10, WireType.Varint).int64(message.valueMsat);
/* bytes description_hash = 4; */
if (message.descriptionHash.length)
writer.tag(4, WireType.LengthDelimited).bytes(message.descriptionHash);
@ -410,6 +521,9 @@ class AddHoldInvoiceRequest$Type extends MessageType<AddHoldInvoiceRequest> {
/* bool private = 9; */
if (message.private !== false)
writer.tag(9, WireType.Varint).bool(message.private);
/* int64 value_msat = 10; */
if (message.valueMsat !== 0n)
writer.tag(10, WireType.Varint).int64(message.valueMsat);
let u = options.writeUnknownFields;
if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@ -430,8 +544,10 @@ class AddHoldInvoiceResp$Type extends MessageType<AddHoldInvoiceResp> {
]);
}
create(value?: PartialMessage<AddHoldInvoiceResp>): AddHoldInvoiceResp {
const message = { paymentRequest: "", addIndex: 0n, paymentAddr: new Uint8Array(0) };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.paymentRequest = "";
message.addIndex = 0n;
message.paymentAddr = new Uint8Array(0);
if (value !== undefined)
reflectionMergePartial<AddHoldInvoiceResp>(this, message, value);
return message;
@ -489,8 +605,8 @@ class SettleInvoiceMsg$Type extends MessageType<SettleInvoiceMsg> {
]);
}
create(value?: PartialMessage<SettleInvoiceMsg>): SettleInvoiceMsg {
const message = { preimage: new Uint8Array(0) };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.preimage = new Uint8Array(0);
if (value !== undefined)
reflectionMergePartial<SettleInvoiceMsg>(this, message, value);
return message;
@ -534,14 +650,26 @@ class SettleInvoiceResp$Type extends MessageType<SettleInvoiceResp> {
super("invoicesrpc.SettleInvoiceResp", []);
}
create(value?: PartialMessage<SettleInvoiceResp>): SettleInvoiceResp {
const message = {};
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
if (value !== undefined)
reflectionMergePartial<SettleInvoiceResp>(this, message, value);
return message;
}
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SettleInvoiceResp): SettleInvoiceResp {
return target ?? this.create();
let message = target ?? this.create(), end = reader.pos + length;
while (reader.pos < end) {
let [fieldNo, wireType] = reader.tag();
switch (fieldNo) {
default:
let u = options.readUnknownField;
if (u === "throw")
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
let d = reader.skip(wireType);
if (u !== false)
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
}
}
return message;
}
internalBinaryWrite(message: SettleInvoiceResp, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
let u = options.writeUnknownFields;
@ -562,8 +690,8 @@ class SubscribeSingleInvoiceRequest$Type extends MessageType<SubscribeSingleInvo
]);
}
create(value?: PartialMessage<SubscribeSingleInvoiceRequest>): SubscribeSingleInvoiceRequest {
const message = { rHash: new Uint8Array(0) };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.rHash = new Uint8Array(0);
if (value !== undefined)
reflectionMergePartial<SubscribeSingleInvoiceRequest>(this, message, value);
return message;
@ -612,8 +740,9 @@ class LookupInvoiceMsg$Type extends MessageType<LookupInvoiceMsg> {
]);
}
create(value?: PartialMessage<LookupInvoiceMsg>): LookupInvoiceMsg {
const message = { invoiceRef: { oneofKind: undefined }, lookupModifier: 0 };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.invoiceRef = { oneofKind: undefined };
message.lookupModifier = 0;
if (value !== undefined)
reflectionMergePartial<LookupInvoiceMsg>(this, message, value);
return message;
@ -678,6 +807,223 @@ class LookupInvoiceMsg$Type extends MessageType<LookupInvoiceMsg> {
* @generated MessageType for protobuf message invoicesrpc.LookupInvoiceMsg
*/
export const LookupInvoiceMsg = new LookupInvoiceMsg$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CircuitKey$Type extends MessageType<CircuitKey> {
constructor() {
super("invoicesrpc.CircuitKey", [
{ no: 1, name: "chan_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
{ no: 2, name: "htlc_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
]);
}
create(value?: PartialMessage<CircuitKey>): CircuitKey {
const message = globalThis.Object.create((this.messagePrototype!));
message.chanId = 0n;
message.htlcId = 0n;
if (value !== undefined)
reflectionMergePartial<CircuitKey>(this, message, value);
return message;
}
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CircuitKey): CircuitKey {
let message = target ?? this.create(), end = reader.pos + length;
while (reader.pos < end) {
let [fieldNo, wireType] = reader.tag();
switch (fieldNo) {
case /* uint64 chan_id */ 1:
message.chanId = reader.uint64().toBigInt();
break;
case /* uint64 htlc_id */ 2:
message.htlcId = reader.uint64().toBigInt();
break;
default:
let u = options.readUnknownField;
if (u === "throw")
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
let d = reader.skip(wireType);
if (u !== false)
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
}
}
return message;
}
internalBinaryWrite(message: CircuitKey, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
/* uint64 chan_id = 1; */
if (message.chanId !== 0n)
writer.tag(1, WireType.Varint).uint64(message.chanId);
/* uint64 htlc_id = 2; */
if (message.htlcId !== 0n)
writer.tag(2, WireType.Varint).uint64(message.htlcId);
let u = options.writeUnknownFields;
if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
return writer;
}
}
/**
* @generated MessageType for protobuf message invoicesrpc.CircuitKey
*/
export const CircuitKey = new CircuitKey$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HtlcModifyRequest$Type extends MessageType<HtlcModifyRequest> {
constructor() {
super("invoicesrpc.HtlcModifyRequest", [
{ no: 1, name: "invoice", kind: "message", T: () => Invoice },
{ no: 2, name: "exit_htlc_circuit_key", kind: "message", T: () => CircuitKey },
{ no: 3, name: "exit_htlc_amt", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
{ no: 4, name: "exit_htlc_expiry", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
{ no: 5, name: "current_height", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
{ no: 6, name: "exit_htlc_wire_custom_records", kind: "map", K: 4 /*ScalarType.UINT64*/, V: { kind: "scalar", T: 12 /*ScalarType.BYTES*/ } }
]);
}
create(value?: PartialMessage<HtlcModifyRequest>): HtlcModifyRequest {
const message = globalThis.Object.create((this.messagePrototype!));
message.exitHtlcAmt = 0n;
message.exitHtlcExpiry = 0;
message.currentHeight = 0;
message.exitHtlcWireCustomRecords = {};
if (value !== undefined)
reflectionMergePartial<HtlcModifyRequest>(this, message, value);
return message;
}
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HtlcModifyRequest): HtlcModifyRequest {
let message = target ?? this.create(), end = reader.pos + length;
while (reader.pos < end) {
let [fieldNo, wireType] = reader.tag();
switch (fieldNo) {
case /* lnrpc.Invoice invoice */ 1:
message.invoice = Invoice.internalBinaryRead(reader, reader.uint32(), options, message.invoice);
break;
case /* invoicesrpc.CircuitKey exit_htlc_circuit_key */ 2:
message.exitHtlcCircuitKey = CircuitKey.internalBinaryRead(reader, reader.uint32(), options, message.exitHtlcCircuitKey);
break;
case /* uint64 exit_htlc_amt */ 3:
message.exitHtlcAmt = reader.uint64().toBigInt();
break;
case /* uint32 exit_htlc_expiry */ 4:
message.exitHtlcExpiry = reader.uint32();
break;
case /* uint32 current_height */ 5:
message.currentHeight = reader.uint32();
break;
case /* map<uint64, bytes> exit_htlc_wire_custom_records */ 6:
this.binaryReadMap6(message.exitHtlcWireCustomRecords, reader, options);
break;
default:
let u = options.readUnknownField;
if (u === "throw")
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
let d = reader.skip(wireType);
if (u !== false)
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
}
}
return message;
}
private binaryReadMap6(map: HtlcModifyRequest["exitHtlcWireCustomRecords"], reader: IBinaryReader, options: BinaryReadOptions): void {
let len = reader.uint32(), end = reader.pos + len, key: keyof HtlcModifyRequest["exitHtlcWireCustomRecords"] | undefined, val: HtlcModifyRequest["exitHtlcWireCustomRecords"][any] | undefined;
while (reader.pos < end) {
let [fieldNo, wireType] = reader.tag();
switch (fieldNo) {
case 1:
key = reader.uint64().toString();
break;
case 2:
val = reader.bytes();
break;
default: throw new globalThis.Error("unknown map entry field for invoicesrpc.HtlcModifyRequest.exit_htlc_wire_custom_records");
}
}
map[key ?? "0"] = val ?? new Uint8Array(0);
}
internalBinaryWrite(message: HtlcModifyRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
/* lnrpc.Invoice invoice = 1; */
if (message.invoice)
Invoice.internalBinaryWrite(message.invoice, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
/* invoicesrpc.CircuitKey exit_htlc_circuit_key = 2; */
if (message.exitHtlcCircuitKey)
CircuitKey.internalBinaryWrite(message.exitHtlcCircuitKey, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
/* uint64 exit_htlc_amt = 3; */
if (message.exitHtlcAmt !== 0n)
writer.tag(3, WireType.Varint).uint64(message.exitHtlcAmt);
/* uint32 exit_htlc_expiry = 4; */
if (message.exitHtlcExpiry !== 0)
writer.tag(4, WireType.Varint).uint32(message.exitHtlcExpiry);
/* uint32 current_height = 5; */
if (message.currentHeight !== 0)
writer.tag(5, WireType.Varint).uint32(message.currentHeight);
/* map<uint64, bytes> exit_htlc_wire_custom_records = 6; */
for (let k of globalThis.Object.keys(message.exitHtlcWireCustomRecords))
writer.tag(6, WireType.LengthDelimited).fork().tag(1, WireType.Varint).uint64(k).tag(2, WireType.LengthDelimited).bytes(message.exitHtlcWireCustomRecords[k]).join();
let u = options.writeUnknownFields;
if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
return writer;
}
}
/**
* @generated MessageType for protobuf message invoicesrpc.HtlcModifyRequest
*/
export const HtlcModifyRequest = new HtlcModifyRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class HtlcModifyResponse$Type extends MessageType<HtlcModifyResponse> {
constructor() {
super("invoicesrpc.HtlcModifyResponse", [
{ no: 1, name: "circuit_key", kind: "message", T: () => CircuitKey },
{ no: 2, name: "amt_paid", kind: "scalar", opt: true, T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
{ no: 3, name: "cancel_set", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
]);
}
create(value?: PartialMessage<HtlcModifyResponse>): HtlcModifyResponse {
const message = globalThis.Object.create((this.messagePrototype!));
message.cancelSet = false;
if (value !== undefined)
reflectionMergePartial<HtlcModifyResponse>(this, message, value);
return message;
}
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HtlcModifyResponse): HtlcModifyResponse {
let message = target ?? this.create(), end = reader.pos + length;
while (reader.pos < end) {
let [fieldNo, wireType] = reader.tag();
switch (fieldNo) {
case /* invoicesrpc.CircuitKey circuit_key */ 1:
message.circuitKey = CircuitKey.internalBinaryRead(reader, reader.uint32(), options, message.circuitKey);
break;
case /* optional uint64 amt_paid */ 2:
message.amtPaid = reader.uint64().toBigInt();
break;
case /* bool cancel_set */ 3:
message.cancelSet = reader.bool();
break;
default:
let u = options.readUnknownField;
if (u === "throw")
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
let d = reader.skip(wireType);
if (u !== false)
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
}
}
return message;
}
internalBinaryWrite(message: HtlcModifyResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
/* invoicesrpc.CircuitKey circuit_key = 1; */
if (message.circuitKey)
CircuitKey.internalBinaryWrite(message.circuitKey, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
/* optional uint64 amt_paid = 2; */
if (message.amtPaid !== undefined)
writer.tag(2, WireType.Varint).uint64(message.amtPaid);
/* bool cancel_set = 3; */
if (message.cancelSet !== false)
writer.tag(3, WireType.Varint).bool(message.cancelSet);
let u = options.writeUnknownFields;
if (u !== false)
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
return writer;
}
}
/**
* @generated MessageType for protobuf message invoicesrpc.HtlcModifyResponse
*/
export const HtlcModifyResponse = new HtlcModifyResponse$Type();
/**
* @generated ServiceType for protobuf service invoicesrpc.Invoices
*/
@ -686,5 +1032,6 @@ export const Invoices = new ServiceType("invoicesrpc.Invoices", [
{ name: "CancelInvoice", options: {}, I: CancelInvoiceMsg, O: CancelInvoiceResp },
{ name: "AddHoldInvoice", options: {}, I: AddHoldInvoiceRequest, O: AddHoldInvoiceResp },
{ name: "SettleInvoice", options: {}, I: SettleInvoiceMsg, O: SettleInvoiceResp },
{ name: "LookupInvoiceV2", options: {}, I: LookupInvoiceMsg, O: Invoice }
{ name: "LookupInvoiceV2", options: {}, I: LookupInvoiceMsg, O: Invoice },
{ name: "HtlcModifier", serverStreaming: true, clientStreaming: true, options: {}, I: HtlcModifyResponse, O: HtlcModifyRequest }
]);

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,9 +1,13 @@
// @generated by protobuf-ts 2.8.1
// @generated by protobuf-ts 2.11.1
// @generated from protobuf file "router.proto" (package "routerrpc", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { Router } from "./router.js";
import type { DeleteAliasesResponse } from "./router.js";
import type { DeleteAliasesRequest } from "./router.js";
import type { AddAliasesResponse } from "./router.js";
import type { AddAliasesRequest } from "./router.js";
import type { UpdateChanStatusResponse } from "./router.js";
import type { UpdateChanStatusRequest } from "./router.js";
import type { ForwardHtlcInterceptRequest } from "./router.js";
@ -39,6 +43,23 @@ import type { Payment } from "./lightning.js";
import type { SendPaymentRequest } from "./router.js";
import type { ServerStreamingCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
//
// Comments in this file will be directly parsed into the API
// Documentation as descriptions of the associated method, message, or field.
// These descriptions should go right above the definition of the object, and
// can be in either block or // comment format.
//
// An RPC method can be matched to an lncli command by placing a line in the
// beginning of the description in exactly the following format:
// lncli: `methodname`
//
// Failure to specify the exact name of the command will cause documentation
// generation to fail.
//
// More information on how exactly the gRPC documentation is generated from
// this proto file can be found here:
// https://github.com/lightninglabs/lightning-api
/**
* Router is a service that offers advanced interaction with the router
* subsystem of the daemon.
@ -50,17 +71,20 @@ export interface IRouterClient {
*
* SendPaymentV2 attempts to route a payment described by the passed
* PaymentRequest to the final destination. The call returns a stream of
* payment updates.
* payment updates. When using this RPC, make sure to set a fee limit, as the
* default routing fee limit is 0 sats. Without a non-zero fee limit only
* routes without fees will be attempted which often fails with
* FAILURE_REASON_NO_ROUTE.
*
* @generated from protobuf rpc: SendPaymentV2(routerrpc.SendPaymentRequest) returns (stream lnrpc.Payment);
* @generated from protobuf rpc: SendPaymentV2
*/
sendPaymentV2(input: SendPaymentRequest, options?: RpcOptions): ServerStreamingCall<SendPaymentRequest, Payment>;
/**
*
* lncli: `trackpayment`
* TrackPaymentV2 returns an update stream for the payment identified by the
* payment hash.
*
* @generated from protobuf rpc: TrackPaymentV2(routerrpc.TrackPaymentRequest) returns (stream lnrpc.Payment);
* @generated from protobuf rpc: TrackPaymentV2
*/
trackPaymentV2(input: TrackPaymentRequest, options?: RpcOptions): ServerStreamingCall<TrackPaymentRequest, Payment>;
/**
@ -72,7 +96,7 @@ export interface IRouterClient {
* payment attempt make sure to subscribe to this method before initiating any
* payments.
*
* @generated from protobuf rpc: TrackPayments(routerrpc.TrackPaymentsRequest) returns (stream lnrpc.Payment);
* @generated from protobuf rpc: TrackPayments
*/
trackPayments(input: TrackPaymentsRequest, options?: RpcOptions): ServerStreamingCall<TrackPaymentsRequest, Payment>;
/**
@ -80,7 +104,7 @@ export interface IRouterClient {
* EstimateRouteFee allows callers to obtain a lower bound w.r.t how much it
* may cost to send an HTLC to the target end destination.
*
* @generated from protobuf rpc: EstimateRouteFee(routerrpc.RouteFeeRequest) returns (routerrpc.RouteFeeResponse);
* @generated from protobuf rpc: EstimateRouteFee
*/
estimateRouteFee(input: RouteFeeRequest, options?: RpcOptions): UnaryCall<RouteFeeRequest, RouteFeeResponse>;
/**
@ -92,7 +116,7 @@ export interface IRouterClient {
* SendToRouteV2 in that it doesn't return the full HTLC information.
*
* @deprecated
* @generated from protobuf rpc: SendToRoute(routerrpc.SendToRouteRequest) returns (routerrpc.SendToRouteResponse);
* @generated from protobuf rpc: SendToRoute
*/
sendToRoute(input: SendToRouteRequest, options?: RpcOptions): UnaryCall<SendToRouteRequest, SendToRouteResponse>;
/**
@ -102,65 +126,71 @@ export interface IRouterClient {
* route manually. This can be used for things like rebalancing, and atomic
* swaps.
*
* @generated from protobuf rpc: SendToRouteV2(routerrpc.SendToRouteRequest) returns (lnrpc.HTLCAttempt);
* @generated from protobuf rpc: SendToRouteV2
*/
sendToRouteV2(input: SendToRouteRequest, options?: RpcOptions): UnaryCall<SendToRouteRequest, HTLCAttempt>;
/**
*
* lncli: `resetmc`
* ResetMissionControl clears all mission control state and starts with a clean
* slate.
*
* @generated from protobuf rpc: ResetMissionControl(routerrpc.ResetMissionControlRequest) returns (routerrpc.ResetMissionControlResponse);
* @generated from protobuf rpc: ResetMissionControl
*/
resetMissionControl(input: ResetMissionControlRequest, options?: RpcOptions): UnaryCall<ResetMissionControlRequest, ResetMissionControlResponse>;
/**
*
* lncli: `querymc`
* QueryMissionControl exposes the internal mission control state to callers.
* It is a development feature.
*
* @generated from protobuf rpc: QueryMissionControl(routerrpc.QueryMissionControlRequest) returns (routerrpc.QueryMissionControlResponse);
* @generated from protobuf rpc: QueryMissionControl
*/
queryMissionControl(input: QueryMissionControlRequest, options?: RpcOptions): UnaryCall<QueryMissionControlRequest, QueryMissionControlResponse>;
/**
*
* lncli: `importmc`
* XImportMissionControl is an experimental API that imports the state provided
* to the internal mission control's state, using all results which are more
* recent than our existing values. These values will only be imported
* in-memory, and will not be persisted across restarts.
*
* @generated from protobuf rpc: XImportMissionControl(routerrpc.XImportMissionControlRequest) returns (routerrpc.XImportMissionControlResponse);
* @generated from protobuf rpc: XImportMissionControl
*/
xImportMissionControl(input: XImportMissionControlRequest, options?: RpcOptions): UnaryCall<XImportMissionControlRequest, XImportMissionControlResponse>;
/**
*
* lncli: `getmccfg`
* GetMissionControlConfig returns mission control's current config.
*
* @generated from protobuf rpc: GetMissionControlConfig(routerrpc.GetMissionControlConfigRequest) returns (routerrpc.GetMissionControlConfigResponse);
* @generated from protobuf rpc: GetMissionControlConfig
*/
getMissionControlConfig(input: GetMissionControlConfigRequest, options?: RpcOptions): UnaryCall<GetMissionControlConfigRequest, GetMissionControlConfigResponse>;
/**
*
* lncli: `setmccfg`
* SetMissionControlConfig will set mission control's config, if the config
* provided is valid.
*
* @generated from protobuf rpc: SetMissionControlConfig(routerrpc.SetMissionControlConfigRequest) returns (routerrpc.SetMissionControlConfigResponse);
* @generated from protobuf rpc: SetMissionControlConfig
*/
setMissionControlConfig(input: SetMissionControlConfigRequest, options?: RpcOptions): UnaryCall<SetMissionControlConfigRequest, SetMissionControlConfigResponse>;
/**
* lncli: `queryprob`
* Deprecated. QueryProbability returns the current success probability
* estimate for a given node pair and amount. The call returns a zero success
* probability if no channel is available or if the amount violates min/max
* HTLC constraints.
*
* QueryProbability returns the current success probability estimate for a
* given node pair and amount.
*
* @generated from protobuf rpc: QueryProbability(routerrpc.QueryProbabilityRequest) returns (routerrpc.QueryProbabilityResponse);
* @generated from protobuf rpc: QueryProbability
*/
queryProbability(input: QueryProbabilityRequest, options?: RpcOptions): UnaryCall<QueryProbabilityRequest, QueryProbabilityResponse>;
/**
*
* lncli: `buildroute`
* BuildRoute builds a fully specified route based on a list of hop public
* keys. It retrieves the relevant channel policies from the graph in order to
* calculate the correct fees and time locks.
* Note that LND will use its default final_cltv_delta if no value is supplied.
* Make sure to add the correct final_cltv_delta depending on the invoice
* restriction. Moreover the caller has to make sure to provide the
* payment_addr if the route is paying an invoice which signaled it.
*
* @generated from protobuf rpc: BuildRoute(routerrpc.BuildRouteRequest) returns (routerrpc.BuildRouteResponse);
* @generated from protobuf rpc: BuildRoute
*/
buildRoute(input: BuildRouteRequest, options?: RpcOptions): UnaryCall<BuildRouteRequest, BuildRouteResponse>;
/**
@ -168,7 +198,7 @@ export interface IRouterClient {
* SubscribeHtlcEvents creates a uni-directional stream from the server to
* the client which delivers a stream of htlc events.
*
* @generated from protobuf rpc: SubscribeHtlcEvents(routerrpc.SubscribeHtlcEventsRequest) returns (stream routerrpc.HtlcEvent);
* @generated from protobuf rpc: SubscribeHtlcEvents
*/
subscribeHtlcEvents(input: SubscribeHtlcEventsRequest, options?: RpcOptions): ServerStreamingCall<SubscribeHtlcEventsRequest, HtlcEvent>;
/**
@ -178,7 +208,7 @@ export interface IRouterClient {
* returns a stream of payment status updates.
*
* @deprecated
* @generated from protobuf rpc: SendPayment(routerrpc.SendPaymentRequest) returns (stream routerrpc.PaymentStatus);
* @generated from protobuf rpc: SendPayment
*/
sendPayment(input: SendPaymentRequest, options?: RpcOptions): ServerStreamingCall<SendPaymentRequest, PaymentStatus>;
/**
@ -187,7 +217,7 @@ export interface IRouterClient {
* the payment identified by the payment hash.
*
* @deprecated
* @generated from protobuf rpc: TrackPayment(routerrpc.TrackPaymentRequest) returns (stream routerrpc.PaymentStatus);
* @generated from protobuf rpc: TrackPayment
*/
trackPayment(input: TrackPaymentRequest, options?: RpcOptions): ServerStreamingCall<TrackPaymentRequest, PaymentStatus>;
/**
@ -198,20 +228,59 @@ export interface IRouterClient {
* In case of interception, the htlc can be either settled, cancelled or
* resumed later by using the ResolveHoldForward endpoint.
*
* @generated from protobuf rpc: HtlcInterceptor(stream routerrpc.ForwardHtlcInterceptResponse) returns (stream routerrpc.ForwardHtlcInterceptRequest);
* @generated from protobuf rpc: HtlcInterceptor
*/
htlcInterceptor(options?: RpcOptions): DuplexStreamingCall<ForwardHtlcInterceptResponse, ForwardHtlcInterceptRequest>;
/**
*
* lncli: `updatechanstatus`
* UpdateChanStatus attempts to manually set the state of a channel
* (enabled, disabled, or auto). A manual "disable" request will cause the
* channel to stay disabled until a subsequent manual request of either
* "enable" or "auto".
*
* @generated from protobuf rpc: UpdateChanStatus(routerrpc.UpdateChanStatusRequest) returns (routerrpc.UpdateChanStatusResponse);
* @generated from protobuf rpc: UpdateChanStatus
*/
updateChanStatus(input: UpdateChanStatusRequest, options?: RpcOptions): UnaryCall<UpdateChanStatusRequest, UpdateChanStatusResponse>;
/**
*
* XAddLocalChanAliases is an experimental API that creates a set of new
* channel SCID alias mappings. The final total set of aliases in the manager
* after the add operation is returned. This is only a locally stored alias,
* and will not be communicated to the channel peer via any message. Therefore,
* routing over such an alias will only work if the peer also calls this same
* RPC on their end. If an alias already exists, an error is returned
*
* @generated from protobuf rpc: XAddLocalChanAliases
*/
xAddLocalChanAliases(input: AddAliasesRequest, options?: RpcOptions): UnaryCall<AddAliasesRequest, AddAliasesResponse>;
/**
*
* XDeleteLocalChanAliases is an experimental API that deletes a set of alias
* mappings. The final total set of aliases in the manager after the delete
* operation is returned. The deletion will not be communicated to the channel
* peer via any message.
*
* @generated from protobuf rpc: XDeleteLocalChanAliases
*/
xDeleteLocalChanAliases(input: DeleteAliasesRequest, options?: RpcOptions): UnaryCall<DeleteAliasesRequest, DeleteAliasesResponse>;
}
//
// Comments in this file will be directly parsed into the API
// Documentation as descriptions of the associated method, message, or field.
// These descriptions should go right above the definition of the object, and
// can be in either block or // comment format.
//
// An RPC method can be matched to an lncli command by placing a line in the
// beginning of the description in exactly the following format:
// lncli: `methodname`
//
// Failure to specify the exact name of the command will cause documentation
// generation to fail.
//
// More information on how exactly the gRPC documentation is generated from
// this proto file can be found here:
// https://github.com/lightninglabs/lightning-api
/**
* Router is a service that offers advanced interaction with the router
* subsystem of the daemon.
@ -228,20 +297,23 @@ export class RouterClient implements IRouterClient, ServiceInfo {
*
* SendPaymentV2 attempts to route a payment described by the passed
* PaymentRequest to the final destination. The call returns a stream of
* payment updates.
* payment updates. When using this RPC, make sure to set a fee limit, as the
* default routing fee limit is 0 sats. Without a non-zero fee limit only
* routes without fees will be attempted which often fails with
* FAILURE_REASON_NO_ROUTE.
*
* @generated from protobuf rpc: SendPaymentV2(routerrpc.SendPaymentRequest) returns (stream lnrpc.Payment);
* @generated from protobuf rpc: SendPaymentV2
*/
sendPaymentV2(input: SendPaymentRequest, options?: RpcOptions): ServerStreamingCall<SendPaymentRequest, Payment> {
const method = this.methods[0], opt = this._transport.mergeOptions(options);
return stackIntercept<SendPaymentRequest, Payment>("serverStreaming", this._transport, method, opt, input);
}
/**
*
* lncli: `trackpayment`
* TrackPaymentV2 returns an update stream for the payment identified by the
* payment hash.
*
* @generated from protobuf rpc: TrackPaymentV2(routerrpc.TrackPaymentRequest) returns (stream lnrpc.Payment);
* @generated from protobuf rpc: TrackPaymentV2
*/
trackPaymentV2(input: TrackPaymentRequest, options?: RpcOptions): ServerStreamingCall<TrackPaymentRequest, Payment> {
const method = this.methods[1], opt = this._transport.mergeOptions(options);
@ -256,7 +328,7 @@ export class RouterClient implements IRouterClient, ServiceInfo {
* payment attempt make sure to subscribe to this method before initiating any
* payments.
*
* @generated from protobuf rpc: TrackPayments(routerrpc.TrackPaymentsRequest) returns (stream lnrpc.Payment);
* @generated from protobuf rpc: TrackPayments
*/
trackPayments(input: TrackPaymentsRequest, options?: RpcOptions): ServerStreamingCall<TrackPaymentsRequest, Payment> {
const method = this.methods[2], opt = this._transport.mergeOptions(options);
@ -267,7 +339,7 @@ export class RouterClient implements IRouterClient, ServiceInfo {
* EstimateRouteFee allows callers to obtain a lower bound w.r.t how much it
* may cost to send an HTLC to the target end destination.
*
* @generated from protobuf rpc: EstimateRouteFee(routerrpc.RouteFeeRequest) returns (routerrpc.RouteFeeResponse);
* @generated from protobuf rpc: EstimateRouteFee
*/
estimateRouteFee(input: RouteFeeRequest, options?: RpcOptions): UnaryCall<RouteFeeRequest, RouteFeeResponse> {
const method = this.methods[3], opt = this._transport.mergeOptions(options);
@ -282,7 +354,7 @@ export class RouterClient implements IRouterClient, ServiceInfo {
* SendToRouteV2 in that it doesn't return the full HTLC information.
*
* @deprecated
* @generated from protobuf rpc: SendToRoute(routerrpc.SendToRouteRequest) returns (routerrpc.SendToRouteResponse);
* @generated from protobuf rpc: SendToRoute
*/
sendToRoute(input: SendToRouteRequest, options?: RpcOptions): UnaryCall<SendToRouteRequest, SendToRouteResponse> {
const method = this.methods[4], opt = this._transport.mergeOptions(options);
@ -295,86 +367,92 @@ export class RouterClient implements IRouterClient, ServiceInfo {
* route manually. This can be used for things like rebalancing, and atomic
* swaps.
*
* @generated from protobuf rpc: SendToRouteV2(routerrpc.SendToRouteRequest) returns (lnrpc.HTLCAttempt);
* @generated from protobuf rpc: SendToRouteV2
*/
sendToRouteV2(input: SendToRouteRequest, options?: RpcOptions): UnaryCall<SendToRouteRequest, HTLCAttempt> {
const method = this.methods[5], opt = this._transport.mergeOptions(options);
return stackIntercept<SendToRouteRequest, HTLCAttempt>("unary", this._transport, method, opt, input);
}
/**
*
* lncli: `resetmc`
* ResetMissionControl clears all mission control state and starts with a clean
* slate.
*
* @generated from protobuf rpc: ResetMissionControl(routerrpc.ResetMissionControlRequest) returns (routerrpc.ResetMissionControlResponse);
* @generated from protobuf rpc: ResetMissionControl
*/
resetMissionControl(input: ResetMissionControlRequest, options?: RpcOptions): UnaryCall<ResetMissionControlRequest, ResetMissionControlResponse> {
const method = this.methods[6], opt = this._transport.mergeOptions(options);
return stackIntercept<ResetMissionControlRequest, ResetMissionControlResponse>("unary", this._transport, method, opt, input);
}
/**
*
* lncli: `querymc`
* QueryMissionControl exposes the internal mission control state to callers.
* It is a development feature.
*
* @generated from protobuf rpc: QueryMissionControl(routerrpc.QueryMissionControlRequest) returns (routerrpc.QueryMissionControlResponse);
* @generated from protobuf rpc: QueryMissionControl
*/
queryMissionControl(input: QueryMissionControlRequest, options?: RpcOptions): UnaryCall<QueryMissionControlRequest, QueryMissionControlResponse> {
const method = this.methods[7], opt = this._transport.mergeOptions(options);
return stackIntercept<QueryMissionControlRequest, QueryMissionControlResponse>("unary", this._transport, method, opt, input);
}
/**
*
* lncli: `importmc`
* XImportMissionControl is an experimental API that imports the state provided
* to the internal mission control's state, using all results which are more
* recent than our existing values. These values will only be imported
* in-memory, and will not be persisted across restarts.
*
* @generated from protobuf rpc: XImportMissionControl(routerrpc.XImportMissionControlRequest) returns (routerrpc.XImportMissionControlResponse);
* @generated from protobuf rpc: XImportMissionControl
*/
xImportMissionControl(input: XImportMissionControlRequest, options?: RpcOptions): UnaryCall<XImportMissionControlRequest, XImportMissionControlResponse> {
const method = this.methods[8], opt = this._transport.mergeOptions(options);
return stackIntercept<XImportMissionControlRequest, XImportMissionControlResponse>("unary", this._transport, method, opt, input);
}
/**
*
* lncli: `getmccfg`
* GetMissionControlConfig returns mission control's current config.
*
* @generated from protobuf rpc: GetMissionControlConfig(routerrpc.GetMissionControlConfigRequest) returns (routerrpc.GetMissionControlConfigResponse);
* @generated from protobuf rpc: GetMissionControlConfig
*/
getMissionControlConfig(input: GetMissionControlConfigRequest, options?: RpcOptions): UnaryCall<GetMissionControlConfigRequest, GetMissionControlConfigResponse> {
const method = this.methods[9], opt = this._transport.mergeOptions(options);
return stackIntercept<GetMissionControlConfigRequest, GetMissionControlConfigResponse>("unary", this._transport, method, opt, input);
}
/**
*
* lncli: `setmccfg`
* SetMissionControlConfig will set mission control's config, if the config
* provided is valid.
*
* @generated from protobuf rpc: SetMissionControlConfig(routerrpc.SetMissionControlConfigRequest) returns (routerrpc.SetMissionControlConfigResponse);
* @generated from protobuf rpc: SetMissionControlConfig
*/
setMissionControlConfig(input: SetMissionControlConfigRequest, options?: RpcOptions): UnaryCall<SetMissionControlConfigRequest, SetMissionControlConfigResponse> {
const method = this.methods[10], opt = this._transport.mergeOptions(options);
return stackIntercept<SetMissionControlConfigRequest, SetMissionControlConfigResponse>("unary", this._transport, method, opt, input);
}
/**
* lncli: `queryprob`
* Deprecated. QueryProbability returns the current success probability
* estimate for a given node pair and amount. The call returns a zero success
* probability if no channel is available or if the amount violates min/max
* HTLC constraints.
*
* QueryProbability returns the current success probability estimate for a
* given node pair and amount.
*
* @generated from protobuf rpc: QueryProbability(routerrpc.QueryProbabilityRequest) returns (routerrpc.QueryProbabilityResponse);
* @generated from protobuf rpc: QueryProbability
*/
queryProbability(input: QueryProbabilityRequest, options?: RpcOptions): UnaryCall<QueryProbabilityRequest, QueryProbabilityResponse> {
const method = this.methods[11], opt = this._transport.mergeOptions(options);
return stackIntercept<QueryProbabilityRequest, QueryProbabilityResponse>("unary", this._transport, method, opt, input);
}
/**
*
* lncli: `buildroute`
* BuildRoute builds a fully specified route based on a list of hop public
* keys. It retrieves the relevant channel policies from the graph in order to
* calculate the correct fees and time locks.
* Note that LND will use its default final_cltv_delta if no value is supplied.
* Make sure to add the correct final_cltv_delta depending on the invoice
* restriction. Moreover the caller has to make sure to provide the
* payment_addr if the route is paying an invoice which signaled it.
*
* @generated from protobuf rpc: BuildRoute(routerrpc.BuildRouteRequest) returns (routerrpc.BuildRouteResponse);
* @generated from protobuf rpc: BuildRoute
*/
buildRoute(input: BuildRouteRequest, options?: RpcOptions): UnaryCall<BuildRouteRequest, BuildRouteResponse> {
const method = this.methods[12], opt = this._transport.mergeOptions(options);
@ -385,7 +463,7 @@ export class RouterClient implements IRouterClient, ServiceInfo {
* SubscribeHtlcEvents creates a uni-directional stream from the server to
* the client which delivers a stream of htlc events.
*
* @generated from protobuf rpc: SubscribeHtlcEvents(routerrpc.SubscribeHtlcEventsRequest) returns (stream routerrpc.HtlcEvent);
* @generated from protobuf rpc: SubscribeHtlcEvents
*/
subscribeHtlcEvents(input: SubscribeHtlcEventsRequest, options?: RpcOptions): ServerStreamingCall<SubscribeHtlcEventsRequest, HtlcEvent> {
const method = this.methods[13], opt = this._transport.mergeOptions(options);
@ -398,7 +476,7 @@ export class RouterClient implements IRouterClient, ServiceInfo {
* returns a stream of payment status updates.
*
* @deprecated
* @generated from protobuf rpc: SendPayment(routerrpc.SendPaymentRequest) returns (stream routerrpc.PaymentStatus);
* @generated from protobuf rpc: SendPayment
*/
sendPayment(input: SendPaymentRequest, options?: RpcOptions): ServerStreamingCall<SendPaymentRequest, PaymentStatus> {
const method = this.methods[14], opt = this._transport.mergeOptions(options);
@ -410,7 +488,7 @@ export class RouterClient implements IRouterClient, ServiceInfo {
* the payment identified by the payment hash.
*
* @deprecated
* @generated from protobuf rpc: TrackPayment(routerrpc.TrackPaymentRequest) returns (stream routerrpc.PaymentStatus);
* @generated from protobuf rpc: TrackPayment
*/
trackPayment(input: TrackPaymentRequest, options?: RpcOptions): ServerStreamingCall<TrackPaymentRequest, PaymentStatus> {
const method = this.methods[15], opt = this._transport.mergeOptions(options);
@ -424,23 +502,51 @@ export class RouterClient implements IRouterClient, ServiceInfo {
* In case of interception, the htlc can be either settled, cancelled or
* resumed later by using the ResolveHoldForward endpoint.
*
* @generated from protobuf rpc: HtlcInterceptor(stream routerrpc.ForwardHtlcInterceptResponse) returns (stream routerrpc.ForwardHtlcInterceptRequest);
* @generated from protobuf rpc: HtlcInterceptor
*/
htlcInterceptor(options?: RpcOptions): DuplexStreamingCall<ForwardHtlcInterceptResponse, ForwardHtlcInterceptRequest> {
const method = this.methods[16], opt = this._transport.mergeOptions(options);
return stackIntercept<ForwardHtlcInterceptResponse, ForwardHtlcInterceptRequest>("duplex", this._transport, method, opt);
}
/**
*
* lncli: `updatechanstatus`
* UpdateChanStatus attempts to manually set the state of a channel
* (enabled, disabled, or auto). A manual "disable" request will cause the
* channel to stay disabled until a subsequent manual request of either
* "enable" or "auto".
*
* @generated from protobuf rpc: UpdateChanStatus(routerrpc.UpdateChanStatusRequest) returns (routerrpc.UpdateChanStatusResponse);
* @generated from protobuf rpc: UpdateChanStatus
*/
updateChanStatus(input: UpdateChanStatusRequest, options?: RpcOptions): UnaryCall<UpdateChanStatusRequest, UpdateChanStatusResponse> {
const method = this.methods[17], opt = this._transport.mergeOptions(options);
return stackIntercept<UpdateChanStatusRequest, UpdateChanStatusResponse>("unary", this._transport, method, opt, input);
}
/**
*
* XAddLocalChanAliases is an experimental API that creates a set of new
* channel SCID alias mappings. The final total set of aliases in the manager
* after the add operation is returned. This is only a locally stored alias,
* and will not be communicated to the channel peer via any message. Therefore,
* routing over such an alias will only work if the peer also calls this same
* RPC on their end. If an alias already exists, an error is returned
*
* @generated from protobuf rpc: XAddLocalChanAliases
*/
xAddLocalChanAliases(input: AddAliasesRequest, options?: RpcOptions): UnaryCall<AddAliasesRequest, AddAliasesResponse> {
const method = this.methods[18], opt = this._transport.mergeOptions(options);
return stackIntercept<AddAliasesRequest, AddAliasesResponse>("unary", this._transport, method, opt, input);
}
/**
*
* XDeleteLocalChanAliases is an experimental API that deletes a set of alias
* mappings. The final total set of aliases in the manager after the delete
* operation is returned. The deletion will not be communicated to the channel
* peer via any message.
*
* @generated from protobuf rpc: XDeleteLocalChanAliases
*/
xDeleteLocalChanAliases(input: DeleteAliasesRequest, options?: RpcOptions): UnaryCall<DeleteAliasesRequest, DeleteAliasesResponse> {
const method = this.methods[19], opt = this._transport.mergeOptions(options);
return stackIntercept<DeleteAliasesRequest, DeleteAliasesResponse>("unary", this._transport, method, opt, input);
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
// @generated by protobuf-ts 2.8.1
// @generated by protobuf-ts 2.11.1
// @generated from protobuf file "signer.proto" (package "signrpc", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
@ -46,7 +46,7 @@ export interface ISignerClient {
* If we are unable to sign using the specified keys, then an error will be
* returned.
*
* @generated from protobuf rpc: SignOutputRaw(signrpc.SignReq) returns (signrpc.SignResp);
* @generated from protobuf rpc: SignOutputRaw
*/
signOutputRaw(input: SignReq, options?: RpcOptions): UnaryCall<SignReq, SignResp>;
/**
@ -62,7 +62,7 @@ export interface ISignerClient {
* in the TxOut field, the value in that same field, and finally the input
* index.
*
* @generated from protobuf rpc: ComputeInputScript(signrpc.SignReq) returns (signrpc.InputScriptResp);
* @generated from protobuf rpc: ComputeInputScript
*/
computeInputScript(input: SignReq, options?: RpcOptions): UnaryCall<SignReq, InputScriptResp>;
/**
@ -73,7 +73,7 @@ export interface ISignerClient {
* The main difference to SignMessage in the main RPC is that a specific key is
* used to sign the message instead of the node identity private key.
*
* @generated from protobuf rpc: SignMessage(signrpc.SignMessageReq) returns (signrpc.SignMessageResp);
* @generated from protobuf rpc: SignMessage
*/
signMessage(input: SignMessageReq, options?: RpcOptions): UnaryCall<SignMessageReq, SignMessageResp>;
/**
@ -84,7 +84,7 @@ export interface ISignerClient {
* The main difference to VerifyMessage in the main RPC is that the public key
* used to sign the message does not have to be a node known to the network.
*
* @generated from protobuf rpc: VerifyMessage(signrpc.VerifyMessageReq) returns (signrpc.VerifyMessageResp);
* @generated from protobuf rpc: VerifyMessage
*/
verifyMessage(input: VerifyMessageReq, options?: RpcOptions): UnaryCall<VerifyMessageReq, VerifyMessageResp>;
/**
@ -98,7 +98,7 @@ export interface ISignerClient {
* The resulting shared public key is serialized in the compressed format and
* hashed with sha256, resulting in the final key length of 256bit.
*
* @generated from protobuf rpc: DeriveSharedKey(signrpc.SharedKeyRequest) returns (signrpc.SharedKeyResponse);
* @generated from protobuf rpc: DeriveSharedKey
*/
deriveSharedKey(input: SharedKeyRequest, options?: RpcOptions): UnaryCall<SharedKeyRequest, SharedKeyResponse>;
/**
@ -115,7 +115,7 @@ export interface ISignerClient {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2CombineKeys(signrpc.MuSig2CombineKeysRequest) returns (signrpc.MuSig2CombineKeysResponse);
* @generated from protobuf rpc: MuSig2CombineKeys
*/
muSig2CombineKeys(input: MuSig2CombineKeysRequest, options?: RpcOptions): UnaryCall<MuSig2CombineKeysRequest, MuSig2CombineKeysResponse>;
/**
@ -131,7 +131,7 @@ export interface ISignerClient {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2CreateSession(signrpc.MuSig2SessionRequest) returns (signrpc.MuSig2SessionResponse);
* @generated from protobuf rpc: MuSig2CreateSession
*/
muSig2CreateSession(input: MuSig2SessionRequest, options?: RpcOptions): UnaryCall<MuSig2SessionRequest, MuSig2SessionResponse>;
/**
@ -144,7 +144,7 @@ export interface ISignerClient {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2RegisterNonces(signrpc.MuSig2RegisterNoncesRequest) returns (signrpc.MuSig2RegisterNoncesResponse);
* @generated from protobuf rpc: MuSig2RegisterNonces
*/
muSig2RegisterNonces(input: MuSig2RegisterNoncesRequest, options?: RpcOptions): UnaryCall<MuSig2RegisterNoncesRequest, MuSig2RegisterNoncesResponse>;
/**
@ -160,7 +160,7 @@ export interface ISignerClient {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2Sign(signrpc.MuSig2SignRequest) returns (signrpc.MuSig2SignResponse);
* @generated from protobuf rpc: MuSig2Sign
*/
muSig2Sign(input: MuSig2SignRequest, options?: RpcOptions): UnaryCall<MuSig2SignRequest, MuSig2SignResponse>;
/**
@ -174,7 +174,7 @@ export interface ISignerClient {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2CombineSig(signrpc.MuSig2CombineSigRequest) returns (signrpc.MuSig2CombineSigResponse);
* @generated from protobuf rpc: MuSig2CombineSig
*/
muSig2CombineSig(input: MuSig2CombineSigRequest, options?: RpcOptions): UnaryCall<MuSig2CombineSigRequest, MuSig2CombineSigResponse>;
/**
@ -187,7 +187,7 @@ export interface ISignerClient {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2Cleanup(signrpc.MuSig2CleanupRequest) returns (signrpc.MuSig2CleanupResponse);
* @generated from protobuf rpc: MuSig2Cleanup
*/
muSig2Cleanup(input: MuSig2CleanupRequest, options?: RpcOptions): UnaryCall<MuSig2CleanupRequest, MuSig2CleanupResponse>;
}
@ -214,7 +214,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* If we are unable to sign using the specified keys, then an error will be
* returned.
*
* @generated from protobuf rpc: SignOutputRaw(signrpc.SignReq) returns (signrpc.SignResp);
* @generated from protobuf rpc: SignOutputRaw
*/
signOutputRaw(input: SignReq, options?: RpcOptions): UnaryCall<SignReq, SignResp> {
const method = this.methods[0], opt = this._transport.mergeOptions(options);
@ -233,7 +233,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* in the TxOut field, the value in that same field, and finally the input
* index.
*
* @generated from protobuf rpc: ComputeInputScript(signrpc.SignReq) returns (signrpc.InputScriptResp);
* @generated from protobuf rpc: ComputeInputScript
*/
computeInputScript(input: SignReq, options?: RpcOptions): UnaryCall<SignReq, InputScriptResp> {
const method = this.methods[1], opt = this._transport.mergeOptions(options);
@ -247,7 +247,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* The main difference to SignMessage in the main RPC is that a specific key is
* used to sign the message instead of the node identity private key.
*
* @generated from protobuf rpc: SignMessage(signrpc.SignMessageReq) returns (signrpc.SignMessageResp);
* @generated from protobuf rpc: SignMessage
*/
signMessage(input: SignMessageReq, options?: RpcOptions): UnaryCall<SignMessageReq, SignMessageResp> {
const method = this.methods[2], opt = this._transport.mergeOptions(options);
@ -261,7 +261,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* The main difference to VerifyMessage in the main RPC is that the public key
* used to sign the message does not have to be a node known to the network.
*
* @generated from protobuf rpc: VerifyMessage(signrpc.VerifyMessageReq) returns (signrpc.VerifyMessageResp);
* @generated from protobuf rpc: VerifyMessage
*/
verifyMessage(input: VerifyMessageReq, options?: RpcOptions): UnaryCall<VerifyMessageReq, VerifyMessageResp> {
const method = this.methods[3], opt = this._transport.mergeOptions(options);
@ -278,7 +278,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* The resulting shared public key is serialized in the compressed format and
* hashed with sha256, resulting in the final key length of 256bit.
*
* @generated from protobuf rpc: DeriveSharedKey(signrpc.SharedKeyRequest) returns (signrpc.SharedKeyResponse);
* @generated from protobuf rpc: DeriveSharedKey
*/
deriveSharedKey(input: SharedKeyRequest, options?: RpcOptions): UnaryCall<SharedKeyRequest, SharedKeyResponse> {
const method = this.methods[4], opt = this._transport.mergeOptions(options);
@ -298,7 +298,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2CombineKeys(signrpc.MuSig2CombineKeysRequest) returns (signrpc.MuSig2CombineKeysResponse);
* @generated from protobuf rpc: MuSig2CombineKeys
*/
muSig2CombineKeys(input: MuSig2CombineKeysRequest, options?: RpcOptions): UnaryCall<MuSig2CombineKeysRequest, MuSig2CombineKeysResponse> {
const method = this.methods[5], opt = this._transport.mergeOptions(options);
@ -317,7 +317,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2CreateSession(signrpc.MuSig2SessionRequest) returns (signrpc.MuSig2SessionResponse);
* @generated from protobuf rpc: MuSig2CreateSession
*/
muSig2CreateSession(input: MuSig2SessionRequest, options?: RpcOptions): UnaryCall<MuSig2SessionRequest, MuSig2SessionResponse> {
const method = this.methods[6], opt = this._transport.mergeOptions(options);
@ -333,7 +333,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2RegisterNonces(signrpc.MuSig2RegisterNoncesRequest) returns (signrpc.MuSig2RegisterNoncesResponse);
* @generated from protobuf rpc: MuSig2RegisterNonces
*/
muSig2RegisterNonces(input: MuSig2RegisterNoncesRequest, options?: RpcOptions): UnaryCall<MuSig2RegisterNoncesRequest, MuSig2RegisterNoncesResponse> {
const method = this.methods[7], opt = this._transport.mergeOptions(options);
@ -352,7 +352,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2Sign(signrpc.MuSig2SignRequest) returns (signrpc.MuSig2SignResponse);
* @generated from protobuf rpc: MuSig2Sign
*/
muSig2Sign(input: MuSig2SignRequest, options?: RpcOptions): UnaryCall<MuSig2SignRequest, MuSig2SignResponse> {
const method = this.methods[8], opt = this._transport.mergeOptions(options);
@ -369,7 +369,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2CombineSig(signrpc.MuSig2CombineSigRequest) returns (signrpc.MuSig2CombineSigResponse);
* @generated from protobuf rpc: MuSig2CombineSig
*/
muSig2CombineSig(input: MuSig2CombineSigRequest, options?: RpcOptions): UnaryCall<MuSig2CombineSigRequest, MuSig2CombineSigResponse> {
const method = this.methods[9], opt = this._transport.mergeOptions(options);
@ -385,7 +385,7 @@ export class SignerClient implements ISignerClient, ServiceInfo {
* considered to be HIGHLY EXPERIMENTAL and subject to change in upcoming
* releases. Backward compatibility is not guaranteed!
*
* @generated from protobuf rpc: MuSig2Cleanup(signrpc.MuSig2CleanupRequest) returns (signrpc.MuSig2CleanupResponse);
* @generated from protobuf rpc: MuSig2Cleanup
*/
muSig2Cleanup(input: MuSig2CleanupRequest, options?: RpcOptions): UnaryCall<MuSig2CleanupRequest, MuSig2CleanupResponse> {
const method = this.methods[10], opt = this._transport.mergeOptions(options);

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
// @generated by protobuf-ts 2.8.1
// @generated by protobuf-ts 2.11.1
// @generated from protobuf file "walletkit.proto" (package "walletrpc", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
@ -43,7 +43,7 @@ import type { RequiredReserveResponse } from "./walletkit.js";
import type { RequiredReserveRequest } from "./walletkit.js";
import type { ListAccountsResponse } from "./walletkit.js";
import type { ListAccountsRequest } from "./walletkit.js";
import type { Transaction } from "./lightning";
import type { Transaction } from "./lightning.js";
import type { GetTransactionRequest } from "./walletkit.js";
import type { AddrResponse } from "./walletkit.js";
import type { AddrRequest } from "./walletkit.js";
@ -92,7 +92,7 @@ export interface IWalletKitClient {
* default, all utxos are listed. To list only the unconfirmed utxos, set
* the unconfirmed_only to true.
*
* @generated from protobuf rpc: ListUnspent(walletrpc.ListUnspentRequest) returns (walletrpc.ListUnspentResponse);
* @generated from protobuf rpc: ListUnspent
*/
listUnspent(input: ListUnspentRequest, options?: RpcOptions): UnaryCall<ListUnspentRequest, ListUnspentResponse>;
/**
@ -103,7 +103,7 @@ export interface IWalletKitClient {
* successive invocations of this RPC. Outputs can be unlocked before their
* expiration through `ReleaseOutput`.
*
* @generated from protobuf rpc: LeaseOutput(walletrpc.LeaseOutputRequest) returns (walletrpc.LeaseOutputResponse);
* @generated from protobuf rpc: LeaseOutput
*/
leaseOutput(input: LeaseOutputRequest, options?: RpcOptions): UnaryCall<LeaseOutputRequest, LeaseOutputResponse>;
/**
@ -112,14 +112,14 @@ export interface IWalletKitClient {
* selection if it remains unspent. The ID should match the one used to
* originally lock the output.
*
* @generated from protobuf rpc: ReleaseOutput(walletrpc.ReleaseOutputRequest) returns (walletrpc.ReleaseOutputResponse);
* @generated from protobuf rpc: ReleaseOutput
*/
releaseOutput(input: ReleaseOutputRequest, options?: RpcOptions): UnaryCall<ReleaseOutputRequest, ReleaseOutputResponse>;
/**
* lncli: `wallet listleases`
* ListLeases lists all currently locked utxos.
*
* @generated from protobuf rpc: ListLeases(walletrpc.ListLeasesRequest) returns (walletrpc.ListLeasesResponse);
* @generated from protobuf rpc: ListLeases
*/
listLeases(input: ListLeasesRequest, options?: RpcOptions): UnaryCall<ListLeasesRequest, ListLeasesResponse>;
/**
@ -128,7 +128,7 @@ export interface IWalletKitClient {
* (account in BIP43) specified. This method should return the next external
* child within this branch.
*
* @generated from protobuf rpc: DeriveNextKey(walletrpc.KeyReq) returns (signrpc.KeyDescriptor);
* @generated from protobuf rpc: DeriveNextKey
*/
deriveNextKey(input: KeyReq, options?: RpcOptions): UnaryCall<KeyReq, KeyDescriptor>;
/**
@ -136,21 +136,21 @@ export interface IWalletKitClient {
* DeriveKey attempts to derive an arbitrary key specified by the passed
* KeyLocator.
*
* @generated from protobuf rpc: DeriveKey(signrpc.KeyLocator) returns (signrpc.KeyDescriptor);
* @generated from protobuf rpc: DeriveKey
*/
deriveKey(input: KeyLocator, options?: RpcOptions): UnaryCall<KeyLocator, KeyDescriptor>;
/**
*
* NextAddr returns the next unused address within the wallet.
*
* @generated from protobuf rpc: NextAddr(walletrpc.AddrRequest) returns (walletrpc.AddrResponse);
* @generated from protobuf rpc: NextAddr
*/
nextAddr(input: AddrRequest, options?: RpcOptions): UnaryCall<AddrRequest, AddrResponse>;
/**
* lncli: `wallet gettx`
* GetTransaction returns details for a transaction found in the wallet.
*
* @generated from protobuf rpc: GetTransaction(walletrpc.GetTransactionRequest) returns (lnrpc.Transaction);
* @generated from protobuf rpc: GetTransaction
*/
getTransaction(input: GetTransactionRequest, options?: RpcOptions): UnaryCall<GetTransactionRequest, Transaction>;
/**
@ -159,7 +159,7 @@ export interface IWalletKitClient {
* name and key scope filter can be provided to filter through all of the
* wallet accounts and return only those matching.
*
* @generated from protobuf rpc: ListAccounts(walletrpc.ListAccountsRequest) returns (walletrpc.ListAccountsResponse);
* @generated from protobuf rpc: ListAccounts
*/
listAccounts(input: ListAccountsRequest, options?: RpcOptions): UnaryCall<ListAccountsRequest, ListAccountsResponse>;
/**
@ -168,7 +168,7 @@ export interface IWalletKitClient {
* in the wallet in order to fee bump anchor channels if necessary. The value
* scales with the number of public anchor channels but is capped at a maximum.
*
* @generated from protobuf rpc: RequiredReserve(walletrpc.RequiredReserveRequest) returns (walletrpc.RequiredReserveResponse);
* @generated from protobuf rpc: RequiredReserve
*/
requiredReserve(input: RequiredReserveRequest, options?: RpcOptions): UnaryCall<RequiredReserveRequest, RequiredReserveResponse>;
/**
@ -177,7 +177,7 @@ export interface IWalletKitClient {
* account name filter can be provided to filter through all of the
* wallet accounts and return the addresses of only those matching.
*
* @generated from protobuf rpc: ListAddresses(walletrpc.ListAddressesRequest) returns (walletrpc.ListAddressesResponse);
* @generated from protobuf rpc: ListAddresses
*/
listAddresses(input: ListAddressesRequest, options?: RpcOptions): UnaryCall<ListAddressesRequest, ListAddressesResponse>;
/**
@ -195,7 +195,7 @@ export interface IWalletKitClient {
* For P2TR addresses this represents a special case. ECDSA is used to create
* a compact signature which makes the public key of the signature recoverable.
*
* @generated from protobuf rpc: SignMessageWithAddr(walletrpc.SignMessageWithAddrRequest) returns (walletrpc.SignMessageWithAddrResponse);
* @generated from protobuf rpc: SignMessageWithAddr
*/
signMessageWithAddr(input: SignMessageWithAddrRequest, options?: RpcOptions): UnaryCall<SignMessageWithAddrRequest, SignMessageWithAddrResponse>;
/**
@ -220,7 +220,7 @@ export interface IWalletKitClient {
* taproot key. The compact ECDSA signature format was used because there
* are still no known compact signature schemes for schnorr signatures.
*
* @generated from protobuf rpc: VerifyMessageWithAddr(walletrpc.VerifyMessageWithAddrRequest) returns (walletrpc.VerifyMessageWithAddrResponse);
* @generated from protobuf rpc: VerifyMessageWithAddr
*/
verifyMessageWithAddr(input: VerifyMessageWithAddrRequest, options?: RpcOptions): UnaryCall<VerifyMessageWithAddrRequest, VerifyMessageWithAddrResponse>;
/**
@ -249,7 +249,7 @@ export interface IWalletKitClient {
* detected by lnd if they happen after the import. Rescans to detect past
* events will be supported later on.
*
* @generated from protobuf rpc: ImportAccount(walletrpc.ImportAccountRequest) returns (walletrpc.ImportAccountResponse);
* @generated from protobuf rpc: ImportAccount
*/
importAccount(input: ImportAccountRequest, options?: RpcOptions): UnaryCall<ImportAccountRequest, ImportAccountResponse>;
/**
@ -264,7 +264,7 @@ export interface IWalletKitClient {
* they happen after the import. Rescans to detect past events will be
* supported later on.
*
* @generated from protobuf rpc: ImportPublicKey(walletrpc.ImportPublicKeyRequest) returns (walletrpc.ImportPublicKeyResponse);
* @generated from protobuf rpc: ImportPublicKey
*/
importPublicKey(input: ImportPublicKeyRequest, options?: RpcOptions): UnaryCall<ImportPublicKeyRequest, ImportPublicKeyResponse>;
/**
@ -281,7 +281,7 @@ export interface IWalletKitClient {
* NOTE: Taproot keys imported through this RPC currently _cannot_ be used for
* funding PSBTs. Only tracking the balance and UTXOs is currently supported.
*
* @generated from protobuf rpc: ImportTapscript(walletrpc.ImportTapscriptRequest) returns (walletrpc.ImportTapscriptResponse);
* @generated from protobuf rpc: ImportTapscript
*/
importTapscript(input: ImportTapscriptRequest, options?: RpcOptions): UnaryCall<ImportTapscriptRequest, ImportTapscriptResponse>;
/**
@ -291,7 +291,7 @@ export interface IWalletKitClient {
* attempt to re-broadcast the transaction on start up, until it enters the
* chain.
*
* @generated from protobuf rpc: PublishTransaction(walletrpc.Transaction) returns (walletrpc.PublishResponse);
* @generated from protobuf rpc: PublishTransaction
*/
publishTransaction(input: Transaction$, options?: RpcOptions): UnaryCall<Transaction$, PublishResponse>;
/**
@ -299,7 +299,7 @@ export interface IWalletKitClient {
* RemoveTransaction attempts to remove the provided transaction from the
* internal transaction store of the wallet.
*
* @generated from protobuf rpc: RemoveTransaction(walletrpc.GetTransactionRequest) returns (walletrpc.RemoveTransactionResponse);
* @generated from protobuf rpc: RemoveTransaction
*/
removeTransaction(input: GetTransactionRequest, options?: RpcOptions): UnaryCall<GetTransactionRequest, RemoveTransactionResponse>;
/**
@ -308,7 +308,7 @@ export interface IWalletKitClient {
* allows the caller to create a transaction that sends to several outputs at
* once. This is ideal when wanting to batch create a set of transactions.
*
* @generated from protobuf rpc: SendOutputs(walletrpc.SendOutputsRequest) returns (walletrpc.SendOutputsResponse);
* @generated from protobuf rpc: SendOutputs
*/
sendOutputs(input: SendOutputsRequest, options?: RpcOptions): UnaryCall<SendOutputsRequest, SendOutputsResponse>;
/**
@ -317,7 +317,7 @@ export interface IWalletKitClient {
* determine the fee (in sat/kw) to attach to a transaction in order to
* achieve the confirmation target.
*
* @generated from protobuf rpc: EstimateFee(walletrpc.EstimateFeeRequest) returns (walletrpc.EstimateFeeResponse);
* @generated from protobuf rpc: EstimateFee
*/
estimateFee(input: EstimateFeeRequest, options?: RpcOptions): UnaryCall<EstimateFeeRequest, EstimateFeeResponse>;
/**
@ -331,7 +331,7 @@ export interface IWalletKitClient {
* remain supported. This is an advanced API that depends on the internals of
* the UtxoSweeper, so things may change.
*
* @generated from protobuf rpc: PendingSweeps(walletrpc.PendingSweepsRequest) returns (walletrpc.PendingSweepsResponse);
* @generated from protobuf rpc: PendingSweeps
*/
pendingSweeps(input: PendingSweepsRequest, options?: RpcOptions): UnaryCall<PendingSweepsRequest, PendingSweepsResponse>;
/**
@ -365,7 +365,7 @@ export interface IWalletKitClient {
* done by specifying an outpoint within the low fee transaction that is under
* the control of the wallet.
*
* @generated from protobuf rpc: BumpFee(walletrpc.BumpFeeRequest) returns (walletrpc.BumpFeeResponse);
* @generated from protobuf rpc: BumpFee
*/
bumpFee(input: BumpFeeRequest, options?: RpcOptions): UnaryCall<BumpFeeRequest, BumpFeeResponse>;
/**
@ -373,7 +373,7 @@ export interface IWalletKitClient {
* BumpForceCloseFee is an endpoint that allows users to bump the fee of a
* channel force close. This only works for channels with option_anchors.
*
* @generated from protobuf rpc: BumpForceCloseFee(walletrpc.BumpForceCloseFeeRequest) returns (walletrpc.BumpForceCloseFeeResponse);
* @generated from protobuf rpc: BumpForceCloseFee
*/
bumpForceCloseFee(input: BumpForceCloseFeeRequest, options?: RpcOptions): UnaryCall<BumpForceCloseFeeRequest, BumpForceCloseFeeResponse>;
/**
@ -382,7 +382,7 @@ export interface IWalletKitClient {
* Note that these sweeps may not be confirmed yet, as we record sweeps on
* broadcast, not confirmation.
*
* @generated from protobuf rpc: ListSweeps(walletrpc.ListSweepsRequest) returns (walletrpc.ListSweepsResponse);
* @generated from protobuf rpc: ListSweeps
*/
listSweeps(input: ListSweepsRequest, options?: RpcOptions): UnaryCall<ListSweepsRequest, ListSweepsResponse>;
/**
@ -392,7 +392,7 @@ export interface IWalletKitClient {
* overwrite the existing transaction label. Labels must not be empty, and
* cannot exceed 500 characters.
*
* @generated from protobuf rpc: LabelTransaction(walletrpc.LabelTransactionRequest) returns (walletrpc.LabelTransactionResponse);
* @generated from protobuf rpc: LabelTransaction
*/
labelTransaction(input: LabelTransactionRequest, options?: RpcOptions): UnaryCall<LabelTransactionRequest, LabelTransactionResponse>;
/**
@ -426,7 +426,7 @@ export interface IWalletKitClient {
* publishing the transaction) or to unlock/release the locked UTXOs in case of
* an error on the caller's side.
*
* @generated from protobuf rpc: FundPsbt(walletrpc.FundPsbtRequest) returns (walletrpc.FundPsbtResponse);
* @generated from protobuf rpc: FundPsbt
*/
fundPsbt(input: FundPsbtRequest, options?: RpcOptions): UnaryCall<FundPsbtRequest, FundPsbtResponse>;
/**
@ -443,7 +443,7 @@ export interface IWalletKitClient {
* input/output/fee value validation, PSBT finalization). Any input that is
* incomplete will be skipped.
*
* @generated from protobuf rpc: SignPsbt(walletrpc.SignPsbtRequest) returns (walletrpc.SignPsbtResponse);
* @generated from protobuf rpc: SignPsbt
*/
signPsbt(input: SignPsbtRequest, options?: RpcOptions): UnaryCall<SignPsbtRequest, SignPsbtResponse>;
/**
@ -460,7 +460,7 @@ export interface IWalletKitClient {
* caller's responsibility to either publish the transaction on success or
* unlock/release any locked UTXOs in case of an error in this method.
*
* @generated from protobuf rpc: FinalizePsbt(walletrpc.FinalizePsbtRequest) returns (walletrpc.FinalizePsbtResponse);
* @generated from protobuf rpc: FinalizePsbt
*/
finalizePsbt(input: FinalizePsbtRequest, options?: RpcOptions): UnaryCall<FinalizePsbtRequest, FinalizePsbtResponse>;
}
@ -500,7 +500,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* default, all utxos are listed. To list only the unconfirmed utxos, set
* the unconfirmed_only to true.
*
* @generated from protobuf rpc: ListUnspent(walletrpc.ListUnspentRequest) returns (walletrpc.ListUnspentResponse);
* @generated from protobuf rpc: ListUnspent
*/
listUnspent(input: ListUnspentRequest, options?: RpcOptions): UnaryCall<ListUnspentRequest, ListUnspentResponse> {
const method = this.methods[0], opt = this._transport.mergeOptions(options);
@ -514,7 +514,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* successive invocations of this RPC. Outputs can be unlocked before their
* expiration through `ReleaseOutput`.
*
* @generated from protobuf rpc: LeaseOutput(walletrpc.LeaseOutputRequest) returns (walletrpc.LeaseOutputResponse);
* @generated from protobuf rpc: LeaseOutput
*/
leaseOutput(input: LeaseOutputRequest, options?: RpcOptions): UnaryCall<LeaseOutputRequest, LeaseOutputResponse> {
const method = this.methods[1], opt = this._transport.mergeOptions(options);
@ -526,7 +526,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* selection if it remains unspent. The ID should match the one used to
* originally lock the output.
*
* @generated from protobuf rpc: ReleaseOutput(walletrpc.ReleaseOutputRequest) returns (walletrpc.ReleaseOutputResponse);
* @generated from protobuf rpc: ReleaseOutput
*/
releaseOutput(input: ReleaseOutputRequest, options?: RpcOptions): UnaryCall<ReleaseOutputRequest, ReleaseOutputResponse> {
const method = this.methods[2], opt = this._transport.mergeOptions(options);
@ -536,7 +536,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* lncli: `wallet listleases`
* ListLeases lists all currently locked utxos.
*
* @generated from protobuf rpc: ListLeases(walletrpc.ListLeasesRequest) returns (walletrpc.ListLeasesResponse);
* @generated from protobuf rpc: ListLeases
*/
listLeases(input: ListLeasesRequest, options?: RpcOptions): UnaryCall<ListLeasesRequest, ListLeasesResponse> {
const method = this.methods[3], opt = this._transport.mergeOptions(options);
@ -548,7 +548,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* (account in BIP43) specified. This method should return the next external
* child within this branch.
*
* @generated from protobuf rpc: DeriveNextKey(walletrpc.KeyReq) returns (signrpc.KeyDescriptor);
* @generated from protobuf rpc: DeriveNextKey
*/
deriveNextKey(input: KeyReq, options?: RpcOptions): UnaryCall<KeyReq, KeyDescriptor> {
const method = this.methods[4], opt = this._transport.mergeOptions(options);
@ -559,7 +559,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* DeriveKey attempts to derive an arbitrary key specified by the passed
* KeyLocator.
*
* @generated from protobuf rpc: DeriveKey(signrpc.KeyLocator) returns (signrpc.KeyDescriptor);
* @generated from protobuf rpc: DeriveKey
*/
deriveKey(input: KeyLocator, options?: RpcOptions): UnaryCall<KeyLocator, KeyDescriptor> {
const method = this.methods[5], opt = this._transport.mergeOptions(options);
@ -569,7 +569,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
*
* NextAddr returns the next unused address within the wallet.
*
* @generated from protobuf rpc: NextAddr(walletrpc.AddrRequest) returns (walletrpc.AddrResponse);
* @generated from protobuf rpc: NextAddr
*/
nextAddr(input: AddrRequest, options?: RpcOptions): UnaryCall<AddrRequest, AddrResponse> {
const method = this.methods[6], opt = this._transport.mergeOptions(options);
@ -579,7 +579,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* lncli: `wallet gettx`
* GetTransaction returns details for a transaction found in the wallet.
*
* @generated from protobuf rpc: GetTransaction(walletrpc.GetTransactionRequest) returns (lnrpc.Transaction);
* @generated from protobuf rpc: GetTransaction
*/
getTransaction(input: GetTransactionRequest, options?: RpcOptions): UnaryCall<GetTransactionRequest, Transaction> {
const method = this.methods[7], opt = this._transport.mergeOptions(options);
@ -591,7 +591,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* name and key scope filter can be provided to filter through all of the
* wallet accounts and return only those matching.
*
* @generated from protobuf rpc: ListAccounts(walletrpc.ListAccountsRequest) returns (walletrpc.ListAccountsResponse);
* @generated from protobuf rpc: ListAccounts
*/
listAccounts(input: ListAccountsRequest, options?: RpcOptions): UnaryCall<ListAccountsRequest, ListAccountsResponse> {
const method = this.methods[8], opt = this._transport.mergeOptions(options);
@ -603,7 +603,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* in the wallet in order to fee bump anchor channels if necessary. The value
* scales with the number of public anchor channels but is capped at a maximum.
*
* @generated from protobuf rpc: RequiredReserve(walletrpc.RequiredReserveRequest) returns (walletrpc.RequiredReserveResponse);
* @generated from protobuf rpc: RequiredReserve
*/
requiredReserve(input: RequiredReserveRequest, options?: RpcOptions): UnaryCall<RequiredReserveRequest, RequiredReserveResponse> {
const method = this.methods[9], opt = this._transport.mergeOptions(options);
@ -615,7 +615,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* account name filter can be provided to filter through all of the
* wallet accounts and return the addresses of only those matching.
*
* @generated from protobuf rpc: ListAddresses(walletrpc.ListAddressesRequest) returns (walletrpc.ListAddressesResponse);
* @generated from protobuf rpc: ListAddresses
*/
listAddresses(input: ListAddressesRequest, options?: RpcOptions): UnaryCall<ListAddressesRequest, ListAddressesResponse> {
const method = this.methods[10], opt = this._transport.mergeOptions(options);
@ -636,7 +636,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* For P2TR addresses this represents a special case. ECDSA is used to create
* a compact signature which makes the public key of the signature recoverable.
*
* @generated from protobuf rpc: SignMessageWithAddr(walletrpc.SignMessageWithAddrRequest) returns (walletrpc.SignMessageWithAddrResponse);
* @generated from protobuf rpc: SignMessageWithAddr
*/
signMessageWithAddr(input: SignMessageWithAddrRequest, options?: RpcOptions): UnaryCall<SignMessageWithAddrRequest, SignMessageWithAddrResponse> {
const method = this.methods[11], opt = this._transport.mergeOptions(options);
@ -664,7 +664,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* taproot key. The compact ECDSA signature format was used because there
* are still no known compact signature schemes for schnorr signatures.
*
* @generated from protobuf rpc: VerifyMessageWithAddr(walletrpc.VerifyMessageWithAddrRequest) returns (walletrpc.VerifyMessageWithAddrResponse);
* @generated from protobuf rpc: VerifyMessageWithAddr
*/
verifyMessageWithAddr(input: VerifyMessageWithAddrRequest, options?: RpcOptions): UnaryCall<VerifyMessageWithAddrRequest, VerifyMessageWithAddrResponse> {
const method = this.methods[12], opt = this._transport.mergeOptions(options);
@ -696,7 +696,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* detected by lnd if they happen after the import. Rescans to detect past
* events will be supported later on.
*
* @generated from protobuf rpc: ImportAccount(walletrpc.ImportAccountRequest) returns (walletrpc.ImportAccountResponse);
* @generated from protobuf rpc: ImportAccount
*/
importAccount(input: ImportAccountRequest, options?: RpcOptions): UnaryCall<ImportAccountRequest, ImportAccountResponse> {
const method = this.methods[13], opt = this._transport.mergeOptions(options);
@ -714,7 +714,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* they happen after the import. Rescans to detect past events will be
* supported later on.
*
* @generated from protobuf rpc: ImportPublicKey(walletrpc.ImportPublicKeyRequest) returns (walletrpc.ImportPublicKeyResponse);
* @generated from protobuf rpc: ImportPublicKey
*/
importPublicKey(input: ImportPublicKeyRequest, options?: RpcOptions): UnaryCall<ImportPublicKeyRequest, ImportPublicKeyResponse> {
const method = this.methods[14], opt = this._transport.mergeOptions(options);
@ -734,7 +734,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* NOTE: Taproot keys imported through this RPC currently _cannot_ be used for
* funding PSBTs. Only tracking the balance and UTXOs is currently supported.
*
* @generated from protobuf rpc: ImportTapscript(walletrpc.ImportTapscriptRequest) returns (walletrpc.ImportTapscriptResponse);
* @generated from protobuf rpc: ImportTapscript
*/
importTapscript(input: ImportTapscriptRequest, options?: RpcOptions): UnaryCall<ImportTapscriptRequest, ImportTapscriptResponse> {
const method = this.methods[15], opt = this._transport.mergeOptions(options);
@ -747,7 +747,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* attempt to re-broadcast the transaction on start up, until it enters the
* chain.
*
* @generated from protobuf rpc: PublishTransaction(walletrpc.Transaction) returns (walletrpc.PublishResponse);
* @generated from protobuf rpc: PublishTransaction
*/
publishTransaction(input: Transaction$, options?: RpcOptions): UnaryCall<Transaction$, PublishResponse> {
const method = this.methods[16], opt = this._transport.mergeOptions(options);
@ -758,7 +758,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* RemoveTransaction attempts to remove the provided transaction from the
* internal transaction store of the wallet.
*
* @generated from protobuf rpc: RemoveTransaction(walletrpc.GetTransactionRequest) returns (walletrpc.RemoveTransactionResponse);
* @generated from protobuf rpc: RemoveTransaction
*/
removeTransaction(input: GetTransactionRequest, options?: RpcOptions): UnaryCall<GetTransactionRequest, RemoveTransactionResponse> {
const method = this.methods[17], opt = this._transport.mergeOptions(options);
@ -770,7 +770,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* allows the caller to create a transaction that sends to several outputs at
* once. This is ideal when wanting to batch create a set of transactions.
*
* @generated from protobuf rpc: SendOutputs(walletrpc.SendOutputsRequest) returns (walletrpc.SendOutputsResponse);
* @generated from protobuf rpc: SendOutputs
*/
sendOutputs(input: SendOutputsRequest, options?: RpcOptions): UnaryCall<SendOutputsRequest, SendOutputsResponse> {
const method = this.methods[18], opt = this._transport.mergeOptions(options);
@ -782,7 +782,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* determine the fee (in sat/kw) to attach to a transaction in order to
* achieve the confirmation target.
*
* @generated from protobuf rpc: EstimateFee(walletrpc.EstimateFeeRequest) returns (walletrpc.EstimateFeeResponse);
* @generated from protobuf rpc: EstimateFee
*/
estimateFee(input: EstimateFeeRequest, options?: RpcOptions): UnaryCall<EstimateFeeRequest, EstimateFeeResponse> {
const method = this.methods[19], opt = this._transport.mergeOptions(options);
@ -799,7 +799,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* remain supported. This is an advanced API that depends on the internals of
* the UtxoSweeper, so things may change.
*
* @generated from protobuf rpc: PendingSweeps(walletrpc.PendingSweepsRequest) returns (walletrpc.PendingSweepsResponse);
* @generated from protobuf rpc: PendingSweeps
*/
pendingSweeps(input: PendingSweepsRequest, options?: RpcOptions): UnaryCall<PendingSweepsRequest, PendingSweepsResponse> {
const method = this.methods[20], opt = this._transport.mergeOptions(options);
@ -836,7 +836,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* done by specifying an outpoint within the low fee transaction that is under
* the control of the wallet.
*
* @generated from protobuf rpc: BumpFee(walletrpc.BumpFeeRequest) returns (walletrpc.BumpFeeResponse);
* @generated from protobuf rpc: BumpFee
*/
bumpFee(input: BumpFeeRequest, options?: RpcOptions): UnaryCall<BumpFeeRequest, BumpFeeResponse> {
const method = this.methods[21], opt = this._transport.mergeOptions(options);
@ -847,7 +847,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* BumpForceCloseFee is an endpoint that allows users to bump the fee of a
* channel force close. This only works for channels with option_anchors.
*
* @generated from protobuf rpc: BumpForceCloseFee(walletrpc.BumpForceCloseFeeRequest) returns (walletrpc.BumpForceCloseFeeResponse);
* @generated from protobuf rpc: BumpForceCloseFee
*/
bumpForceCloseFee(input: BumpForceCloseFeeRequest, options?: RpcOptions): UnaryCall<BumpForceCloseFeeRequest, BumpForceCloseFeeResponse> {
const method = this.methods[22], opt = this._transport.mergeOptions(options);
@ -859,7 +859,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* Note that these sweeps may not be confirmed yet, as we record sweeps on
* broadcast, not confirmation.
*
* @generated from protobuf rpc: ListSweeps(walletrpc.ListSweepsRequest) returns (walletrpc.ListSweepsResponse);
* @generated from protobuf rpc: ListSweeps
*/
listSweeps(input: ListSweepsRequest, options?: RpcOptions): UnaryCall<ListSweepsRequest, ListSweepsResponse> {
const method = this.methods[23], opt = this._transport.mergeOptions(options);
@ -872,7 +872,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* overwrite the existing transaction label. Labels must not be empty, and
* cannot exceed 500 characters.
*
* @generated from protobuf rpc: LabelTransaction(walletrpc.LabelTransactionRequest) returns (walletrpc.LabelTransactionResponse);
* @generated from protobuf rpc: LabelTransaction
*/
labelTransaction(input: LabelTransactionRequest, options?: RpcOptions): UnaryCall<LabelTransactionRequest, LabelTransactionResponse> {
const method = this.methods[24], opt = this._transport.mergeOptions(options);
@ -909,7 +909,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* publishing the transaction) or to unlock/release the locked UTXOs in case of
* an error on the caller's side.
*
* @generated from protobuf rpc: FundPsbt(walletrpc.FundPsbtRequest) returns (walletrpc.FundPsbtResponse);
* @generated from protobuf rpc: FundPsbt
*/
fundPsbt(input: FundPsbtRequest, options?: RpcOptions): UnaryCall<FundPsbtRequest, FundPsbtResponse> {
const method = this.methods[25], opt = this._transport.mergeOptions(options);
@ -929,7 +929,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* input/output/fee value validation, PSBT finalization). Any input that is
* incomplete will be skipped.
*
* @generated from protobuf rpc: SignPsbt(walletrpc.SignPsbtRequest) returns (walletrpc.SignPsbtResponse);
* @generated from protobuf rpc: SignPsbt
*/
signPsbt(input: SignPsbtRequest, options?: RpcOptions): UnaryCall<SignPsbtRequest, SignPsbtResponse> {
const method = this.methods[26], opt = this._transport.mergeOptions(options);
@ -949,7 +949,7 @@ export class WalletKitClient implements IWalletKitClient, ServiceInfo {
* caller's responsibility to either publish the transaction on success or
* unlock/release any locked UTXOs in case of an error in this method.
*
* @generated from protobuf rpc: FinalizePsbt(walletrpc.FinalizePsbtRequest) returns (walletrpc.FinalizePsbtResponse);
* @generated from protobuf rpc: FinalizePsbt
*/
finalizePsbt(input: FinalizePsbtRequest, options?: RpcOptions): UnaryCall<FinalizePsbtRequest, FinalizePsbtResponse> {
const method = this.methods[27], opt = this._transport.mergeOptions(options);

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,4 @@
// @generated by protobuf-ts 2.8.1
// @generated by protobuf-ts 2.11.1
// @generated from protobuf file "walletunlocker.proto" (package "lnrpc", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
@ -50,7 +50,7 @@ export interface IWalletUnlockerClient {
* method should be used to commit the newly generated seed, and create the
* wallet.
*
* @generated from protobuf rpc: GenSeed(lnrpc.GenSeedRequest) returns (lnrpc.GenSeedResponse);
* @generated from protobuf rpc: GenSeed
*/
genSeed(input: GenSeedRequest, options?: RpcOptions): UnaryCall<GenSeedRequest, GenSeedResponse>;
/**
@ -68,7 +68,7 @@ export interface IWalletUnlockerClient {
* seed, then present it to the user. Once it has been verified by the user,
* the seed can be fed into this RPC in order to commit the new wallet.
*
* @generated from protobuf rpc: InitWallet(lnrpc.InitWalletRequest) returns (lnrpc.InitWalletResponse);
* @generated from protobuf rpc: InitWallet
*/
initWallet(input: InitWalletRequest, options?: RpcOptions): UnaryCall<InitWalletRequest, InitWalletResponse>;
/**
@ -76,7 +76,7 @@ export interface IWalletUnlockerClient {
* UnlockWallet is used at startup of lnd to provide a password to unlock
* the wallet database.
*
* @generated from protobuf rpc: UnlockWallet(lnrpc.UnlockWalletRequest) returns (lnrpc.UnlockWalletResponse);
* @generated from protobuf rpc: UnlockWallet
*/
unlockWallet(input: UnlockWalletRequest, options?: RpcOptions): UnaryCall<UnlockWalletRequest, UnlockWalletResponse>;
/**
@ -84,7 +84,7 @@ export interface IWalletUnlockerClient {
* ChangePassword changes the password of the encrypted wallet. This will
* automatically unlock the wallet database if successful.
*
* @generated from protobuf rpc: ChangePassword(lnrpc.ChangePasswordRequest) returns (lnrpc.ChangePasswordResponse);
* @generated from protobuf rpc: ChangePassword
*/
changePassword(input: ChangePasswordRequest, options?: RpcOptions): UnaryCall<ChangePasswordRequest, ChangePasswordResponse>;
}
@ -128,7 +128,7 @@ export class WalletUnlockerClient implements IWalletUnlockerClient, ServiceInfo
* method should be used to commit the newly generated seed, and create the
* wallet.
*
* @generated from protobuf rpc: GenSeed(lnrpc.GenSeedRequest) returns (lnrpc.GenSeedResponse);
* @generated from protobuf rpc: GenSeed
*/
genSeed(input: GenSeedRequest, options?: RpcOptions): UnaryCall<GenSeedRequest, GenSeedResponse> {
const method = this.methods[0], opt = this._transport.mergeOptions(options);
@ -149,7 +149,7 @@ export class WalletUnlockerClient implements IWalletUnlockerClient, ServiceInfo
* seed, then present it to the user. Once it has been verified by the user,
* the seed can be fed into this RPC in order to commit the new wallet.
*
* @generated from protobuf rpc: InitWallet(lnrpc.InitWalletRequest) returns (lnrpc.InitWalletResponse);
* @generated from protobuf rpc: InitWallet
*/
initWallet(input: InitWalletRequest, options?: RpcOptions): UnaryCall<InitWalletRequest, InitWalletResponse> {
const method = this.methods[1], opt = this._transport.mergeOptions(options);
@ -160,7 +160,7 @@ export class WalletUnlockerClient implements IWalletUnlockerClient, ServiceInfo
* UnlockWallet is used at startup of lnd to provide a password to unlock
* the wallet database.
*
* @generated from protobuf rpc: UnlockWallet(lnrpc.UnlockWalletRequest) returns (lnrpc.UnlockWalletResponse);
* @generated from protobuf rpc: UnlockWallet
*/
unlockWallet(input: UnlockWalletRequest, options?: RpcOptions): UnaryCall<UnlockWalletRequest, UnlockWalletResponse> {
const method = this.methods[2], opt = this._transport.mergeOptions(options);
@ -171,7 +171,7 @@ export class WalletUnlockerClient implements IWalletUnlockerClient, ServiceInfo
* ChangePassword changes the password of the encrypted wallet. This will
* automatically unlock the wallet database if successful.
*
* @generated from protobuf rpc: ChangePassword(lnrpc.ChangePasswordRequest) returns (lnrpc.ChangePasswordResponse);
* @generated from protobuf rpc: ChangePassword
*/
changePassword(input: ChangePasswordRequest, options?: RpcOptions): UnaryCall<ChangePasswordRequest, ChangePasswordResponse> {
const method = this.methods[3], opt = this._transport.mergeOptions(options);

View file

@ -1,4 +1,4 @@
// @generated by protobuf-ts 2.8.1
// @generated by protobuf-ts 2.11.1
// @generated from protobuf file "walletunlocker.proto" (package "lnrpc", syntax proto3)
// tslint:disable
import { ServiceType } from "@protobuf-ts/runtime-rpc";
@ -10,7 +10,6 @@ import type { IBinaryReader } from "@protobuf-ts/runtime";
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { reflectionMergePartial } from "@protobuf-ts/runtime";
import { MESSAGE_TYPE } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { ChanBackupSnapshot } from "./lightning.js";
/**
@ -23,7 +22,7 @@ export interface GenSeedRequest {
* to encrypt the generated aezeed cipher seed. When using REST, this field
* must be encoded as base64.
*
* @generated from protobuf field: bytes aezeed_passphrase = 1;
* @generated from protobuf field: bytes aezeed_passphrase = 1
*/
aezeedPassphrase: Uint8Array;
/**
@ -32,7 +31,7 @@ export interface GenSeedRequest {
* specified, then a fresh set of randomness will be used to create the seed.
* When using REST, this field must be encoded as base64.
*
* @generated from protobuf field: bytes seed_entropy = 2;
* @generated from protobuf field: bytes seed_entropy = 2
*/
seedEntropy: Uint8Array;
}
@ -48,7 +47,7 @@ export interface GenSeedResponse {
* Otherwise, then the daemon will attempt to recover the wallet state linked
* to this cipher seed.
*
* @generated from protobuf field: repeated string cipher_seed_mnemonic = 1;
* @generated from protobuf field: repeated string cipher_seed_mnemonic = 1
*/
cipherSeedMnemonic: string[];
/**
@ -56,7 +55,7 @@ export interface GenSeedResponse {
* enciphered_seed are the raw aezeed cipher seed bytes. This is the raw
* cipher text before run through our mnemonic encoding scheme.
*
* @generated from protobuf field: bytes enciphered_seed = 2;
* @generated from protobuf field: bytes enciphered_seed = 2
*/
encipheredSeed: Uint8Array;
}
@ -71,7 +70,7 @@ export interface InitWalletRequest {
* password is required to unlock the daemon. When using REST, this field
* must be encoded as base64.
*
* @generated from protobuf field: bytes wallet_password = 1;
* @generated from protobuf field: bytes wallet_password = 1
*/
walletPassword: Uint8Array;
/**
@ -80,7 +79,7 @@ export interface InitWalletRequest {
* cipher seed obtained by the user. This may have been generated by the
* GenSeed method, or be an existing seed.
*
* @generated from protobuf field: repeated string cipher_seed_mnemonic = 2;
* @generated from protobuf field: repeated string cipher_seed_mnemonic = 2
*/
cipherSeedMnemonic: string[];
/**
@ -89,7 +88,7 @@ export interface InitWalletRequest {
* to encrypt the generated aezeed cipher seed. When using REST, this field
* must be encoded as base64.
*
* @generated from protobuf field: bytes aezeed_passphrase = 3;
* @generated from protobuf field: bytes aezeed_passphrase = 3
*/
aezeedPassphrase: Uint8Array;
/**
@ -100,7 +99,7 @@ export interface InitWalletRequest {
* window of zero indicates that no addresses should be recovered, such after
* the first initialization of the wallet.
*
* @generated from protobuf field: int32 recovery_window = 4;
* @generated from protobuf field: int32 recovery_window = 4
*/
recoveryWindow: number;
/**
@ -112,7 +111,7 @@ export interface InitWalletRequest {
* funds, lnd begin to carry out the data loss recovery protocol in order to
* recover the funds in each channel from a remote force closed transaction.
*
* @generated from protobuf field: lnrpc.ChanBackupSnapshot channel_backups = 5;
* @generated from protobuf field: lnrpc.ChanBackupSnapshot channel_backups = 5
*/
channelBackups?: ChanBackupSnapshot;
/**
@ -122,7 +121,7 @@ export interface InitWalletRequest {
* admin macaroon returned in the response MUST be stored by the caller of the
* RPC as otherwise all access to the daemon will be lost!
*
* @generated from protobuf field: bool stateless_init = 6;
* @generated from protobuf field: bool stateless_init = 6
*/
statelessInit: boolean;
/**
@ -140,7 +139,7 @@ export interface InitWalletRequest {
* extended_master_key_birthday_timestamp or a "safe" default value will be
* used.
*
* @generated from protobuf field: string extended_master_key = 7;
* @generated from protobuf field: string extended_master_key = 7
*/
extendedMasterKey: string;
/**
@ -153,7 +152,7 @@ export interface InitWalletRequest {
* which case lnd will start scanning from the first SegWit block (481824 on
* mainnet).
*
* @generated from protobuf field: uint64 extended_master_key_birthday_timestamp = 8;
* @generated from protobuf field: uint64 extended_master_key_birthday_timestamp = 8
*/
extendedMasterKeyBirthdayTimestamp: bigint;
/**
@ -164,7 +163,7 @@ export interface InitWalletRequest {
* any of the keys and _needs_ to be run with a remote signer that has the
* corresponding private keys and can serve signing RPC requests.
*
* @generated from protobuf field: lnrpc.WatchOnly watch_only = 9;
* @generated from protobuf field: lnrpc.WatchOnly watch_only = 9
*/
watchOnly?: WatchOnly;
/**
@ -173,7 +172,7 @@ export interface InitWalletRequest {
* provided when initializing the wallet rather than letting lnd generate one
* on its own.
*
* @generated from protobuf field: bytes macaroon_root_key = 10;
* @generated from protobuf field: bytes macaroon_root_key = 10
*/
macaroonRootKey: Uint8Array;
}
@ -189,7 +188,7 @@ export interface InitWalletResponse {
* caller. Otherwise a copy of this macaroon is also persisted on disk by the
* daemon, together with other macaroon files.
*
* @generated from protobuf field: bytes admin_macaroon = 1;
* @generated from protobuf field: bytes admin_macaroon = 1
*/
adminMacaroon: Uint8Array;
}
@ -205,7 +204,7 @@ export interface WatchOnly {
* should be left at its default value of 0 in which case lnd will start
* scanning from the first SegWit block (481824 on mainnet).
*
* @generated from protobuf field: uint64 master_key_birthday_timestamp = 1;
* @generated from protobuf field: uint64 master_key_birthday_timestamp = 1
*/
masterKeyBirthdayTimestamp: bigint;
/**
@ -215,7 +214,7 @@ export interface WatchOnly {
* required by some hardware wallets for proper identification and signing. The
* bytes must be in big-endian order.
*
* @generated from protobuf field: bytes master_key_fingerprint = 2;
* @generated from protobuf field: bytes master_key_fingerprint = 2
*/
masterKeyFingerprint: Uint8Array;
/**
@ -226,7 +225,7 @@ export interface WatchOnly {
* scope (m/1017'/<coin_type>'/<account>'), where account is the key family as
* defined in `keychain/derivation.go` (currently indices 0 to 9).
*
* @generated from protobuf field: repeated lnrpc.WatchOnlyAccount accounts = 3;
* @generated from protobuf field: repeated lnrpc.WatchOnlyAccount accounts = 3
*/
accounts: WatchOnlyAccount[];
}
@ -239,7 +238,7 @@ export interface WatchOnlyAccount {
* Purpose is the first number in the derivation path, must be either 49, 84
* or 1017.
*
* @generated from protobuf field: uint32 purpose = 1;
* @generated from protobuf field: uint32 purpose = 1
*/
purpose: number;
/**
@ -248,7 +247,7 @@ export interface WatchOnlyAccount {
* for purposes 49 and 84. It only needs to be set to 1 for purpose 1017 on
* testnet or regtest.
*
* @generated from protobuf field: uint32 coin_type = 2;
* @generated from protobuf field: uint32 coin_type = 2
*/
coinType: number;
/**
@ -259,14 +258,14 @@ export interface WatchOnlyAccount {
* one account for each of the key families defined in `keychain/derivation.go`
* (currently indices 0 to 9)
*
* @generated from protobuf field: uint32 account = 3;
* @generated from protobuf field: uint32 account = 3
*/
account: number;
/**
*
* The extended public key at depth 3 for the given account.
*
* @generated from protobuf field: string xpub = 4;
* @generated from protobuf field: string xpub = 4
*/
xpub: string;
}
@ -280,7 +279,7 @@ export interface UnlockWalletRequest {
* will be required to decrypt on-disk material that the daemon requires to
* function properly. When using REST, this field must be encoded as base64.
*
* @generated from protobuf field: bytes wallet_password = 1;
* @generated from protobuf field: bytes wallet_password = 1
*/
walletPassword: Uint8Array;
/**
@ -291,7 +290,7 @@ export interface UnlockWalletRequest {
* window of zero indicates that no addresses should be recovered, such after
* the first initialization of the wallet.
*
* @generated from protobuf field: int32 recovery_window = 2;
* @generated from protobuf field: int32 recovery_window = 2
*/
recoveryWindow: number;
/**
@ -303,7 +302,7 @@ export interface UnlockWalletRequest {
* funds, lnd begin to carry out the data loss recovery protocol in order to
* recover the funds in each channel from a remote force closed transaction.
*
* @generated from protobuf field: lnrpc.ChanBackupSnapshot channel_backups = 3;
* @generated from protobuf field: lnrpc.ChanBackupSnapshot channel_backups = 3
*/
channelBackups?: ChanBackupSnapshot;
/**
@ -311,7 +310,7 @@ export interface UnlockWalletRequest {
* stateless_init is an optional argument instructing the daemon NOT to create
* any *.macaroon files in its file system.
*
* @generated from protobuf field: bool stateless_init = 4;
* @generated from protobuf field: bool stateless_init = 4
*/
statelessInit: boolean;
}
@ -329,7 +328,7 @@ export interface ChangePasswordRequest {
* current_password should be the current valid passphrase used to unlock the
* daemon. When using REST, this field must be encoded as base64.
*
* @generated from protobuf field: bytes current_password = 1;
* @generated from protobuf field: bytes current_password = 1
*/
currentPassword: Uint8Array;
/**
@ -337,7 +336,7 @@ export interface ChangePasswordRequest {
* new_password should be the new passphrase that will be needed to unlock the
* daemon. When using REST, this field must be encoded as base64.
*
* @generated from protobuf field: bytes new_password = 2;
* @generated from protobuf field: bytes new_password = 2
*/
newPassword: Uint8Array;
/**
@ -347,7 +346,7 @@ export interface ChangePasswordRequest {
* admin macaroon returned in the response MUST be stored by the caller of the
* RPC as otherwise all access to the daemon will be lost!
*
* @generated from protobuf field: bool stateless_init = 3;
* @generated from protobuf field: bool stateless_init = 3
*/
statelessInit: boolean;
/**
@ -356,7 +355,7 @@ export interface ChangePasswordRequest {
* rotate the macaroon root key when set to true. This will invalidate all
* previously generated macaroons.
*
* @generated from protobuf field: bool new_macaroon_root_key = 4;
* @generated from protobuf field: bool new_macaroon_root_key = 4
*/
newMacaroonRootKey: boolean;
}
@ -373,7 +372,7 @@ export interface ChangePasswordResponse {
* safely by the caller. Otherwise a copy of this macaroon is also persisted on
* disk by the daemon, together with other macaroon files.
*
* @generated from protobuf field: bytes admin_macaroon = 1;
* @generated from protobuf field: bytes admin_macaroon = 1
*/
adminMacaroon: Uint8Array;
}
@ -386,8 +385,9 @@ class GenSeedRequest$Type extends MessageType<GenSeedRequest> {
]);
}
create(value?: PartialMessage<GenSeedRequest>): GenSeedRequest {
const message = { aezeedPassphrase: new Uint8Array(0), seedEntropy: new Uint8Array(0) };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.aezeedPassphrase = new Uint8Array(0);
message.seedEntropy = new Uint8Array(0);
if (value !== undefined)
reflectionMergePartial<GenSeedRequest>(this, message, value);
return message;
@ -440,8 +440,9 @@ class GenSeedResponse$Type extends MessageType<GenSeedResponse> {
]);
}
create(value?: PartialMessage<GenSeedResponse>): GenSeedResponse {
const message = { cipherSeedMnemonic: [], encipheredSeed: new Uint8Array(0) };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.cipherSeedMnemonic = [];
message.encipheredSeed = new Uint8Array(0);
if (value !== undefined)
reflectionMergePartial<GenSeedResponse>(this, message, value);
return message;
@ -502,8 +503,15 @@ class InitWalletRequest$Type extends MessageType<InitWalletRequest> {
]);
}
create(value?: PartialMessage<InitWalletRequest>): InitWalletRequest {
const message = { walletPassword: new Uint8Array(0), cipherSeedMnemonic: [], aezeedPassphrase: new Uint8Array(0), recoveryWindow: 0, statelessInit: false, extendedMasterKey: "", extendedMasterKeyBirthdayTimestamp: 0n, macaroonRootKey: new Uint8Array(0) };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.walletPassword = new Uint8Array(0);
message.cipherSeedMnemonic = [];
message.aezeedPassphrase = new Uint8Array(0);
message.recoveryWindow = 0;
message.statelessInit = false;
message.extendedMasterKey = "";
message.extendedMasterKeyBirthdayTimestamp = 0n;
message.macaroonRootKey = new Uint8Array(0);
if (value !== undefined)
reflectionMergePartial<InitWalletRequest>(this, message, value);
return message;
@ -603,8 +611,8 @@ class InitWalletResponse$Type extends MessageType<InitWalletResponse> {
]);
}
create(value?: PartialMessage<InitWalletResponse>): InitWalletResponse {
const message = { adminMacaroon: new Uint8Array(0) };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.adminMacaroon = new Uint8Array(0);
if (value !== undefined)
reflectionMergePartial<InitWalletResponse>(this, message, value);
return message;
@ -648,12 +656,14 @@ class WatchOnly$Type extends MessageType<WatchOnly> {
super("lnrpc.WatchOnly", [
{ no: 1, name: "master_key_birthday_timestamp", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
{ no: 2, name: "master_key_fingerprint", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
{ no: 3, name: "accounts", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => WatchOnlyAccount }
{ no: 3, name: "accounts", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => WatchOnlyAccount }
]);
}
create(value?: PartialMessage<WatchOnly>): WatchOnly {
const message = { masterKeyBirthdayTimestamp: 0n, masterKeyFingerprint: new Uint8Array(0), accounts: [] };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.masterKeyBirthdayTimestamp = 0n;
message.masterKeyFingerprint = new Uint8Array(0);
message.accounts = [];
if (value !== undefined)
reflectionMergePartial<WatchOnly>(this, message, value);
return message;
@ -714,8 +724,11 @@ class WatchOnlyAccount$Type extends MessageType<WatchOnlyAccount> {
]);
}
create(value?: PartialMessage<WatchOnlyAccount>): WatchOnlyAccount {
const message = { purpose: 0, coinType: 0, account: 0, xpub: "" };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.purpose = 0;
message.coinType = 0;
message.account = 0;
message.xpub = "";
if (value !== undefined)
reflectionMergePartial<WatchOnlyAccount>(this, message, value);
return message;
@ -782,8 +795,10 @@ class UnlockWalletRequest$Type extends MessageType<UnlockWalletRequest> {
]);
}
create(value?: PartialMessage<UnlockWalletRequest>): UnlockWalletRequest {
const message = { walletPassword: new Uint8Array(0), recoveryWindow: 0, statelessInit: false };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.walletPassword = new Uint8Array(0);
message.recoveryWindow = 0;
message.statelessInit = false;
if (value !== undefined)
reflectionMergePartial<UnlockWalletRequest>(this, message, value);
return message;
@ -845,14 +860,26 @@ class UnlockWalletResponse$Type extends MessageType<UnlockWalletResponse> {
super("lnrpc.UnlockWalletResponse", []);
}
create(value?: PartialMessage<UnlockWalletResponse>): UnlockWalletResponse {
const message = {};
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
if (value !== undefined)
reflectionMergePartial<UnlockWalletResponse>(this, message, value);
return message;
}
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UnlockWalletResponse): UnlockWalletResponse {
return target ?? this.create();
let message = target ?? this.create(), end = reader.pos + length;
while (reader.pos < end) {
let [fieldNo, wireType] = reader.tag();
switch (fieldNo) {
default:
let u = options.readUnknownField;
if (u === "throw")
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
let d = reader.skip(wireType);
if (u !== false)
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
}
}
return message;
}
internalBinaryWrite(message: UnlockWalletResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
let u = options.writeUnknownFields;
@ -876,8 +903,11 @@ class ChangePasswordRequest$Type extends MessageType<ChangePasswordRequest> {
]);
}
create(value?: PartialMessage<ChangePasswordRequest>): ChangePasswordRequest {
const message = { currentPassword: new Uint8Array(0), newPassword: new Uint8Array(0), statelessInit: false, newMacaroonRootKey: false };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.currentPassword = new Uint8Array(0);
message.newPassword = new Uint8Array(0);
message.statelessInit = false;
message.newMacaroonRootKey = false;
if (value !== undefined)
reflectionMergePartial<ChangePasswordRequest>(this, message, value);
return message;
@ -941,8 +971,8 @@ class ChangePasswordResponse$Type extends MessageType<ChangePasswordResponse> {
]);
}
create(value?: PartialMessage<ChangePasswordResponse>): ChangePasswordResponse {
const message = { adminMacaroon: new Uint8Array(0) };
globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this });
const message = globalThis.Object.create((this.messagePrototype!));
message.adminMacaroon = new Uint8Array(0);
if (value !== undefined)
reflectionMergePartial<ChangePasswordResponse>(this, message, value);
return message;