core-lightning/cln-grpc/proto/node.proto
laanwj c8660c85ba schemas: "description" field in "wait(any)invoice" is optional since BOLT12
For BOLT12 invoices, the "description" is field missing in the invoice
responses. Update the schemas accordingly:

- `doc/schemas/lightning-waitanyinvoice.json`
- `doc/schemas/lightning-waitinvoice.json`

Also commit the generated msggen, cln-grpc, cln-rpc and pyln-grpc-proto files.

Changelog-Fixed: schemas: Make description in `Wait(any)invoiceResponse` optional to handle BOLT12
2024-09-16 16:03:07 +09:30

3643 lines
88 KiB
Protocol Buffer
Generated

syntax = "proto3";
package cln;
// This file was automatically derived from the JSON-RPC schemas in
// `doc/schemas`. Do not edit this file manually as it would get
// overwritten.
import "primitives.proto";
service Node {
rpc Getinfo(GetinfoRequest) returns (GetinfoResponse) {}
rpc ListPeers(ListpeersRequest) returns (ListpeersResponse) {}
rpc ListFunds(ListfundsRequest) returns (ListfundsResponse) {}
rpc SendPay(SendpayRequest) returns (SendpayResponse) {}
rpc ListChannels(ListchannelsRequest) returns (ListchannelsResponse) {}
rpc AddGossip(AddgossipRequest) returns (AddgossipResponse) {}
rpc AddPsbtOutput(AddpsbtoutputRequest) returns (AddpsbtoutputResponse) {}
rpc AutoCleanOnce(AutocleanonceRequest) returns (AutocleanonceResponse) {}
rpc AutoCleanStatus(AutocleanstatusRequest) returns (AutocleanstatusResponse) {}
rpc CheckMessage(CheckmessageRequest) returns (CheckmessageResponse) {}
rpc Close(CloseRequest) returns (CloseResponse) {}
rpc ConnectPeer(ConnectRequest) returns (ConnectResponse) {}
rpc CreateInvoice(CreateinvoiceRequest) returns (CreateinvoiceResponse) {}
rpc Datastore(DatastoreRequest) returns (DatastoreResponse) {}
rpc DatastoreUsage(DatastoreusageRequest) returns (DatastoreusageResponse) {}
rpc CreateOnion(CreateonionRequest) returns (CreateonionResponse) {}
rpc DelDatastore(DeldatastoreRequest) returns (DeldatastoreResponse) {}
rpc DelInvoice(DelinvoiceRequest) returns (DelinvoiceResponse) {}
rpc DevForgetChannel(DevforgetchannelRequest) returns (DevforgetchannelResponse) {}
rpc EmergencyRecover(EmergencyrecoverRequest) returns (EmergencyrecoverResponse) {}
rpc Recover(RecoverRequest) returns (RecoverResponse) {}
rpc RecoverChannel(RecoverchannelRequest) returns (RecoverchannelResponse) {}
rpc Invoice(InvoiceRequest) returns (InvoiceResponse) {}
rpc CreateInvoiceRequest(InvoicerequestRequest) returns (InvoicerequestResponse) {}
rpc DisableInvoiceRequest(DisableinvoicerequestRequest) returns (DisableinvoicerequestResponse) {}
rpc ListInvoiceRequests(ListinvoicerequestsRequest) returns (ListinvoicerequestsResponse) {}
rpc ListDatastore(ListdatastoreRequest) returns (ListdatastoreResponse) {}
rpc ListInvoices(ListinvoicesRequest) returns (ListinvoicesResponse) {}
rpc SendOnion(SendonionRequest) returns (SendonionResponse) {}
rpc ListSendPays(ListsendpaysRequest) returns (ListsendpaysResponse) {}
rpc ListTransactions(ListtransactionsRequest) returns (ListtransactionsResponse) {}
rpc MakeSecret(MakesecretRequest) returns (MakesecretResponse) {}
rpc Pay(PayRequest) returns (PayResponse) {}
rpc ListNodes(ListnodesRequest) returns (ListnodesResponse) {}
rpc WaitAnyInvoice(WaitanyinvoiceRequest) returns (WaitanyinvoiceResponse) {}
rpc WaitInvoice(WaitinvoiceRequest) returns (WaitinvoiceResponse) {}
rpc WaitSendPay(WaitsendpayRequest) returns (WaitsendpayResponse) {}
rpc NewAddr(NewaddrRequest) returns (NewaddrResponse) {}
rpc Withdraw(WithdrawRequest) returns (WithdrawResponse) {}
rpc KeySend(KeysendRequest) returns (KeysendResponse) {}
rpc FundPsbt(FundpsbtRequest) returns (FundpsbtResponse) {}
rpc SendPsbt(SendpsbtRequest) returns (SendpsbtResponse) {}
rpc SignPsbt(SignpsbtRequest) returns (SignpsbtResponse) {}
rpc UtxoPsbt(UtxopsbtRequest) returns (UtxopsbtResponse) {}
rpc TxDiscard(TxdiscardRequest) returns (TxdiscardResponse) {}
rpc TxPrepare(TxprepareRequest) returns (TxprepareResponse) {}
rpc TxSend(TxsendRequest) returns (TxsendResponse) {}
rpc ListPeerChannels(ListpeerchannelsRequest) returns (ListpeerchannelsResponse) {}
rpc ListClosedChannels(ListclosedchannelsRequest) returns (ListclosedchannelsResponse) {}
rpc DecodePay(DecodepayRequest) returns (DecodepayResponse) {}
rpc Decode(DecodeRequest) returns (DecodeResponse) {}
rpc DelPay(DelpayRequest) returns (DelpayResponse) {}
rpc DelForward(DelforwardRequest) returns (DelforwardResponse) {}
rpc DisableOffer(DisableofferRequest) returns (DisableofferResponse) {}
rpc Disconnect(DisconnectRequest) returns (DisconnectResponse) {}
rpc Feerates(FeeratesRequest) returns (FeeratesResponse) {}
rpc FetchInvoice(FetchinvoiceRequest) returns (FetchinvoiceResponse) {}
rpc FundChannel_Cancel(Fundchannel_cancelRequest) returns (Fundchannel_cancelResponse) {}
rpc FundChannel_Complete(Fundchannel_completeRequest) returns (Fundchannel_completeResponse) {}
rpc FundChannel(FundchannelRequest) returns (FundchannelResponse) {}
rpc FundChannel_Start(Fundchannel_startRequest) returns (Fundchannel_startResponse) {}
rpc GetLog(GetlogRequest) returns (GetlogResponse) {}
rpc FunderUpdate(FunderupdateRequest) returns (FunderupdateResponse) {}
rpc GetRoute(GetrouteRequest) returns (GetrouteResponse) {}
rpc ListForwards(ListforwardsRequest) returns (ListforwardsResponse) {}
rpc ListOffers(ListoffersRequest) returns (ListoffersResponse) {}
rpc ListPays(ListpaysRequest) returns (ListpaysResponse) {}
rpc ListHtlcs(ListhtlcsRequest) returns (ListhtlcsResponse) {}
rpc MultiFundChannel(MultifundchannelRequest) returns (MultifundchannelResponse) {}
rpc MultiWithdraw(MultiwithdrawRequest) returns (MultiwithdrawResponse) {}
rpc Offer(OfferRequest) returns (OfferResponse) {}
rpc OpenChannel_Abort(Openchannel_abortRequest) returns (Openchannel_abortResponse) {}
rpc OpenChannel_Bump(Openchannel_bumpRequest) returns (Openchannel_bumpResponse) {}
rpc OpenChannel_Init(Openchannel_initRequest) returns (Openchannel_initResponse) {}
rpc OpenChannel_Signed(Openchannel_signedRequest) returns (Openchannel_signedResponse) {}
rpc OpenChannel_Update(Openchannel_updateRequest) returns (Openchannel_updateResponse) {}
rpc Ping(PingRequest) returns (PingResponse) {}
rpc Plugin(PluginRequest) returns (PluginResponse) {}
rpc RenePayStatus(RenepaystatusRequest) returns (RenepaystatusResponse) {}
rpc RenePay(RenepayRequest) returns (RenepayResponse) {}
rpc ReserveInputs(ReserveinputsRequest) returns (ReserveinputsResponse) {}
rpc SendCustomMsg(SendcustommsgRequest) returns (SendcustommsgResponse) {}
rpc SendInvoice(SendinvoiceRequest) returns (SendinvoiceResponse) {}
rpc SetChannel(SetchannelRequest) returns (SetchannelResponse) {}
rpc SetConfig(SetconfigRequest) returns (SetconfigResponse) {}
rpc SetPsbtVersion(SetpsbtversionRequest) returns (SetpsbtversionResponse) {}
rpc SignInvoice(SigninvoiceRequest) returns (SigninvoiceResponse) {}
rpc SignMessage(SignmessageRequest) returns (SignmessageResponse) {}
rpc Splice_Init(Splice_initRequest) returns (Splice_initResponse) {}
rpc Splice_Signed(Splice_signedRequest) returns (Splice_signedResponse) {}
rpc Splice_Update(Splice_updateRequest) returns (Splice_updateResponse) {}
rpc UnreserveInputs(UnreserveinputsRequest) returns (UnreserveinputsResponse) {}
rpc UpgradeWallet(UpgradewalletRequest) returns (UpgradewalletResponse) {}
rpc WaitBlockHeight(WaitblockheightRequest) returns (WaitblockheightResponse) {}
rpc Wait(WaitRequest) returns (WaitResponse) {}
rpc ListConfigs(ListconfigsRequest) returns (ListconfigsResponse) {}
rpc Stop(StopRequest) returns (StopResponse) {}
rpc Help(HelpRequest) returns (HelpResponse) {}
rpc PreApproveKeysend(PreapprovekeysendRequest) returns (PreapprovekeysendResponse) {}
rpc PreApproveInvoice(PreapproveinvoiceRequest) returns (PreapproveinvoiceResponse) {}
rpc StaticBackup(StaticbackupRequest) returns (StaticbackupResponse) {}
rpc BkprChannelsApy(BkprchannelsapyRequest) returns (BkprchannelsapyResponse) {}
rpc BkprDumpIncomeCsv(BkprdumpincomecsvRequest) returns (BkprdumpincomecsvResponse) {}
rpc BkprInspect(BkprinspectRequest) returns (BkprinspectResponse) {}
rpc BkprListAccountEvents(BkprlistaccounteventsRequest) returns (BkprlistaccounteventsResponse) {}
rpc BkprListBalances(BkprlistbalancesRequest) returns (BkprlistbalancesResponse) {}
rpc BkprListIncome(BkprlistincomeRequest) returns (BkprlistincomeResponse) {}
rpc BlacklistRune(BlacklistruneRequest) returns (BlacklistruneResponse) {}
rpc CheckRune(CheckruneRequest) returns (CheckruneResponse) {}
rpc CreateRune(CreateruneRequest) returns (CreateruneResponse) {}
rpc ShowRunes(ShowrunesRequest) returns (ShowrunesResponse) {}
rpc SubscribeBlockAdded(StreamBlockAddedRequest) returns (stream BlockAddedNotification) {}
rpc SubscribeChannelOpenFailed(StreamChannelOpenFailedRequest) returns (stream ChannelOpenFailedNotification) {}
rpc SubscribeChannelOpened(StreamChannelOpenedRequest) returns (stream ChannelOpenedNotification) {}
rpc SubscribeConnect(StreamConnectRequest) returns (stream PeerConnectNotification) {}
rpc SubscribeCustomMsg(StreamCustomMsgRequest) returns (stream CustomMsgNotification) {}
}
message GetinfoRequest {
}
message GetinfoResponse {
bytes id = 1;
optional string alias = 2;
bytes color = 3;
uint32 num_peers = 4;
uint32 num_pending_channels = 5;
uint32 num_active_channels = 6;
uint32 num_inactive_channels = 7;
string version = 8;
string lightning_dir = 9;
optional GetinfoOur_features our_features = 10;
uint32 blockheight = 11;
string network = 12;
Amount fees_collected_msat = 13;
repeated GetinfoAddress address = 14;
repeated GetinfoBinding binding = 15;
optional string warning_bitcoind_sync = 16;
optional string warning_lightningd_sync = 17;
}
message GetinfoOur_features {
bytes init = 1;
bytes node = 2;
bytes channel = 3;
bytes invoice = 4;
}
message GetinfoAddress {
// Getinfo.address[].type
enum GetinfoAddressType {
DNS = 0;
IPV4 = 1;
IPV6 = 2;
TORV2 = 3;
TORV3 = 4;
}
GetinfoAddressType item_type = 1;
uint32 port = 2;
optional string address = 3;
}
message GetinfoBinding {
// Getinfo.binding[].type
enum GetinfoBindingType {
LOCAL_SOCKET = 0;
IPV4 = 1;
IPV6 = 2;
TORV2 = 3;
TORV3 = 4;
WEBSOCKET = 5;
}
GetinfoBindingType item_type = 1;
optional string address = 2;
optional uint32 port = 3;
optional string socket = 4;
optional string subtype = 5;
}
message ListpeersRequest {
// ListPeers.level
enum ListpeersLevel {
IO = 0;
DEBUG = 1;
INFO = 2;
UNUSUAL = 3;
TRACE = 4;
}
optional bytes id = 1;
optional ListpeersLevel level = 2;
}
message ListpeersResponse {
repeated ListpeersPeers peers = 1;
}
message ListpeersPeers {
bytes id = 1;
bool connected = 2;
repeated ListpeersPeersLog log = 3;
repeated string netaddr = 5;
optional bytes features = 6;
optional string remote_addr = 7;
optional uint32 num_channels = 8;
}
message ListpeersPeersLog {
// ListPeers.peers[].log[].type
enum ListpeersPeersLogType {
SKIPPED = 0;
BROKEN = 1;
UNUSUAL = 2;
INFO = 3;
DEBUG = 4;
IO_IN = 5;
IO_OUT = 6;
TRACE = 7;
}
ListpeersPeersLogType item_type = 1;
optional uint32 num_skipped = 2;
optional string time = 3;
optional string source = 4;
optional string log = 5;
optional bytes node_id = 6;
optional bytes data = 7;
}
message ListfundsRequest {
optional bool spent = 1;
}
message ListfundsResponse {
repeated ListfundsOutputs outputs = 1;
repeated ListfundsChannels channels = 2;
}
message ListfundsOutputs {
// ListFunds.outputs[].status
enum ListfundsOutputsStatus {
UNCONFIRMED = 0;
CONFIRMED = 1;
SPENT = 2;
IMMATURE = 3;
}
bytes txid = 1;
uint32 output = 2;
Amount amount_msat = 3;
bytes scriptpubkey = 4;
optional string address = 5;
optional bytes redeemscript = 6;
ListfundsOutputsStatus status = 7;
optional uint32 blockheight = 8;
bool reserved = 9;
optional uint32 reserved_to_block = 10;
}
message ListfundsChannels {
bytes peer_id = 1;
Amount our_amount_msat = 2;
Amount amount_msat = 3;
bytes funding_txid = 4;
uint32 funding_output = 5;
bool connected = 6;
ChannelState state = 7;
optional string short_channel_id = 8;
optional bytes channel_id = 9;
}
message SendpayRequest {
repeated SendpayRoute route = 1;
bytes payment_hash = 2;
optional string label = 3;
optional string bolt11 = 5;
optional bytes payment_secret = 6;
optional uint64 partid = 7;
optional uint64 groupid = 9;
optional Amount amount_msat = 10;
optional bytes localinvreqid = 11;
optional bytes payment_metadata = 12;
optional string description = 13;
}
message SendpayResponse {
// SendPay.status
enum SendpayStatus {
PENDING = 0;
COMPLETE = 1;
}
uint64 id = 1;
optional uint64 groupid = 2;
bytes payment_hash = 3;
SendpayStatus status = 4;
optional Amount amount_msat = 5;
optional bytes destination = 6;
uint64 created_at = 7;
Amount amount_sent_msat = 8;
optional string label = 9;
optional uint64 partid = 10;
optional string bolt11 = 11;
optional string bolt12 = 12;
optional bytes payment_preimage = 13;
optional string message = 14;
optional uint64 completed_at = 15;
optional uint64 created_index = 16;
optional uint64 updated_index = 17;
}
message SendpayRoute {
bytes id = 2;
uint32 delay = 3;
string channel = 4;
Amount amount_msat = 5;
}
message ListchannelsRequest {
optional string short_channel_id = 1;
optional bytes source = 2;
optional bytes destination = 3;
}
message ListchannelsResponse {
repeated ListchannelsChannels channels = 1;
}
message ListchannelsChannels {
bytes source = 1;
bytes destination = 2;
string short_channel_id = 3;
bool public = 4;
Amount amount_msat = 5;
uint32 message_flags = 6;
uint32 channel_flags = 7;
bool active = 8;
uint32 last_update = 9;
uint32 base_fee_millisatoshi = 10;
uint32 fee_per_millionth = 11;
uint32 delay = 12;
Amount htlc_minimum_msat = 13;
optional Amount htlc_maximum_msat = 14;
bytes features = 15;
uint32 direction = 16;
}
message AddgossipRequest {
bytes message = 1;
}
message AddgossipResponse {
}
message AddpsbtoutputRequest {
Amount satoshi = 1;
optional uint32 locktime = 2;
optional string initialpsbt = 3;
optional string destination = 4;
}
message AddpsbtoutputResponse {
string psbt = 1;
uint32 estimated_added_weight = 2;
uint32 outnum = 3;
}
message AutocleanonceRequest {
AutocleanSubsystem subsystem = 1;
uint64 age = 2;
}
message AutocleanonceResponse {
AutocleanonceAutoclean autoclean = 1;
}
message AutocleanonceAutoclean {
optional AutocleanonceAutocleanSucceededforwards succeededforwards = 1;
optional AutocleanonceAutocleanFailedforwards failedforwards = 2;
optional AutocleanonceAutocleanSucceededpays succeededpays = 3;
optional AutocleanonceAutocleanFailedpays failedpays = 4;
optional AutocleanonceAutocleanPaidinvoices paidinvoices = 5;
optional AutocleanonceAutocleanExpiredinvoices expiredinvoices = 6;
}
message AutocleanonceAutocleanSucceededforwards {
uint64 cleaned = 1;
uint64 uncleaned = 2;
}
message AutocleanonceAutocleanFailedforwards {
uint64 cleaned = 1;
uint64 uncleaned = 2;
}
message AutocleanonceAutocleanSucceededpays {
uint64 cleaned = 1;
uint64 uncleaned = 2;
}
message AutocleanonceAutocleanFailedpays {
uint64 cleaned = 1;
uint64 uncleaned = 2;
}
message AutocleanonceAutocleanPaidinvoices {
uint64 cleaned = 1;
uint64 uncleaned = 2;
}
message AutocleanonceAutocleanExpiredinvoices {
uint64 cleaned = 1;
uint64 uncleaned = 2;
}
message AutocleanstatusRequest {
optional AutocleanSubsystem subsystem = 1;
}
message AutocleanstatusResponse {
AutocleanstatusAutoclean autoclean = 1;
}
message AutocleanstatusAutoclean {
optional AutocleanstatusAutocleanSucceededforwards succeededforwards = 1;
optional AutocleanstatusAutocleanFailedforwards failedforwards = 2;
optional AutocleanstatusAutocleanSucceededpays succeededpays = 3;
optional AutocleanstatusAutocleanFailedpays failedpays = 4;
optional AutocleanstatusAutocleanPaidinvoices paidinvoices = 5;
optional AutocleanstatusAutocleanExpiredinvoices expiredinvoices = 6;
}
message AutocleanstatusAutocleanSucceededforwards {
bool enabled = 1;
uint64 cleaned = 2;
optional uint64 age = 3;
}
message AutocleanstatusAutocleanFailedforwards {
bool enabled = 1;
uint64 cleaned = 2;
optional uint64 age = 3;
}
message AutocleanstatusAutocleanSucceededpays {
bool enabled = 1;
uint64 cleaned = 2;
optional uint64 age = 3;
}
message AutocleanstatusAutocleanFailedpays {
bool enabled = 1;
uint64 cleaned = 2;
optional uint64 age = 3;
}
message AutocleanstatusAutocleanPaidinvoices {
bool enabled = 1;
uint64 cleaned = 2;
optional uint64 age = 3;
}
message AutocleanstatusAutocleanExpiredinvoices {
bool enabled = 1;
uint64 cleaned = 2;
optional uint64 age = 3;
}
message CheckmessageRequest {
string message = 1;
string zbase = 2;
optional bytes pubkey = 3;
}
message CheckmessageResponse {
bool verified = 1;
bytes pubkey = 2;
}
message CloseRequest {
string id = 1;
optional uint32 unilateraltimeout = 2;
optional string destination = 3;
optional string fee_negotiation_step = 4;
optional Outpoint wrong_funding = 5;
optional bool force_lease_closed = 6;
repeated Feerate feerange = 7;
}
message CloseResponse {
// Close.type
enum CloseType {
MUTUAL = 0;
UNILATERAL = 1;
UNOPENED = 2;
}
CloseType item_type = 1;
optional bytes tx = 2;
optional bytes txid = 3;
}
message ConnectRequest {
string id = 1;
optional string host = 2;
optional uint32 port = 3;
}
message ConnectResponse {
// Connect.direction
enum ConnectDirection {
IN = 0;
OUT = 1;
}
bytes id = 1;
bytes features = 2;
ConnectDirection direction = 3;
ConnectAddress address = 4;
}
message ConnectAddress {
// Connect.address.type
enum ConnectAddressType {
LOCAL_SOCKET = 0;
IPV4 = 1;
IPV6 = 2;
TORV2 = 3;
TORV3 = 4;
}
ConnectAddressType item_type = 1;
optional string socket = 2;
optional string address = 3;
optional uint32 port = 4;
}
message CreateinvoiceRequest {
string invstring = 1;
string label = 2;
bytes preimage = 3;
}
message CreateinvoiceResponse {
// CreateInvoice.status
enum CreateinvoiceStatus {
PAID = 0;
EXPIRED = 1;
UNPAID = 2;
}
string label = 1;
optional string bolt11 = 2;
optional string bolt12 = 3;
bytes payment_hash = 4;
optional Amount amount_msat = 5;
CreateinvoiceStatus status = 6;
string description = 7;
uint64 expires_at = 8;
optional uint64 pay_index = 9;
optional Amount amount_received_msat = 10;
optional uint64 paid_at = 11;
optional bytes payment_preimage = 12;
optional bytes local_offer_id = 13;
optional string invreq_payer_note = 15;
optional uint64 created_index = 16;
optional CreateinvoicePaid_outpoint paid_outpoint = 17;
}
message CreateinvoicePaid_outpoint {
bytes txid = 1;
uint32 outnum = 2;
}
message DatastoreRequest {
// Datastore.mode
enum DatastoreMode {
MUST_CREATE = 0;
MUST_REPLACE = 1;
CREATE_OR_REPLACE = 2;
MUST_APPEND = 3;
CREATE_OR_APPEND = 4;
}
optional bytes hex = 2;
optional DatastoreMode mode = 3;
optional uint64 generation = 4;
repeated string key = 5;
optional string string = 6;
}
message DatastoreResponse {
optional uint64 generation = 2;
optional bytes hex = 3;
optional string string = 4;
repeated string key = 5;
}
message DatastoreusageRequest {
repeated string key = 1;
}
message DatastoreusageResponse {
DatastoreusageDatastoreusage datastoreusage = 1;
}
message DatastoreusageDatastoreusage {
string key = 1;
uint64 total_bytes = 2;
}
message CreateonionRequest {
repeated CreateonionHops hops = 1;
bytes assocdata = 2;
optional bytes session_key = 3;
optional uint32 onion_size = 4;
}
message CreateonionResponse {
bytes onion = 1;
repeated bytes shared_secrets = 2;
}
message CreateonionHops {
bytes pubkey = 1;
bytes payload = 2;
}
message DeldatastoreRequest {
optional uint64 generation = 2;
repeated string key = 3;
}
message DeldatastoreResponse {
optional uint64 generation = 2;
optional bytes hex = 3;
optional string string = 4;
repeated string key = 5;
}
message DelinvoiceRequest {
// DelInvoice.status
enum DelinvoiceStatus {
PAID = 0;
EXPIRED = 1;
UNPAID = 2;
}
string label = 1;
DelinvoiceStatus status = 2;
optional bool desconly = 3;
}
message DelinvoiceResponse {
// DelInvoice.status
enum DelinvoiceStatus {
PAID = 0;
EXPIRED = 1;
UNPAID = 2;
}
string label = 1;
optional string bolt11 = 2;
optional string bolt12 = 3;
optional Amount amount_msat = 4;
optional string description = 5;
bytes payment_hash = 6;
DelinvoiceStatus status = 7;
uint64 expires_at = 8;
optional bytes local_offer_id = 9;
optional string invreq_payer_note = 11;
optional uint64 created_index = 12;
optional uint64 updated_index = 13;
optional uint64 pay_index = 14;
optional Amount amount_received_msat = 15;
optional uint64 paid_at = 16;
optional bytes payment_preimage = 17;
}
message DevforgetchannelRequest {
bytes id = 1;
optional string short_channel_id = 2;
optional bytes channel_id = 3;
optional bool force = 4;
}
message DevforgetchannelResponse {
bool forced = 1;
bool funding_unspent = 2;
bytes funding_txid = 3;
}
message EmergencyrecoverRequest {
}
message EmergencyrecoverResponse {
repeated bytes stubs = 1;
}
message RecoverRequest {
string hsmsecret = 1;
}
message RecoverResponse {
// Recover.result
enum RecoverResult {
RECOVERY_RESTART_IN_PROGRESS = 0;
}
optional RecoverResult result = 1;
}
message RecoverchannelRequest {
repeated bytes scb = 1;
}
message RecoverchannelResponse {
repeated string stubs = 1;
}
message InvoiceRequest {
string description = 2;
string label = 3;
repeated string fallbacks = 4;
optional bytes preimage = 5;
optional uint32 cltv = 6;
optional uint64 expiry = 7;
repeated string exposeprivatechannels = 8;
optional bool deschashonly = 9;
AmountOrAny amount_msat = 10;
}
message InvoiceResponse {
string bolt11 = 1;
bytes payment_hash = 2;
bytes payment_secret = 3;
uint64 expires_at = 4;
optional string warning_capacity = 5;
optional string warning_offline = 6;
optional string warning_deadends = 7;
optional string warning_private_unused = 8;
optional string warning_mpp = 9;
optional uint64 created_index = 10;
}
message InvoicerequestRequest {
Amount amount = 1;
string description = 2;
optional string issuer = 3;
optional string label = 4;
optional uint64 absolute_expiry = 5;
optional bool single_use = 6;
}
message InvoicerequestResponse {
bytes invreq_id = 1;
bool active = 2;
bool single_use = 3;
string bolt12 = 4;
bool used = 5;
optional string label = 6;
}
message DisableinvoicerequestRequest {
string invreq_id = 1;
}
message DisableinvoicerequestResponse {
bytes invreq_id = 1;
bool active = 2;
bool single_use = 3;
string bolt12 = 4;
bool used = 5;
optional string label = 6;
}
message ListinvoicerequestsRequest {
optional string invreq_id = 1;
optional bool active_only = 2;
}
message ListinvoicerequestsResponse {
repeated ListinvoicerequestsInvoicerequests invoicerequests = 1;
}
message ListinvoicerequestsInvoicerequests {
bytes invreq_id = 1;
bool active = 2;
bool single_use = 3;
string bolt12 = 4;
bool used = 5;
optional string label = 6;
}
message ListdatastoreRequest {
repeated string key = 2;
}
message ListdatastoreResponse {
repeated ListdatastoreDatastore datastore = 1;
}
message ListdatastoreDatastore {
repeated string key = 1;
optional uint64 generation = 2;
optional bytes hex = 3;
optional string string = 4;
}
message ListinvoicesRequest {
// ListInvoices.index
enum ListinvoicesIndex {
CREATED = 0;
UPDATED = 1;
}
optional string label = 1;
optional string invstring = 2;
optional bytes payment_hash = 3;
optional string offer_id = 4;
optional ListinvoicesIndex index = 5;
optional uint64 start = 6;
optional uint32 limit = 7;
}
message ListinvoicesResponse {
repeated ListinvoicesInvoices invoices = 1;
}
message ListinvoicesInvoices {
// ListInvoices.invoices[].status
enum ListinvoicesInvoicesStatus {
UNPAID = 0;
PAID = 1;
EXPIRED = 2;
}
string label = 1;
optional string description = 2;
bytes payment_hash = 3;
ListinvoicesInvoicesStatus status = 4;
uint64 expires_at = 5;
optional Amount amount_msat = 6;
optional string bolt11 = 7;
optional string bolt12 = 8;
optional bytes local_offer_id = 9;
optional uint64 pay_index = 11;
optional Amount amount_received_msat = 12;
optional uint64 paid_at = 13;
optional bytes payment_preimage = 14;
optional string invreq_payer_note = 15;
optional uint64 created_index = 16;
optional uint64 updated_index = 17;
optional ListinvoicesInvoicesPaid_outpoint paid_outpoint = 18;
}
message ListinvoicesInvoicesPaid_outpoint {
bytes txid = 1;
uint32 outnum = 2;
}
message SendonionRequest {
bytes onion = 1;
SendonionFirst_hop first_hop = 2;
bytes payment_hash = 3;
optional string label = 4;
repeated bytes shared_secrets = 5;
optional uint32 partid = 6;
optional string bolt11 = 7;
optional bytes destination = 9;
optional uint64 groupid = 11;
optional Amount amount_msat = 12;
optional bytes localinvreqid = 13;
optional string description = 14;
}
message SendonionResponse {
// SendOnion.status
enum SendonionStatus {
PENDING = 0;
COMPLETE = 1;
}
uint64 id = 1;
bytes payment_hash = 2;
SendonionStatus status = 3;
optional Amount amount_msat = 4;
optional bytes destination = 5;
uint64 created_at = 6;
Amount amount_sent_msat = 7;
optional string label = 8;
optional string bolt11 = 9;
optional string bolt12 = 10;
optional bytes payment_preimage = 11;
optional string message = 12;
optional uint64 partid = 13;
optional uint64 created_index = 14;
optional uint64 updated_index = 15;
}
message SendonionFirst_hop {
bytes id = 1;
Amount amount_msat = 2;
uint32 delay = 3;
}
message ListsendpaysRequest {
// ListSendPays.status
enum ListsendpaysStatus {
PENDING = 0;
COMPLETE = 1;
FAILED = 2;
}
// ListSendPays.index
enum ListsendpaysIndex {
CREATED = 0;
UPDATED = 1;
}
optional string bolt11 = 1;
optional bytes payment_hash = 2;
optional ListsendpaysStatus status = 3;
optional ListsendpaysIndex index = 4;
optional uint64 start = 5;
optional uint32 limit = 6;
}
message ListsendpaysResponse {
repeated ListsendpaysPayments payments = 1;
}
message ListsendpaysPayments {
// ListSendPays.payments[].status
enum ListsendpaysPaymentsStatus {
PENDING = 0;
FAILED = 1;
COMPLETE = 2;
}
uint64 id = 1;
uint64 groupid = 2;
bytes payment_hash = 3;
ListsendpaysPaymentsStatus status = 4;
optional Amount amount_msat = 5;
optional bytes destination = 6;
uint64 created_at = 7;
Amount amount_sent_msat = 8;
optional string label = 9;
optional string bolt11 = 10;
optional string bolt12 = 11;
optional bytes payment_preimage = 12;
optional bytes erroronion = 13;
optional string description = 14;
optional uint64 partid = 15;
optional uint64 created_index = 16;
optional uint64 updated_index = 17;
optional uint64 completed_at = 18;
}
message ListtransactionsRequest {
}
message ListtransactionsResponse {
repeated ListtransactionsTransactions transactions = 1;
}
message ListtransactionsTransactions {
bytes hash = 1;
bytes rawtx = 2;
uint32 blockheight = 3;
uint32 txindex = 4;
uint32 locktime = 7;
uint32 version = 8;
repeated ListtransactionsTransactionsInputs inputs = 9;
repeated ListtransactionsTransactionsOutputs outputs = 10;
}
message ListtransactionsTransactionsInputs {
bytes txid = 1;
uint32 index = 2;
uint32 sequence = 3;
}
message ListtransactionsTransactionsOutputs {
uint32 index = 1;
bytes scriptPubKey = 3;
Amount amount_msat = 6;
}
message MakesecretRequest {
optional bytes hex = 1;
optional string string = 2;
}
message MakesecretResponse {
bytes secret = 1;
}
message PayRequest {
string bolt11 = 1;
optional string label = 3;
optional double maxfeepercent = 4;
optional uint32 retry_for = 5;
optional uint32 maxdelay = 6;
optional Amount exemptfee = 7;
optional double riskfactor = 8;
repeated string exclude = 10;
optional Amount maxfee = 11;
optional string description = 12;
optional Amount amount_msat = 13;
optional bytes localinvreqid = 14;
optional Amount partial_msat = 15;
}
message PayResponse {
// Pay.status
enum PayStatus {
COMPLETE = 0;
PENDING = 1;
FAILED = 2;
}
bytes payment_preimage = 1;
optional bytes destination = 2;
bytes payment_hash = 3;
double created_at = 4;
uint32 parts = 5;
Amount amount_msat = 6;
Amount amount_sent_msat = 7;
optional string warning_partial_completion = 8;
PayStatus status = 9;
}
message ListnodesRequest {
optional bytes id = 1;
}
message ListnodesResponse {
repeated ListnodesNodes nodes = 1;
}
message ListnodesNodes {
bytes nodeid = 1;
optional uint32 last_timestamp = 2;
optional string alias = 3;
optional bytes color = 4;
optional bytes features = 5;
repeated ListnodesNodesAddresses addresses = 6;
optional ListnodesNodesOption_will_fund option_will_fund = 7;
}
message ListnodesNodesOption_will_fund {
Amount lease_fee_base_msat = 1;
uint32 lease_fee_basis = 2;
uint32 funding_weight = 3;
Amount channel_fee_max_base_msat = 4;
uint32 channel_fee_max_proportional_thousandths = 5;
bytes compact_lease = 6;
}
message ListnodesNodesAddresses {
// ListNodes.nodes[].addresses[].type
enum ListnodesNodesAddressesType {
DNS = 0;
IPV4 = 1;
IPV6 = 2;
TORV2 = 3;
TORV3 = 4;
}
ListnodesNodesAddressesType item_type = 1;
uint32 port = 2;
optional string address = 3;
}
message WaitanyinvoiceRequest {
optional uint64 lastpay_index = 1;
optional uint64 timeout = 2;
}
message WaitanyinvoiceResponse {
// WaitAnyInvoice.status
enum WaitanyinvoiceStatus {
PAID = 0;
EXPIRED = 1;
}
string label = 1;
optional string description = 2;
bytes payment_hash = 3;
WaitanyinvoiceStatus status = 4;
uint64 expires_at = 5;
optional Amount amount_msat = 6;
optional string bolt11 = 7;
optional string bolt12 = 8;
optional uint64 pay_index = 9;
optional Amount amount_received_msat = 10;
optional uint64 paid_at = 11;
optional bytes payment_preimage = 12;
optional uint64 created_index = 13;
optional uint64 updated_index = 14;
optional WaitanyinvoicePaid_outpoint paid_outpoint = 15;
}
message WaitanyinvoicePaid_outpoint {
bytes txid = 1;
uint32 outnum = 2;
}
message WaitinvoiceRequest {
string label = 1;
}
message WaitinvoiceResponse {
// WaitInvoice.status
enum WaitinvoiceStatus {
PAID = 0;
EXPIRED = 1;
}
string label = 1;
optional string description = 2;
bytes payment_hash = 3;
WaitinvoiceStatus status = 4;
uint64 expires_at = 5;
optional Amount amount_msat = 6;
optional string bolt11 = 7;
optional string bolt12 = 8;
optional uint64 pay_index = 9;
optional Amount amount_received_msat = 10;
optional uint64 paid_at = 11;
optional bytes payment_preimage = 12;
optional uint64 created_index = 13;
optional uint64 updated_index = 14;
optional WaitinvoicePaid_outpoint paid_outpoint = 15;
}
message WaitinvoicePaid_outpoint {
bytes txid = 1;
uint32 outnum = 2;
}
message WaitsendpayRequest {
bytes payment_hash = 1;
optional uint64 partid = 2;
optional uint32 timeout = 3;
optional uint64 groupid = 4;
}
message WaitsendpayResponse {
// WaitSendPay.status
enum WaitsendpayStatus {
COMPLETE = 0;
}
uint64 id = 1;
optional uint64 groupid = 2;
bytes payment_hash = 3;
WaitsendpayStatus status = 4;
optional Amount amount_msat = 5;
optional bytes destination = 6;
uint64 created_at = 7;
Amount amount_sent_msat = 8;
optional string label = 9;
optional uint64 partid = 10;
optional string bolt11 = 11;
optional string bolt12 = 12;
optional bytes payment_preimage = 13;
optional double completed_at = 14;
optional uint64 created_index = 15;
optional uint64 updated_index = 16;
}
message NewaddrRequest {
// NewAddr.addresstype
enum NewaddrAddresstype {
BECH32 = 0;
ALL = 2;
P2TR = 3;
}
optional NewaddrAddresstype addresstype = 1;
}
message NewaddrResponse {
optional string bech32 = 1;
optional string p2tr = 3;
}
message WithdrawRequest {
string destination = 1;
AmountOrAll satoshi = 2;
optional uint32 minconf = 3;
repeated Outpoint utxos = 4;
optional Feerate feerate = 5;
}
message WithdrawResponse {
bytes tx = 1;
bytes txid = 2;
string psbt = 3;
}
message KeysendRequest {
bytes destination = 1;
optional string label = 3;
optional double maxfeepercent = 4;
optional uint32 retry_for = 5;
optional uint32 maxdelay = 6;
optional Amount exemptfee = 7;
optional RoutehintList routehints = 8;
optional TlvStream extratlvs = 9;
Amount amount_msat = 10;
}
message KeysendResponse {
// KeySend.status
enum KeysendStatus {
COMPLETE = 0;
}
bytes payment_preimage = 1;
optional bytes destination = 2;
bytes payment_hash = 3;
double created_at = 4;
uint32 parts = 5;
Amount amount_msat = 6;
Amount amount_sent_msat = 7;
optional string warning_partial_completion = 8;
KeysendStatus status = 9;
}
message FundpsbtRequest {
AmountOrAll satoshi = 1;
Feerate feerate = 2;
uint32 startweight = 3;
optional uint32 minconf = 4;
optional uint32 reserve = 5;
optional uint32 locktime = 6;
optional uint32 min_witness_weight = 7;
optional bool excess_as_change = 8;
optional bool nonwrapped = 9;
optional bool opening_anchor_channel = 10;
}
message FundpsbtResponse {
string psbt = 1;
uint32 feerate_per_kw = 2;
uint32 estimated_final_weight = 3;
Amount excess_msat = 4;
optional uint32 change_outnum = 5;
repeated FundpsbtReservations reservations = 6;
}
message FundpsbtReservations {
bytes txid = 1;
uint32 vout = 2;
bool was_reserved = 3;
bool reserved = 4;
uint32 reserved_to_block = 5;
}
message SendpsbtRequest {
string psbt = 1;
optional uint32 reserve = 2;
}
message SendpsbtResponse {
bytes tx = 1;
bytes txid = 2;
}
message SignpsbtRequest {
string psbt = 1;
repeated uint32 signonly = 2;
}
message SignpsbtResponse {
string signed_psbt = 1;
}
message UtxopsbtRequest {
AmountOrAll satoshi = 1;
Feerate feerate = 2;
uint32 startweight = 3;
repeated Outpoint utxos = 4;
optional uint32 reserve = 5;
optional uint32 locktime = 6;
optional uint32 min_witness_weight = 7;
optional bool reservedok = 8;
optional bool excess_as_change = 9;
optional bool opening_anchor_channel = 10;
}
message UtxopsbtResponse {
string psbt = 1;
uint32 feerate_per_kw = 2;
uint32 estimated_final_weight = 3;
Amount excess_msat = 4;
optional uint32 change_outnum = 5;
repeated UtxopsbtReservations reservations = 6;
}
message UtxopsbtReservations {
bytes txid = 1;
uint32 vout = 2;
bool was_reserved = 3;
bool reserved = 4;
uint32 reserved_to_block = 5;
}
message TxdiscardRequest {
bytes txid = 1;
}
message TxdiscardResponse {
bytes unsigned_tx = 1;
bytes txid = 2;
}
message TxprepareRequest {
optional Feerate feerate = 2;
optional uint32 minconf = 3;
repeated Outpoint utxos = 4;
repeated OutputDesc outputs = 5;
}
message TxprepareResponse {
string psbt = 1;
bytes unsigned_tx = 2;
bytes txid = 3;
}
message TxsendRequest {
bytes txid = 1;
}
message TxsendResponse {
string psbt = 1;
bytes tx = 2;
bytes txid = 3;
}
message ListpeerchannelsRequest {
optional bytes id = 1;
}
message ListpeerchannelsResponse {
repeated ListpeerchannelsChannels channels = 1;
}
message ListpeerchannelsChannels {
// ListPeerChannels.channels[].state
enum ListpeerchannelsChannelsState {
OPENINGD = 0;
CHANNELD_AWAITING_LOCKIN = 1;
CHANNELD_NORMAL = 2;
CHANNELD_SHUTTING_DOWN = 3;
CLOSINGD_SIGEXCHANGE = 4;
CLOSINGD_COMPLETE = 5;
AWAITING_UNILATERAL = 6;
FUNDING_SPEND_SEEN = 7;
ONCHAIN = 8;
DUALOPEND_OPEN_INIT = 9;
DUALOPEND_AWAITING_LOCKIN = 10;
CHANNELD_AWAITING_SPLICE = 11;
DUALOPEND_OPEN_COMMITTED = 12;
DUALOPEND_OPEN_COMMIT_READY = 13;
}
bytes peer_id = 1;
bool peer_connected = 2;
ListpeerchannelsChannelsState state = 3;
optional bytes scratch_txid = 4;
optional ListpeerchannelsChannelsFeerate feerate = 6;
optional string owner = 7;
optional string short_channel_id = 8;
optional bytes channel_id = 9;
optional bytes funding_txid = 10;
optional uint32 funding_outnum = 11;
optional string initial_feerate = 12;
optional string last_feerate = 13;
optional string next_feerate = 14;
optional uint32 next_fee_step = 15;
repeated ListpeerchannelsChannelsInflight inflight = 16;
optional bytes close_to = 17;
optional bool private = 18;
ChannelSide opener = 19;
optional ChannelSide closer = 20;
optional ListpeerchannelsChannelsFunding funding = 22;
optional Amount to_us_msat = 23;
optional Amount min_to_us_msat = 24;
optional Amount max_to_us_msat = 25;
optional Amount total_msat = 26;
optional Amount fee_base_msat = 27;
optional uint32 fee_proportional_millionths = 28;
optional Amount dust_limit_msat = 29;
optional Amount max_total_htlc_in_msat = 30;
optional Amount their_reserve_msat = 31;
optional Amount our_reserve_msat = 32;
optional Amount spendable_msat = 33;
optional Amount receivable_msat = 34;
optional Amount minimum_htlc_in_msat = 35;
optional Amount minimum_htlc_out_msat = 36;
optional Amount maximum_htlc_out_msat = 37;
optional uint32 their_to_self_delay = 38;
optional uint32 our_to_self_delay = 39;
optional uint32 max_accepted_htlcs = 40;
optional ListpeerchannelsChannelsAlias alias = 41;
repeated string status = 43;
optional uint64 in_payments_offered = 44;
optional Amount in_offered_msat = 45;
optional uint64 in_payments_fulfilled = 46;
optional Amount in_fulfilled_msat = 47;
optional uint64 out_payments_offered = 48;
optional Amount out_offered_msat = 49;
optional uint64 out_payments_fulfilled = 50;
optional Amount out_fulfilled_msat = 51;
repeated ListpeerchannelsChannelsHtlcs htlcs = 52;
optional string close_to_addr = 53;
optional bool ignore_fee_limits = 54;
optional ListpeerchannelsChannelsUpdates updates = 55;
optional uint64 last_stable_connection = 56;
optional bool lost_state = 57;
optional bool reestablished = 58;
optional Amount last_tx_fee_msat = 59;
optional uint32 direction = 60;
}
message ListpeerchannelsChannelsUpdates {
ListpeerchannelsChannelsUpdatesLocal local = 1;
optional ListpeerchannelsChannelsUpdatesRemote remote = 2;
}
message ListpeerchannelsChannelsUpdatesLocal {
Amount htlc_minimum_msat = 1;
Amount htlc_maximum_msat = 2;
uint32 cltv_expiry_delta = 3;
Amount fee_base_msat = 4;
uint32 fee_proportional_millionths = 5;
}
message ListpeerchannelsChannelsUpdatesRemote {
Amount htlc_minimum_msat = 1;
Amount htlc_maximum_msat = 2;
uint32 cltv_expiry_delta = 3;
Amount fee_base_msat = 4;
uint32 fee_proportional_millionths = 5;
}
message ListpeerchannelsChannelsFeerate {
uint32 perkw = 1;
uint32 perkb = 2;
}
message ListpeerchannelsChannelsInflight {
bytes funding_txid = 1;
uint32 funding_outnum = 2;
string feerate = 3;
Amount total_funding_msat = 4;
Amount our_funding_msat = 5;
optional bytes scratch_txid = 6;
optional sint64 splice_amount = 7;
}
message ListpeerchannelsChannelsFunding {
optional Amount pushed_msat = 1;
Amount local_funds_msat = 2;
Amount remote_funds_msat = 3;
optional Amount fee_paid_msat = 4;
optional Amount fee_rcvd_msat = 5;
}
message ListpeerchannelsChannelsAlias {
optional string local = 1;
optional string remote = 2;
}
message ListpeerchannelsChannelsHtlcs {
// ListPeerChannels.channels[].htlcs[].direction
enum ListpeerchannelsChannelsHtlcsDirection {
IN = 0;
OUT = 1;
}
ListpeerchannelsChannelsHtlcsDirection direction = 1;
uint64 id = 2;
Amount amount_msat = 3;
uint32 expiry = 4;
bytes payment_hash = 5;
optional bool local_trimmed = 6;
optional string status = 7;
HtlcState state = 8;
}
message ListclosedchannelsRequest {
optional bytes id = 1;
}
message ListclosedchannelsResponse {
repeated ListclosedchannelsClosedchannels closedchannels = 1;
}
message ListclosedchannelsClosedchannels {
// ListClosedChannels.closedchannels[].close_cause
enum ListclosedchannelsClosedchannelsClose_cause {
UNKNOWN = 0;
LOCAL = 1;
USER = 2;
REMOTE = 3;
PROTOCOL = 4;
ONCHAIN = 5;
}
optional bytes peer_id = 1;
bytes channel_id = 2;
optional string short_channel_id = 3;
optional ListclosedchannelsClosedchannelsAlias alias = 4;
ChannelSide opener = 5;
optional ChannelSide closer = 6;
bool private = 7;
uint64 total_local_commitments = 9;
uint64 total_remote_commitments = 10;
uint64 total_htlcs_sent = 11;
bytes funding_txid = 12;
uint32 funding_outnum = 13;
bool leased = 14;
optional Amount funding_fee_paid_msat = 15;
optional Amount funding_fee_rcvd_msat = 16;
optional Amount funding_pushed_msat = 17;
Amount total_msat = 18;
Amount final_to_us_msat = 19;
Amount min_to_us_msat = 20;
Amount max_to_us_msat = 21;
optional bytes last_commitment_txid = 22;
optional Amount last_commitment_fee_msat = 23;
ListclosedchannelsClosedchannelsClose_cause close_cause = 24;
optional uint64 last_stable_connection = 25;
}
message ListclosedchannelsClosedchannelsAlias {
optional string local = 1;
optional string remote = 2;
}
message DecodepayRequest {
string bolt11 = 1;
optional string description = 2;
}
message DecodepayResponse {
string currency = 1;
uint64 created_at = 2;
uint64 expiry = 3;
bytes payee = 4;
optional Amount amount_msat = 5;
bytes payment_hash = 6;
string signature = 7;
optional string description = 8;
optional bytes description_hash = 9;
uint32 min_final_cltv_expiry = 10;
optional bytes payment_secret = 11;
optional bytes features = 12;
optional bytes payment_metadata = 13;
repeated DecodepayFallbacks fallbacks = 14;
repeated DecodepayExtra extra = 16;
optional DecodeRoutehintList routes = 17;
}
message DecodepayFallbacks {
// DecodePay.fallbacks[].type
enum DecodepayFallbacksType {
P2PKH = 0;
P2SH = 1;
P2WPKH = 2;
P2WSH = 3;
P2TR = 4;
}
DecodepayFallbacksType item_type = 1;
optional string addr = 2;
bytes hex = 3;
}
message DecodepayExtra {
string tag = 1;
string data = 2;
}
message DecodeRequest {
string string = 1;
}
message DecodeResponse {
// Decode.type
enum DecodeType {
BOLT12_OFFER = 0;
BOLT12_INVOICE = 1;
BOLT12_INVOICE_REQUEST = 2;
BOLT11_INVOICE = 3;
RUNE = 4;
EMERGENCY_RECOVER = 5;
}
DecodeType item_type = 1;
bool valid = 2;
optional bytes offer_id = 3;
repeated bytes offer_chains = 4;
optional bytes offer_metadata = 5;
optional string offer_currency = 6;
optional string warning_unknown_offer_currency = 7;
optional uint32 currency_minor_unit = 8;
optional uint64 offer_amount = 9;
optional Amount offer_amount_msat = 10;
optional string offer_description = 11;
optional string offer_issuer = 12;
optional bytes offer_features = 13;
optional uint64 offer_absolute_expiry = 14;
optional uint64 offer_quantity_max = 15;
repeated DecodeOffer_paths offer_paths = 16;
optional bytes offer_node_id = 17;
optional string warning_missing_offer_node_id = 20;
optional string warning_invalid_offer_description = 21;
optional string warning_missing_offer_description = 22;
optional string warning_invalid_offer_currency = 23;
optional string warning_invalid_offer_issuer = 24;
optional bytes invreq_metadata = 25;
optional bytes invreq_payer_id = 26;
optional bytes invreq_chain = 27;
optional Amount invreq_amount_msat = 28;
optional bytes invreq_features = 29;
optional uint64 invreq_quantity = 30;
optional string invreq_payer_note = 31;
optional uint32 invreq_recurrence_counter = 32;
optional uint32 invreq_recurrence_start = 33;
optional string warning_missing_invreq_metadata = 35;
optional string warning_missing_invreq_payer_id = 36;
optional string warning_invalid_invreq_payer_note = 37;
optional string warning_missing_invoice_request_signature = 38;
optional string warning_invalid_invoice_request_signature = 39;
optional uint64 invoice_created_at = 41;
optional uint32 invoice_relative_expiry = 42;
optional bytes invoice_payment_hash = 43;
optional Amount invoice_amount_msat = 44;
repeated DecodeInvoice_fallbacks invoice_fallbacks = 45;
optional bytes invoice_features = 46;
optional bytes invoice_node_id = 47;
optional uint64 invoice_recurrence_basetime = 48;
optional string warning_missing_invoice_paths = 50;
optional string warning_missing_invoice_blindedpay = 51;
optional string warning_missing_invoice_created_at = 52;
optional string warning_missing_invoice_payment_hash = 53;
optional string warning_missing_invoice_amount = 54;
optional string warning_missing_invoice_recurrence_basetime = 55;
optional string warning_missing_invoice_node_id = 56;
optional string warning_missing_invoice_signature = 57;
optional string warning_invalid_invoice_signature = 58;
repeated DecodeFallbacks fallbacks = 59;
optional uint64 created_at = 60;
optional uint64 expiry = 61;
optional bytes payee = 62;
optional bytes payment_hash = 63;
optional bytes description_hash = 64;
optional uint32 min_final_cltv_expiry = 65;
optional bytes payment_secret = 66;
optional bytes payment_metadata = 67;
repeated DecodeExtra extra = 69;
optional string unique_id = 70;
optional string version = 71;
optional string string = 72;
repeated DecodeRestrictions restrictions = 73;
optional string warning_rune_invalid_utf8 = 74;
optional bytes hex = 75;
optional bytes decrypted = 76;
optional string signature = 77;
optional string currency = 78;
optional Amount amount_msat = 79;
optional string description = 80;
optional bytes features = 81;
optional DecodeRoutehintList routes = 82;
optional bytes offer_issuer_id = 83;
optional string warning_missing_offer_issuer_id = 84;
repeated DecodeInvreq_paths invreq_paths = 85;
optional string warning_empty_blinded_path = 86;
}
message DecodeOffer_paths {
optional bytes first_node_id = 1;
bytes blinding = 2;
optional uint32 first_scid_dir = 4;
optional string first_scid = 5;
}
message DecodeOffer_recurrencePaywindow {
uint32 seconds_before = 1;
uint32 seconds_after = 2;
optional bool proportional_amount = 3;
}
message DecodeInvreq_paths {
optional uint32 first_scid_dir = 1;
bytes blinding = 2;
optional bytes first_node_id = 3;
optional string first_scid = 4;
repeated DecodeInvreq_pathsPath path = 5;
}
message DecodeInvreq_pathsPath {
bytes blinded_node_id = 1;
bytes encrypted_recipient_data = 2;
}
message DecodeInvoice_pathsPath {
bytes blinded_node_id = 1;
bytes encrypted_recipient_data = 2;
}
message DecodeInvoice_fallbacks {
uint32 version = 1;
bytes hex = 2;
optional string address = 3;
}
message DecodeFallbacks {
// Decode.fallbacks[].type
enum DecodeFallbacksType {
P2PKH = 0;
P2SH = 1;
P2WPKH = 2;
P2WSH = 3;
P2TR = 4;
}
optional string warning_invoice_fallbacks_version_invalid = 1;
DecodeFallbacksType item_type = 2;
optional string addr = 3;
bytes hex = 4;
}
message DecodeExtra {
string tag = 1;
string data = 2;
}
message DecodeRestrictions {
repeated string alternatives = 1;
string summary = 2;
}
message DelpayRequest {
// DelPay.status
enum DelpayStatus {
COMPLETE = 0;
FAILED = 1;
}
bytes payment_hash = 1;
DelpayStatus status = 2;
optional uint64 partid = 3;
optional uint64 groupid = 4;
}
message DelpayResponse {
repeated DelpayPayments payments = 1;
}
message DelpayPayments {
// DelPay.payments[].status
enum DelpayPaymentsStatus {
PENDING = 0;
FAILED = 1;
COMPLETE = 2;
}
optional uint64 created_index = 1;
uint64 id = 2;
bytes payment_hash = 3;
DelpayPaymentsStatus status = 4;
Amount amount_sent_msat = 5;
optional uint64 partid = 6;
optional bytes destination = 7;
optional Amount amount_msat = 8;
uint64 created_at = 9;
optional uint64 updated_index = 10;
optional uint64 completed_at = 11;
optional uint64 groupid = 12;
optional bytes payment_preimage = 13;
optional string label = 14;
optional string bolt11 = 15;
optional string bolt12 = 16;
optional bytes erroronion = 17;
}
message DelforwardRequest {
// DelForward.status
enum DelforwardStatus {
SETTLED = 0;
LOCAL_FAILED = 1;
FAILED = 2;
}
string in_channel = 1;
uint64 in_htlc_id = 2;
DelforwardStatus status = 3;
}
message DelforwardResponse {
}
message DisableofferRequest {
bytes offer_id = 1;
}
message DisableofferResponse {
bytes offer_id = 1;
bool active = 2;
bool single_use = 3;
string bolt12 = 4;
bool used = 5;
optional string label = 6;
}
message DisconnectRequest {
bytes id = 1;
optional bool force = 2;
}
message DisconnectResponse {
}
message FeeratesRequest {
// Feerates.style
enum FeeratesStyle {
PERKB = 0;
PERKW = 1;
}
FeeratesStyle style = 1;
}
message FeeratesResponse {
optional string warning_missing_feerates = 1;
optional FeeratesPerkb perkb = 2;
optional FeeratesPerkw perkw = 3;
optional FeeratesOnchain_fee_estimates onchain_fee_estimates = 4;
}
message FeeratesPerkb {
uint32 min_acceptable = 1;
uint32 max_acceptable = 2;
optional uint32 opening = 3;
optional uint32 mutual_close = 4;
optional uint32 unilateral_close = 5;
optional uint32 delayed_to_us = 6;
optional uint32 htlc_resolution = 7;
optional uint32 penalty = 8;
repeated FeeratesPerkbEstimates estimates = 9;
optional uint32 floor = 10;
optional uint32 unilateral_anchor_close = 11;
}
message FeeratesPerkbEstimates {
uint32 blockcount = 1;
uint32 feerate = 2;
uint32 smoothed_feerate = 3;
}
message FeeratesPerkw {
uint32 min_acceptable = 1;
uint32 max_acceptable = 2;
optional uint32 opening = 3;
optional uint32 mutual_close = 4;
optional uint32 unilateral_close = 5;
optional uint32 delayed_to_us = 6;
optional uint32 htlc_resolution = 7;
optional uint32 penalty = 8;
repeated FeeratesPerkwEstimates estimates = 9;
optional uint32 floor = 10;
optional uint32 unilateral_anchor_close = 11;
}
message FeeratesPerkwEstimates {
uint32 blockcount = 1;
uint32 feerate = 2;
uint32 smoothed_feerate = 3;
}
message FeeratesOnchain_fee_estimates {
uint64 opening_channel_satoshis = 1;
uint64 mutual_close_satoshis = 2;
uint64 unilateral_close_satoshis = 3;
uint64 htlc_timeout_satoshis = 4;
uint64 htlc_success_satoshis = 5;
optional uint64 unilateral_close_nonanchor_satoshis = 6;
}
message FetchinvoiceRequest {
string offer = 1;
optional Amount amount_msat = 2;
optional uint64 quantity = 3;
optional uint64 recurrence_counter = 4;
optional double recurrence_start = 5;
optional string recurrence_label = 6;
optional double timeout = 7;
optional string payer_note = 8;
}
message FetchinvoiceResponse {
string invoice = 1;
FetchinvoiceChanges changes = 2;
optional FetchinvoiceNext_period next_period = 3;
}
message FetchinvoiceChanges {
optional string description_appended = 1;
optional string description = 2;
optional string vendor_removed = 3;
optional string vendor = 4;
optional Amount amount_msat = 5;
}
message FetchinvoiceNext_period {
uint64 counter = 1;
uint64 starttime = 2;
uint64 endtime = 3;
uint64 paywindow_start = 4;
uint64 paywindow_end = 5;
}
message Fundchannel_cancelRequest {
bytes id = 1;
}
message Fundchannel_cancelResponse {
string cancelled = 1;
}
message Fundchannel_completeRequest {
bytes id = 1;
string psbt = 2;
}
message Fundchannel_completeResponse {
bytes channel_id = 1;
bool commitments_secured = 2;
}
message FundchannelRequest {
AmountOrAll amount = 1;
optional Feerate feerate = 2;
optional bool announce = 3;
optional Amount push_msat = 5;
optional string close_to = 6;
optional Amount request_amt = 7;
optional string compact_lease = 8;
bytes id = 9;
optional uint32 minconf = 10;
repeated Outpoint utxos = 11;
optional uint32 mindepth = 12;
optional Amount reserve = 13;
repeated uint32 channel_type = 14;
}
message FundchannelResponse {
bytes tx = 1;
bytes txid = 2;
uint32 outnum = 3;
bytes channel_id = 4;
optional bytes close_to = 5;
optional uint32 mindepth = 6;
optional FundchannelChannel_type channel_type = 7;
}
message FundchannelChannel_type {
repeated uint32 bits = 1;
repeated ChannelTypeName names = 2;
}
message Fundchannel_startRequest {
bytes id = 1;
Amount amount = 2;
optional Feerate feerate = 3;
optional bool announce = 4;
optional string close_to = 5;
optional Amount push_msat = 6;
optional uint32 mindepth = 7;
optional Amount reserve = 8;
repeated uint32 channel_type = 9;
}
message Fundchannel_startResponse {
string funding_address = 1;
bytes scriptpubkey = 2;
optional Fundchannel_startChannel_type channel_type = 3;
optional bytes close_to = 4;
string warning_usage = 5;
optional uint32 mindepth = 6;
}
message Fundchannel_startChannel_type {
repeated uint32 bits = 1;
repeated ChannelTypeName names = 2;
}
message GetlogRequest {
// GetLog.level
enum GetlogLevel {
BROKEN = 0;
UNUSUAL = 1;
INFO = 2;
DEBUG = 3;
IO = 4;
TRACE = 5;
}
optional GetlogLevel level = 1;
}
message GetlogResponse {
string created_at = 1;
uint32 bytes_used = 2;
uint32 bytes_max = 3;
repeated GetlogLog log = 4;
}
message GetlogLog {
// GetLog.log[].type
enum GetlogLogType {
SKIPPED = 0;
BROKEN = 1;
UNUSUAL = 2;
INFO = 3;
DEBUG = 4;
IO_IN = 5;
IO_OUT = 6;
TRACE = 7;
}
GetlogLogType item_type = 1;
optional uint32 num_skipped = 2;
optional string time = 3;
optional string source = 4;
optional string log = 5;
optional bytes node_id = 6;
optional bytes data = 7;
}
message FunderupdateRequest {
// FunderUpdate.policy
enum FunderupdatePolicy {
MATCH = 0;
AVAILABLE = 1;
FIXED = 2;
}
optional FunderupdatePolicy policy = 1;
optional Amount policy_mod = 2;
optional bool leases_only = 3;
optional Amount min_their_funding_msat = 4;
optional Amount max_their_funding_msat = 5;
optional Amount per_channel_min_msat = 6;
optional Amount per_channel_max_msat = 7;
optional Amount reserve_tank_msat = 8;
optional uint32 fuzz_percent = 9;
optional uint32 fund_probability = 10;
optional Amount lease_fee_base_msat = 11;
optional uint32 lease_fee_basis = 12;
optional uint32 funding_weight = 13;
optional Amount channel_fee_max_base_msat = 14;
optional uint32 channel_fee_max_proportional_thousandths = 15;
optional bytes compact_lease = 16;
}
message FunderupdateResponse {
// FunderUpdate.policy
enum FunderupdatePolicy {
MATCH = 0;
AVAILABLE = 1;
FIXED = 2;
}
string summary = 1;
FunderupdatePolicy policy = 2;
uint32 policy_mod = 3;
bool leases_only = 4;
Amount min_their_funding_msat = 5;
Amount max_their_funding_msat = 6;
Amount per_channel_min_msat = 7;
Amount per_channel_max_msat = 8;
Amount reserve_tank_msat = 9;
uint32 fuzz_percent = 10;
uint32 fund_probability = 11;
optional Amount lease_fee_base_msat = 12;
optional uint32 lease_fee_basis = 13;
optional uint32 funding_weight = 14;
optional Amount channel_fee_max_base_msat = 15;
optional uint32 channel_fee_max_proportional_thousandths = 16;
optional bytes compact_lease = 17;
}
message GetrouteRequest {
bytes id = 1;
uint64 riskfactor = 3;
optional uint32 cltv = 4;
optional bytes fromid = 5;
optional uint32 fuzzpercent = 6;
repeated string exclude = 7;
optional uint32 maxhops = 8;
Amount amount_msat = 9;
}
message GetrouteResponse {
repeated GetrouteRoute route = 1;
}
message GetrouteRoute {
// GetRoute.route[].style
enum GetrouteRouteStyle {
TLV = 0;
}
bytes id = 1;
string channel = 2;
uint32 direction = 3;
Amount amount_msat = 4;
uint32 delay = 5;
GetrouteRouteStyle style = 6;
}
message ListforwardsRequest {
// ListForwards.status
enum ListforwardsStatus {
OFFERED = 0;
SETTLED = 1;
LOCAL_FAILED = 2;
FAILED = 3;
}
// ListForwards.index
enum ListforwardsIndex {
CREATED = 0;
UPDATED = 1;
}
optional ListforwardsStatus status = 1;
optional string in_channel = 2;
optional string out_channel = 3;
optional ListforwardsIndex index = 4;
optional uint64 start = 5;
optional uint32 limit = 6;
}
message ListforwardsResponse {
repeated ListforwardsForwards forwards = 1;
}
message ListforwardsForwards {
// ListForwards.forwards[].status
enum ListforwardsForwardsStatus {
OFFERED = 0;
SETTLED = 1;
LOCAL_FAILED = 2;
FAILED = 3;
}
// ListForwards.forwards[].style
enum ListforwardsForwardsStyle {
LEGACY = 0;
TLV = 1;
}
string in_channel = 1;
Amount in_msat = 2;
ListforwardsForwardsStatus status = 3;
double received_time = 4;
optional string out_channel = 5;
optional Amount fee_msat = 7;
optional Amount out_msat = 8;
optional ListforwardsForwardsStyle style = 9;
optional uint64 in_htlc_id = 10;
optional uint64 out_htlc_id = 11;
optional uint64 created_index = 12;
optional uint64 updated_index = 13;
optional double resolved_time = 14;
optional uint32 failcode = 15;
optional string failreason = 16;
}
message ListoffersRequest {
optional bytes offer_id = 1;
optional bool active_only = 2;
}
message ListoffersResponse {
repeated ListoffersOffers offers = 1;
}
message ListoffersOffers {
bytes offer_id = 1;
bool active = 2;
bool single_use = 3;
string bolt12 = 4;
bool used = 5;
optional string label = 6;
}
message ListpaysRequest {
// ListPays.status
enum ListpaysStatus {
PENDING = 0;
COMPLETE = 1;
FAILED = 2;
}
optional string bolt11 = 1;
optional bytes payment_hash = 2;
optional ListpaysStatus status = 3;
}
message ListpaysResponse {
repeated ListpaysPays pays = 1;
}
message ListpaysPays {
// ListPays.pays[].status
enum ListpaysPaysStatus {
PENDING = 0;
FAILED = 1;
COMPLETE = 2;
}
bytes payment_hash = 1;
ListpaysPaysStatus status = 2;
optional bytes destination = 3;
uint64 created_at = 4;
optional string label = 5;
optional string bolt11 = 6;
optional string bolt12 = 7;
optional Amount amount_msat = 8;
optional Amount amount_sent_msat = 9;
optional bytes erroronion = 10;
optional string description = 11;
optional uint64 completed_at = 12;
optional bytes preimage = 13;
optional uint64 number_of_parts = 14;
}
message ListhtlcsRequest {
optional string id = 1;
}
message ListhtlcsResponse {
repeated ListhtlcsHtlcs htlcs = 1;
}
message ListhtlcsHtlcs {
// ListHtlcs.htlcs[].direction
enum ListhtlcsHtlcsDirection {
OUT = 0;
IN = 1;
}
string short_channel_id = 1;
uint64 id = 2;
uint32 expiry = 3;
Amount amount_msat = 4;
ListhtlcsHtlcsDirection direction = 5;
bytes payment_hash = 6;
HtlcState state = 7;
}
message MultifundchannelRequest {
repeated MultifundchannelDestinations destinations = 1;
optional Feerate feerate = 2;
optional sint64 minconf = 3;
repeated Outpoint utxos = 4;
optional sint64 minchannels = 5;
optional Feerate commitment_feerate = 6;
}
message MultifundchannelResponse {
bytes tx = 1;
bytes txid = 2;
repeated MultifundchannelChannel_ids channel_ids = 3;
repeated MultifundchannelFailed failed = 4;
}
message MultifundchannelDestinations {
string id = 1;
AmountOrAll amount = 2;
optional bool announce = 3;
optional Amount push_msat = 4;
optional string close_to = 5;
optional Amount request_amt = 6;
optional string compact_lease = 7;
optional uint32 mindepth = 8;
optional Amount reserve = 9;
}
message MultifundchannelChannel_ids {
bytes id = 1;
uint32 outnum = 2;
bytes channel_id = 3;
optional MultifundchannelChannel_idsChannel_type channel_type = 4;
optional bytes close_to = 5;
}
message MultifundchannelChannel_idsChannel_type {
repeated uint32 bits = 1;
repeated ChannelTypeName names = 2;
}
message MultifundchannelFailed {
// MultiFundChannel.failed[].method
enum MultifundchannelFailedMethod {
CONNECT = 0;
OPENCHANNEL_INIT = 1;
FUNDCHANNEL_START = 2;
FUNDCHANNEL_COMPLETE = 3;
}
bytes id = 1;
MultifundchannelFailedMethod method = 2;
MultifundchannelFailedError error = 3;
}
message MultifundchannelFailedError {
sint64 code = 1;
string message = 2;
}
message MultiwithdrawRequest {
repeated OutputDesc outputs = 1;
optional Feerate feerate = 2;
optional uint32 minconf = 3;
repeated Outpoint utxos = 4;
}
message MultiwithdrawResponse {
bytes tx = 1;
bytes txid = 2;
}
message OfferRequest {
string amount = 1;
optional string description = 2;
optional string issuer = 3;
optional string label = 4;
optional uint64 quantity_max = 5;
optional uint64 absolute_expiry = 6;
optional string recurrence = 7;
optional string recurrence_base = 8;
optional string recurrence_paywindow = 9;
optional uint32 recurrence_limit = 10;
optional bool single_use = 11;
optional bool recurrence_start_any_period = 12;
}
message OfferResponse {
bytes offer_id = 1;
bool active = 2;
bool single_use = 3;
string bolt12 = 4;
bool used = 5;
bool created = 6;
optional string label = 7;
}
message Openchannel_abortRequest {
bytes channel_id = 1;
}
message Openchannel_abortResponse {
bytes channel_id = 1;
bool channel_canceled = 2;
string reason = 3;
}
message Openchannel_bumpRequest {
bytes channel_id = 1;
string initialpsbt = 2;
optional Feerate funding_feerate = 3;
Amount amount = 4;
}
message Openchannel_bumpResponse {
bytes channel_id = 1;
optional Openchannel_bumpChannel_type channel_type = 2;
string psbt = 3;
bool commitments_secured = 4;
uint64 funding_serial = 5;
optional bool requires_confirmed_inputs = 6;
}
message Openchannel_bumpChannel_type {
repeated uint32 bits = 1;
repeated ChannelTypeName names = 2;
}
message Openchannel_initRequest {
bytes id = 1;
string initialpsbt = 2;
optional Feerate commitment_feerate = 3;
optional Feerate funding_feerate = 4;
optional bool announce = 5;
optional string close_to = 6;
optional Amount request_amt = 7;
optional bytes compact_lease = 8;
repeated uint32 channel_type = 9;
Amount amount = 10;
}
message Openchannel_initResponse {
bytes channel_id = 1;
string psbt = 2;
optional Openchannel_initChannel_type channel_type = 3;
bool commitments_secured = 4;
uint64 funding_serial = 5;
optional bool requires_confirmed_inputs = 6;
}
message Openchannel_initChannel_type {
repeated uint32 bits = 1;
repeated ChannelTypeName names = 2;
}
message Openchannel_signedRequest {
bytes channel_id = 1;
string signed_psbt = 2;
}
message Openchannel_signedResponse {
bytes channel_id = 1;
bytes tx = 2;
bytes txid = 3;
}
message Openchannel_updateRequest {
bytes channel_id = 1;
string psbt = 2;
}
message Openchannel_updateResponse {
bytes channel_id = 1;
optional Openchannel_updateChannel_type channel_type = 2;
string psbt = 3;
bool commitments_secured = 4;
uint32 funding_outnum = 5;
optional bytes close_to = 6;
optional bool requires_confirmed_inputs = 7;
}
message Openchannel_updateChannel_type {
repeated uint32 bits = 1;
repeated ChannelTypeName names = 2;
}
message PingRequest {
bytes id = 1;
optional uint32 len = 2;
optional uint32 pongbytes = 3;
}
message PingResponse {
uint32 totlen = 1;
}
message PluginRequest {
PluginSubcommand subcommand = 1;
optional string plugin = 2;
optional string directory = 3;
repeated string options = 4;
}
message PluginResponse {
PluginSubcommand command = 1;
repeated PluginPlugins plugins = 2;
optional string result = 3;
}
message PluginPlugins {
string name = 1;
bool active = 2;
bool dynamic = 3;
}
message RenepaystatusRequest {
optional string invstring = 1;
}
message RenepaystatusResponse {
repeated RenepaystatusPaystatus paystatus = 1;
}
message RenepaystatusPaystatus {
// RenePayStatus.paystatus[].status
enum RenepaystatusPaystatusStatus {
COMPLETE = 0;
PENDING = 1;
FAILED = 2;
}
string bolt11 = 1;
optional bytes payment_preimage = 2;
bytes payment_hash = 3;
double created_at = 4;
uint32 groupid = 5;
optional uint32 parts = 6;
Amount amount_msat = 7;
optional Amount amount_sent_msat = 8;
RenepaystatusPaystatusStatus status = 9;
optional bytes destination = 10;
repeated string notes = 11;
}
message RenepayRequest {
string invstring = 1;
optional Amount amount_msat = 2;
optional Amount maxfee = 3;
optional uint32 maxdelay = 4;
optional uint32 retry_for = 5;
optional string description = 6;
optional string label = 7;
optional bool dev_use_shadow = 8;
repeated string exclude = 9;
}
message RenepayResponse {
// RenePay.status
enum RenepayStatus {
COMPLETE = 0;
PENDING = 1;
FAILED = 2;
}
bytes payment_preimage = 1;
bytes payment_hash = 2;
double created_at = 3;
uint32 parts = 4;
Amount amount_msat = 5;
Amount amount_sent_msat = 6;
RenepayStatus status = 7;
optional bytes destination = 8;
}
message ReserveinputsRequest {
string psbt = 1;
optional bool exclusive = 2;
optional uint32 reserve = 3;
}
message ReserveinputsResponse {
repeated ReserveinputsReservations reservations = 1;
}
message ReserveinputsReservations {
bytes txid = 1;
uint32 vout = 2;
bool was_reserved = 3;
bool reserved = 4;
uint32 reserved_to_block = 5;
}
message SendcustommsgRequest {
bytes node_id = 1;
bytes msg = 2;
}
message SendcustommsgResponse {
string status = 1;
}
message SendinvoiceRequest {
string invreq = 1;
string label = 2;
optional Amount amount_msat = 3;
optional uint32 timeout = 4;
optional uint64 quantity = 5;
}
message SendinvoiceResponse {
// SendInvoice.status
enum SendinvoiceStatus {
UNPAID = 0;
PAID = 1;
EXPIRED = 2;
}
string label = 1;
string description = 2;
bytes payment_hash = 3;
SendinvoiceStatus status = 4;
uint64 expires_at = 5;
optional Amount amount_msat = 6;
optional string bolt12 = 7;
optional uint64 created_index = 8;
optional uint64 updated_index = 9;
optional uint64 pay_index = 10;
optional Amount amount_received_msat = 11;
optional uint64 paid_at = 12;
optional bytes payment_preimage = 13;
}
message SetchannelRequest {
string id = 1;
optional Amount feebase = 2;
optional uint32 feeppm = 3;
optional Amount htlcmin = 4;
optional Amount htlcmax = 5;
optional uint32 enforcedelay = 6;
optional bool ignorefeelimits = 7;
}
message SetchannelResponse {
repeated SetchannelChannels channels = 1;
}
message SetchannelChannels {
bytes peer_id = 1;
bytes channel_id = 2;
optional string short_channel_id = 3;
Amount fee_base_msat = 4;
uint32 fee_proportional_millionths = 5;
Amount minimum_htlc_out_msat = 6;
optional string warning_htlcmin_too_low = 7;
Amount maximum_htlc_out_msat = 8;
optional string warning_htlcmax_too_high = 9;
optional bool ignore_fee_limits = 10;
}
message SetconfigRequest {
string config = 1;
optional string val = 2;
}
message SetconfigResponse {
SetconfigConfig config = 1;
}
message SetconfigConfig {
string config = 1;
string source = 2;
optional string plugin = 3;
bool dynamic = 4;
optional bool set = 5;
optional string value_str = 6;
optional Amount value_msat = 7;
optional sint64 value_int = 8;
optional bool value_bool = 9;
}
message SetpsbtversionRequest {
string psbt = 1;
uint32 version = 2;
}
message SetpsbtversionResponse {
string psbt = 1;
}
message SigninvoiceRequest {
string invstring = 1;
}
message SigninvoiceResponse {
string bolt11 = 1;
}
message SignmessageRequest {
string message = 1;
}
message SignmessageResponse {
bytes signature = 1;
bytes recid = 2;
string zbase = 3;
}
message Splice_initRequest {
bytes channel_id = 1;
sint64 relative_amount = 2;
optional string initialpsbt = 3;
optional uint32 feerate_per_kw = 4;
optional bool force_feerate = 5;
}
message Splice_initResponse {
string psbt = 1;
}
message Splice_signedRequest {
bytes channel_id = 1;
string psbt = 2;
optional bool sign_first = 3;
}
message Splice_signedResponse {
bytes tx = 1;
bytes txid = 2;
optional uint32 outnum = 3;
}
message Splice_updateRequest {
bytes channel_id = 1;
string psbt = 2;
}
message Splice_updateResponse {
string psbt = 1;
bool commitments_secured = 2;
}
message UnreserveinputsRequest {
string psbt = 1;
optional uint32 reserve = 2;
}
message UnreserveinputsResponse {
repeated UnreserveinputsReservations reservations = 1;
}
message UnreserveinputsReservations {
bytes txid = 1;
uint32 vout = 2;
bool was_reserved = 3;
bool reserved = 4;
optional uint32 reserved_to_block = 5;
}
message UpgradewalletRequest {
optional Feerate feerate = 1;
optional bool reservedok = 2;
}
message UpgradewalletResponse {
optional uint64 upgraded_outs = 1;
optional string psbt = 2;
optional bytes tx = 3;
optional bytes txid = 4;
}
message WaitblockheightRequest {
uint32 blockheight = 1;
optional uint32 timeout = 2;
}
message WaitblockheightResponse {
uint32 blockheight = 1;
}
message WaitRequest {
// Wait.subsystem
enum WaitSubsystem {
INVOICES = 0;
FORWARDS = 1;
SENDPAYS = 2;
}
// Wait.indexname
enum WaitIndexname {
CREATED = 0;
UPDATED = 1;
DELETED = 2;
}
WaitSubsystem subsystem = 1;
WaitIndexname indexname = 2;
uint64 nextvalue = 3;
}
message WaitResponse {
// Wait.subsystem
enum WaitSubsystem {
INVOICES = 0;
FORWARDS = 1;
SENDPAYS = 2;
}
WaitSubsystem subsystem = 1;
optional uint64 created = 2;
optional uint64 updated = 3;
optional uint64 deleted = 4;
optional WaitDetails details = 5;
}
message WaitDetails {
// Wait.details.status
enum WaitDetailsStatus {
UNPAID = 0;
PAID = 1;
EXPIRED = 2;
PENDING = 3;
FAILED = 4;
COMPLETE = 5;
OFFERED = 6;
SETTLED = 7;
LOCAL_FAILED = 8;
}
optional WaitDetailsStatus status = 1;
optional string label = 2;
optional string description = 3;
optional string bolt11 = 4;
optional string bolt12 = 5;
optional uint64 partid = 6;
optional uint64 groupid = 7;
optional bytes payment_hash = 8;
optional string in_channel = 9;
optional uint64 in_htlc_id = 10;
optional Amount in_msat = 11;
optional string out_channel = 12;
}
message ListconfigsRequest {
optional string config = 1;
}
message ListconfigsResponse {
optional ListconfigsConfigs configs = 1;
repeated ListconfigsPlugins plugins = 3;
repeated ListconfigsImportantplugins important_plugins = 4;
optional string conf = 5;
optional string lightning_dir = 6;
optional string network = 7;
optional bool allow_deprecated_apis = 8;
optional string rpc_file = 9;
repeated string disable_plugin = 10;
optional string bookkeeper_dir = 11;
optional string bookkeeper_db = 12;
optional bool always_use_proxy = 13;
optional bool daemon = 14;
optional string wallet = 15;
optional bool large_channels = 16;
optional bool experimental_dual_fund = 17;
optional bool experimental_splicing = 18;
optional bool experimental_onion_messages = 19;
optional bool experimental_offers = 20;
optional bool experimental_shutdown_wrong_funding = 21;
optional bool experimental_peer_storage = 22;
optional bool experimental_quiesce = 23;
optional bool experimental_upgrade_protocol = 24;
optional bool invoices_onchain_fallback = 25;
optional bool database_upgrade = 26;
optional bytes rgb = 27;
optional string alias = 28;
optional string pid_file = 29;
optional bool ignore_fee_limits = 30;
optional uint32 watchtime_blocks = 31;
optional uint32 max_locktime_blocks = 32;
optional uint32 funding_confirms = 33;
optional uint32 cltv_delta = 34;
optional uint32 cltv_final = 35;
optional uint32 commit_time = 36;
optional uint32 fee_base = 37;
optional sint64 rescan = 38;
optional uint32 fee_per_satoshi = 39;
optional uint32 max_concurrent_htlcs = 40;
optional Amount htlc_minimum_msat = 41;
optional Amount htlc_maximum_msat = 42;
optional Amount max_dust_htlc_exposure_msat = 43;
optional uint64 min_capacity_sat = 44;
optional string addr = 45;
optional string announce_addr = 46;
optional string bind_addr = 47;
optional bool offline = 48;
optional bool autolisten = 49;
optional string proxy = 50;
optional bool disable_dns = 51;
optional string announce_addr_discovered = 52;
optional sint64 announce_addr_discovered_port = 53;
optional bool encrypted_hsm = 54;
optional string rpc_file_mode = 55;
optional string log_level = 56;
optional string log_prefix = 57;
optional string log_file = 58;
optional bool log_timestamps = 59;
optional string force_feerates = 60;
optional string subdaemon = 61;
optional bool fetchinvoice_noconnect = 62;
optional string accept_htlc_tlv_types = 63;
optional string tor_service_password = 64;
optional bool dev_allowdustreserve = 65;
optional bool announce_addr_dns = 66;
optional bool require_confirmed_inputs = 67;
optional bool developer = 68;
optional uint64 commit_fee = 69;
optional Amount min_emergency_msat = 70;
optional uint32 commit_feerate_offset = 71;
}
message ListconfigsConfigs {
optional ListconfigsConfigsConf conf = 1;
optional ListconfigsConfigsDeveloper developer = 2;
optional ListconfigsConfigsClearplugins clear_plugins = 3;
optional ListconfigsConfigsDisablempp disable_mpp = 4;
optional ListconfigsConfigsMainnet mainnet = 5;
optional ListconfigsConfigsRegtest regtest = 6;
optional ListconfigsConfigsSignet signet = 7;
optional ListconfigsConfigsTestnet testnet = 8;
optional ListconfigsConfigsImportantplugin important_plugin = 9;
optional ListconfigsConfigsPlugin plugin = 10;
optional ListconfigsConfigsPlugindir plugin_dir = 11;
optional ListconfigsConfigsLightningdir lightning_dir = 12;
optional ListconfigsConfigsNetwork network = 13;
optional ListconfigsConfigsAllowdeprecatedapis allow_deprecated_apis = 14;
optional ListconfigsConfigsRpcfile rpc_file = 15;
optional ListconfigsConfigsDisableplugin disable_plugin = 16;
optional ListconfigsConfigsAlwaysuseproxy always_use_proxy = 17;
optional ListconfigsConfigsDaemon daemon = 18;
optional ListconfigsConfigsWallet wallet = 19;
optional ListconfigsConfigsLargechannels large_channels = 20;
optional ListconfigsConfigsExperimentaldualfund experimental_dual_fund = 21;
optional ListconfigsConfigsExperimentalsplicing experimental_splicing = 22;
optional ListconfigsConfigsExperimentalonionmessages experimental_onion_messages = 23;
optional ListconfigsConfigsExperimentaloffers experimental_offers = 24;
optional ListconfigsConfigsExperimentalshutdownwrongfunding experimental_shutdown_wrong_funding = 25;
optional ListconfigsConfigsExperimentalpeerstorage experimental_peer_storage = 26;
optional ListconfigsConfigsExperimentalanchors experimental_anchors = 27;
optional ListconfigsConfigsDatabaseupgrade database_upgrade = 28;
optional ListconfigsConfigsRgb rgb = 29;
optional ListconfigsConfigsAlias alias = 30;
optional ListconfigsConfigsPidfile pid_file = 31;
optional ListconfigsConfigsIgnorefeelimits ignore_fee_limits = 32;
optional ListconfigsConfigsWatchtimeblocks watchtime_blocks = 33;
optional ListconfigsConfigsMaxlocktimeblocks max_locktime_blocks = 34;
optional ListconfigsConfigsFundingconfirms funding_confirms = 35;
optional ListconfigsConfigsCltvdelta cltv_delta = 36;
optional ListconfigsConfigsCltvfinal cltv_final = 37;
optional ListconfigsConfigsCommittime commit_time = 38;
optional ListconfigsConfigsFeebase fee_base = 39;
optional ListconfigsConfigsRescan rescan = 40;
optional ListconfigsConfigsFeepersatoshi fee_per_satoshi = 41;
optional ListconfigsConfigsMaxconcurrenthtlcs max_concurrent_htlcs = 42;
optional ListconfigsConfigsHtlcminimummsat htlc_minimum_msat = 43;
optional ListconfigsConfigsHtlcmaximummsat htlc_maximum_msat = 44;
optional ListconfigsConfigsMaxdusthtlcexposuremsat max_dust_htlc_exposure_msat = 45;
optional ListconfigsConfigsMincapacitysat min_capacity_sat = 46;
optional ListconfigsConfigsAddr addr = 47;
optional ListconfigsConfigsAnnounceaddr announce_addr = 48;
optional ListconfigsConfigsBindaddr bind_addr = 49;
optional ListconfigsConfigsOffline offline = 50;
optional ListconfigsConfigsAutolisten autolisten = 51;
optional ListconfigsConfigsProxy proxy = 52;
optional ListconfigsConfigsDisabledns disable_dns = 53;
optional ListconfigsConfigsAnnounceaddrdiscovered announce_addr_discovered = 54;
optional ListconfigsConfigsAnnounceaddrdiscoveredport announce_addr_discovered_port = 55;
optional ListconfigsConfigsEncryptedhsm encrypted_hsm = 56;
optional ListconfigsConfigsRpcfilemode rpc_file_mode = 57;
optional ListconfigsConfigsLoglevel log_level = 58;
optional ListconfigsConfigsLogprefix log_prefix = 59;
optional ListconfigsConfigsLogfile log_file = 60;
optional ListconfigsConfigsLogtimestamps log_timestamps = 61;
optional ListconfigsConfigsForcefeerates force_feerates = 62;
optional ListconfigsConfigsSubdaemon subdaemon = 63;
optional ListconfigsConfigsFetchinvoicenoconnect fetchinvoice_noconnect = 64;
optional ListconfigsConfigsAccepthtlctlvtypes accept_htlc_tlv_types = 65;
optional ListconfigsConfigsTorservicepassword tor_service_password = 66;
optional ListconfigsConfigsAnnounceaddrdns announce_addr_dns = 67;
optional ListconfigsConfigsRequireconfirmedinputs require_confirmed_inputs = 68;
optional ListconfigsConfigsCommitfee commit_fee = 69;
optional ListconfigsConfigsCommitfeerateoffset commit_feerate_offset = 70;
}
message ListconfigsConfigsConf {
// ListConfigs.configs.conf.source
enum ListconfigsConfigsConfSource {
CMDLINE = 0;
}
string value_str = 1;
ListconfigsConfigsConfSource source = 2;
}
message ListconfigsConfigsDeveloper {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsClearplugins {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsDisablempp {
bool set = 1;
string source = 2;
optional string plugin = 3;
}
message ListconfigsConfigsMainnet {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsRegtest {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsSignet {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsTestnet {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsImportantplugin {
repeated string values_str = 1;
repeated string sources = 2;
}
message ListconfigsConfigsPlugin {
repeated string values_str = 1;
repeated string sources = 2;
}
message ListconfigsConfigsPlugindir {
repeated string values_str = 1;
repeated string sources = 2;
}
message ListconfigsConfigsLightningdir {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsNetwork {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsAllowdeprecatedapis {
bool value_bool = 1;
string source = 2;
}
message ListconfigsConfigsRpcfile {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsDisableplugin {
repeated string values_str = 1;
repeated string sources = 2;
}
message ListconfigsConfigsAlwaysuseproxy {
bool value_bool = 1;
string source = 2;
}
message ListconfigsConfigsDaemon {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsWallet {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsLargechannels {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsExperimentaldualfund {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsExperimentalsplicing {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsExperimentalonionmessages {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsExperimentaloffers {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsExperimentalshutdownwrongfunding {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsExperimentalpeerstorage {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsExperimentalanchors {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsDatabaseupgrade {
bool value_bool = 1;
string source = 2;
}
message ListconfigsConfigsRgb {
bytes value_str = 1;
string source = 2;
}
message ListconfigsConfigsAlias {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsPidfile {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsIgnorefeelimits {
bool value_bool = 1;
string source = 2;
}
message ListconfigsConfigsWatchtimeblocks {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsConfigsMaxlocktimeblocks {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsConfigsFundingconfirms {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsConfigsCltvdelta {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsConfigsCltvfinal {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsConfigsCommittime {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsConfigsFeebase {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsConfigsRescan {
sint64 value_int = 1;
string source = 2;
}
message ListconfigsConfigsFeepersatoshi {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsConfigsMaxconcurrenthtlcs {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsConfigsHtlcminimummsat {
Amount value_msat = 1;
string source = 2;
}
message ListconfigsConfigsHtlcmaximummsat {
Amount value_msat = 1;
string source = 2;
}
message ListconfigsConfigsMaxdusthtlcexposuremsat {
Amount value_msat = 1;
string source = 2;
}
message ListconfigsConfigsMincapacitysat {
uint64 value_int = 1;
string source = 2;
optional bool dynamic = 3;
}
message ListconfigsConfigsAddr {
repeated string values_str = 1;
repeated string sources = 2;
}
message ListconfigsConfigsAnnounceaddr {
repeated string values_str = 1;
repeated string sources = 2;
}
message ListconfigsConfigsBindaddr {
repeated string values_str = 1;
repeated string sources = 2;
}
message ListconfigsConfigsOffline {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsAutolisten {
bool value_bool = 1;
string source = 2;
}
message ListconfigsConfigsProxy {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsDisabledns {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsAnnounceaddrdiscovered {
// ListConfigs.configs.announce-addr-discovered.value_str
enum ListconfigsConfigsAnnounceaddrdiscoveredValue_str {
TRUE = 0;
FALSE = 1;
AUTO = 2;
}
ListconfigsConfigsAnnounceaddrdiscoveredValue_str value_str = 1;
string source = 2;
}
message ListconfigsConfigsAnnounceaddrdiscoveredport {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsConfigsEncryptedhsm {
bool set = 1;
string source = 2;
}
message ListconfigsConfigsRpcfilemode {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsLoglevel {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsLogprefix {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsLogfile {
repeated string values_str = 1;
repeated string sources = 2;
}
message ListconfigsConfigsLogtimestamps {
bool value_bool = 1;
string source = 2;
}
message ListconfigsConfigsForcefeerates {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsSubdaemon {
repeated string values_str = 1;
repeated string sources = 2;
}
message ListconfigsConfigsFetchinvoicenoconnect {
bool set = 1;
string source = 2;
optional string plugin = 3;
}
message ListconfigsConfigsAccepthtlctlvtypes {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsTorservicepassword {
string value_str = 1;
string source = 2;
}
message ListconfigsConfigsAnnounceaddrdns {
bool value_bool = 1;
string source = 2;
}
message ListconfigsConfigsRequireconfirmedinputs {
bool value_bool = 1;
string source = 2;
}
message ListconfigsConfigsCommitfee {
uint64 value_int = 1;
string source = 2;
}
message ListconfigsConfigsCommitfeerateoffset {
uint32 value_int = 1;
string source = 2;
}
message ListconfigsPlugins {
string path = 1;
string name = 2;
optional ListconfigsPluginsOptions options = 3;
}
message ListconfigsPluginsOptions {
}
message ListconfigsImportantplugins {
string path = 1;
string name = 2;
optional ListconfigsImportantpluginsOptions options = 3;
}
message ListconfigsImportantpluginsOptions {
}
message StopRequest {
}
message StopResponse {
// Stop.result
enum StopResult {
SHUTDOWN_COMPLETE = 0;
}
optional StopResult result = 1;
}
message HelpRequest {
optional string command = 1;
}
message HelpResponse {
// Help.format-hint
enum HelpFormathint {
SIMPLE = 0;
}
repeated HelpHelp help = 1;
optional HelpFormathint format_hint = 2;
}
message HelpHelp {
string command = 1;
}
message PreapprovekeysendRequest {
bytes destination = 1;
bytes payment_hash = 2;
Amount amount_msat = 3;
}
message PreapprovekeysendResponse {
}
message PreapproveinvoiceRequest {
string bolt11 = 1;
}
message PreapproveinvoiceResponse {
}
message StaticbackupRequest {
}
message StaticbackupResponse {
repeated bytes scb = 1;
}
message BkprchannelsapyRequest {
optional uint64 start_time = 1;
optional uint64 end_time = 2;
}
message BkprchannelsapyResponse {
repeated BkprchannelsapyChannels_apy channels_apy = 1;
}
message BkprchannelsapyChannels_apy {
string account = 1;
Amount routed_out_msat = 2;
Amount routed_in_msat = 3;
Amount lease_fee_paid_msat = 4;
Amount lease_fee_earned_msat = 5;
Amount pushed_out_msat = 6;
Amount pushed_in_msat = 7;
Amount our_start_balance_msat = 8;
Amount channel_start_balance_msat = 9;
Amount fees_out_msat = 10;
optional Amount fees_in_msat = 11;
string utilization_out = 12;
optional string utilization_out_initial = 13;
string utilization_in = 14;
optional string utilization_in_initial = 15;
string apy_out = 16;
optional string apy_out_initial = 17;
string apy_in = 18;
optional string apy_in_initial = 19;
string apy_total = 20;
optional string apy_total_initial = 21;
optional string apy_lease = 22;
}
message BkprdumpincomecsvRequest {
string csv_format = 1;
optional string csv_file = 2;
optional bool consolidate_fees = 3;
optional uint64 start_time = 4;
optional uint64 end_time = 5;
}
message BkprdumpincomecsvResponse {
// Bkpr-DumpIncomeCsv.csv_format
enum BkprdumpincomecsvCsv_format {
COINTRACKER = 0;
KOINLY = 1;
HARMONY = 2;
QUICKBOOKS = 3;
}
string csv_file = 1;
BkprdumpincomecsvCsv_format csv_format = 2;
}
message BkprinspectRequest {
string account = 1;
}
message BkprinspectResponse {
repeated BkprinspectTxs txs = 1;
}
message BkprinspectTxs {
bytes txid = 1;
optional uint32 blockheight = 2;
Amount fees_paid_msat = 3;
repeated BkprinspectTxsOutputs outputs = 4;
}
message BkprinspectTxsOutputs {
string account = 1;
uint32 outnum = 2;
Amount output_value_msat = 3;
string currency = 4;
optional Amount credit_msat = 5;
optional Amount debit_msat = 6;
optional string originating_account = 7;
optional string output_tag = 8;
optional string spend_tag = 9;
optional bytes spending_txid = 10;
optional bytes payment_id = 11;
}
message BkprlistaccounteventsRequest {
optional string account = 1;
optional string payment_id = 2;
}
message BkprlistaccounteventsResponse {
repeated BkprlistaccounteventsEvents events = 1;
}
message BkprlistaccounteventsEvents {
// Bkpr-ListAccountEvents.events[].type
enum BkprlistaccounteventsEventsType {
ONCHAIN_FEE = 0;
CHAIN = 1;
CHANNEL = 2;
}
string account = 1;
BkprlistaccounteventsEventsType item_type = 2;
string tag = 3;
Amount credit_msat = 4;
Amount debit_msat = 5;
string currency = 6;
uint32 timestamp = 7;
optional string outpoint = 8;
optional uint32 blockheight = 9;
optional string origin = 10;
optional bytes payment_id = 11;
optional bytes txid = 12;
optional string description = 13;
optional Amount fees_msat = 14;
optional bool is_rebalance = 15;
optional uint32 part_id = 16;
}
message BkprlistbalancesRequest {
}
message BkprlistbalancesResponse {
repeated BkprlistbalancesAccounts accounts = 1;
}
message BkprlistbalancesAccounts {
string account = 1;
repeated BkprlistbalancesAccountsBalances balances = 2;
optional bytes peer_id = 3;
optional bool we_opened = 4;
optional bool account_closed = 5;
optional bool account_resolved = 6;
optional uint32 resolved_at_block = 7;
}
message BkprlistbalancesAccountsBalances {
Amount balance_msat = 1;
string coin_type = 2;
}
message BkprlistincomeRequest {
optional bool consolidate_fees = 1;
optional uint32 start_time = 2;
optional uint32 end_time = 3;
}
message BkprlistincomeResponse {
repeated BkprlistincomeIncome_events income_events = 1;
}
message BkprlistincomeIncome_events {
string account = 1;
string tag = 2;
Amount credit_msat = 3;
Amount debit_msat = 4;
string currency = 5;
uint32 timestamp = 6;
optional string description = 7;
optional string outpoint = 8;
optional bytes txid = 9;
optional bytes payment_id = 10;
}
message BlacklistruneRequest {
optional uint64 start = 1;
optional uint64 end = 2;
}
message BlacklistruneResponse {
repeated BlacklistruneBlacklist blacklist = 1;
}
message BlacklistruneBlacklist {
uint64 start = 1;
uint64 end = 2;
}
message CheckruneRequest {
string rune = 1;
optional string nodeid = 2;
optional string method = 3;
repeated string params = 4;
}
message CheckruneResponse {
bool valid = 1;
}
message CreateruneRequest {
optional string rune = 1;
repeated string restrictions = 2;
}
message CreateruneResponse {
string rune = 1;
string unique_id = 2;
optional string warning_unrestricted_rune = 3;
}
message ShowrunesRequest {
optional string rune = 1;
}
message ShowrunesResponse {
repeated ShowrunesRunes runes = 1;
}
message ShowrunesRunes {
string rune = 1;
string unique_id = 2;
repeated ShowrunesRunesRestrictions restrictions = 3;
string restrictions_as_english = 4;
optional bool stored = 5;
optional bool blacklisted = 6;
optional double last_used = 7;
optional bool our_rune = 8;
}
message ShowrunesRunesRestrictions {
repeated ShowrunesRunesRestrictionsAlternatives alternatives = 1;
string english = 2;
}
message ShowrunesRunesRestrictionsAlternatives {
string fieldname = 1;
string value = 2;
string condition = 3;
string english = 4;
}
message StreamBlockAddedRequest {
}
message BlockAddedNotification {
bytes hash = 1;
uint32 height = 2;
}
message StreamChannelOpenFailedRequest {
}
message ChannelOpenFailedNotification {
bytes channel_id = 1;
}
message StreamChannelOpenedRequest {
}
message ChannelOpenedNotification {
bytes id = 1;
Amount funding_msat = 2;
bytes funding_txid = 3;
bool channel_ready = 4;
}
message StreamConnectRequest {
}
message PeerConnectNotification {
// connect.direction
enum PeerConnectDirection {
IN = 0;
OUT = 1;
}
bytes id = 1;
PeerConnectDirection direction = 2;
PeerConnectAddress address = 3;
}
message PeerConnectAddress {
// connect.address.type
enum PeerConnectAddressType {
LOCAL_SOCKET = 0;
IPV4 = 1;
IPV6 = 2;
TORV2 = 3;
TORV3 = 4;
}
PeerConnectAddressType item_type = 1;
optional string socket = 2;
optional string address = 3;
optional uint32 port = 4;
}
message StreamCustomMsgRequest {
}
message CustomMsgNotification {
bytes peer_id = 1;
bytes payload = 2;
}