core-lightning/cln-grpc/proto/node.proto
Rusty Russell 7b2c791dcf doc: fix up missing fields from schemas.
This allows the next patch (which makes the schemas stricter) to not
break our tests.

We add some missing fields (including dev fields, but they're empty and hidden),
and add a few minor clarifications and a spelling fix.  Most of these are new
schemas for this release, so no mention in Changelog.

Here is the difference in the man pages:

    --- doc/lightning-askrene-inform-channel.7.md.old	2024-10-29 17:33:07.714521584 +1030
    +++ doc/lightning-askrene-inform-channel.7.md	2024-10-29 17:42:37.434280109 +1030
    @@ -24,6 +24,8 @@
     - **short\_channel\_id\_dir** (short\_channel\_id\_dir): The short channel id and direction
    +- **layer** (string): The name of the layer to apply this change to.
    +- **timestamp** (u64): The UNIX timestamp when this constraint was created.
     - **maximum\_msat** (msat, optional): The maximum value which this channel could pass.
    --- doc/lightning-askrene-listlayers.7.md.old	2024-10-29 17:33:07.716521571 +1030
    +++ doc/lightning-askrene-listlayers.7.md	2024-10-29 17:42:37.424280316 +1030
    @@ -29,13 +29,16 @@
     - **channel\_updates** (array of objects):
    +  - **short\_channel\_id\_dir** (short\_channel\_id\_dir): The short channel id and direction this update applies to.
    +  - **enabled** (boolean, optional): True if this can be used, false otherwise.
       - **htlc\_minimum\_msat** (msat, optional): The minimum value allowed in this direction.
       - **htlc\_maximum\_msat** (msat, optional): The maximum value allowed in this direction.
       - **fee\_base\_msat** (msat, optional): The base fee to apply to use the channel in this direction.
       - **fee\_proportional\_millionths** (u32, optional): The proportional fee (in parts per million) to apply to use the channel in this direction.
    -  - **delay** (u16, optional): The CLTV delay required for this direction.
    +  - **cltv\_expiry\_delta** (u16, optional): The CLTV delay required for this direction.
     - **constraints** (array of objects):
       - **short\_channel\_id\_dir** (short\_channel\_id\_dir): The short channel id and direction
    +  - **timestamp** (u64, optional): The UNIX timestamp when this constraint was created.
       - **maximum\_msat** (msat, optional): The maximum value which this channel could pass.
    --- doc/lightning-askrene-listreservations.7.md.old	2024-10-29 17:33:07.719521550 +1030
    +++ doc/lightning-askrene-listreservations.7.md	2024-10-29 17:42:37.428280233 +1030
    @@ -16,7 +16,7 @@
    -On success, an object containing **layers** is returned. It is an array of objects, where each object contains:
    +On success, an object containing **reservations** is returned. It is an array of objects, where each object contains:
    --- doc/lightning-autoclean-status.7.md.old	2024-10-29 17:33:07.732521462 +1030
    +++ doc/lightning-autoclean-status.7.md	2024-10-29 17:42:37.441279965 +1030
    @@ -9,7 +9,7 @@
     
    -The **autoclean-status** RPC command tells you about the status of the autclean plugin, optionally for only one subsystem.
    +The **autoclean-status** RPC command tells you about the status of the autoclean plugin, optionally for only one subsystem.
     
    --- doc/lightning-renepay.7.md.old	2024-10-29 17:33:07.927520140 +1030
    +++ doc/lightning-renepay.7.md	2024-10-29 17:42:37.996268504 +1030
    @@ -58,6 +58,9 @@
     - **status** (string) (one of "complete", "pending", "failed"): Status of payment.
    +- **bolt11** (string, optional): The bolt11 invoice paid. *(added v23.08)*
    +- **bolt12** (string, optional): The bolt12 invoice paid. *(added v23.08)*
    +- **groupid** (u64, optional): The groupid used for these payment parts (as can be seen in listsendpays) *(added v23.08)*
     - **destination** (pubkey, optional): The final destination of the payment.
    --- doc/lightning-sendonion.7.md.old	2024-10-29 17:33:07.937520073 +1030
    +++ doc/lightning-sendonion.7.md	2024-10-29 17:42:37.957269309 +1030
    @@ -22,7 +22,7 @@
    -- **first\_hop** (object): Instructs Core Lightning which peer to send the onion to. It is a JSON dictionary that corresponds to the first element of the route array returned by *getroute*.:
    +- **first\_hop** (object): Instructs Core Lightning which peer to send the onion to. It is a JSON dictionary that corresponds to the first element of the route array returned by *getroute* (so fields not mentioned here are ignored).:
    
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: `renepay` return fields documented in schema (`bolt11`, `bolt12` and `groupid`)
2024-10-30 15:39:12 +10:30

3649 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;
optional Amount maxfee = 11;
}
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;
optional bytes blinding = 2;
optional uint32 first_scid_dir = 4;
optional string first_scid = 5;
optional bytes first_path_key = 6;
}
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;
optional bytes blinding = 2;
optional bytes first_node_id = 3;
optional string first_scid = 4;
repeated DecodeInvreq_pathsPath path = 5;
optional bytes first_path_key = 6;
}
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;
optional string bolt11 = 9;
optional string bolt12 = 10;
optional uint64 groupid = 11;
}
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;
}