rgb-cln/cln-grpc/proto/node.proto

2000 lines
49 KiB
Protocol Buffer

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 AutoCleanInvoice(AutocleaninvoiceRequest) returns (AutocleaninvoiceResponse) {}
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 DelExpiredInvoice(DelexpiredinvoiceRequest) returns (DelexpiredinvoiceResponse) {}
rpc DelInvoice(DelinvoiceRequest) returns (DelinvoiceResponse) {}
rpc Invoice(InvoiceRequest) returns (InvoiceResponse) {}
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 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 Disconnect(DisconnectRequest) returns (DisconnectResponse) {}
rpc Feerates(FeeratesRequest) returns (FeeratesResponse) {}
rpc FetchInvoice(FetchinvoiceRequest) returns (FetchinvoiceResponse) {}
rpc FundChannel(FundchannelRequest) returns (FundchannelResponse) {}
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 Offer(OfferRequest) returns (OfferResponse) {}
rpc Ping(PingRequest) returns (PingResponse) {}
rpc SendCustomMsg(SendcustommsgRequest) returns (SendcustommsgResponse) {}
rpc SetChannel(SetchannelRequest) returns (SetchannelResponse) {}
rpc SignInvoice(SigninvoiceRequest) returns (SigninvoiceResponse) {}
rpc SignMessage(SignmessageRequest) returns (SignmessageResponse) {}
rpc WaitBlockHeight(WaitblockheightRequest) returns (WaitblockheightResponse) {}
rpc Wait(WaitRequest) returns (WaitResponse) {}
rpc Stop(StopRequest) returns (StopResponse) {}
rpc PreApproveKeysend(PreapprovekeysendRequest) returns (PreapprovekeysendResponse) {}
rpc PreApproveInvoice(PreapproveinvoiceRequest) returns (PreapproveinvoiceResponse) {}
rpc StaticBackup(StaticbackupRequest) returns (StaticbackupResponse) {}
rpc BkprListIncome(BkprlistincomeRequest) returns (BkprlistincomeResponse) {}
}
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;
WEBSOCKET = 5;
IPV4 = 1;
IPV6 = 2;
TORV2 = 3;
TORV3 = 4;
}
GetinfoBindingType item_type = 1;
optional string address = 2;
optional uint32 port = 3;
optional string socket = 4;
}
message ListpeersRequest {
optional bytes id = 1;
optional string level = 2;
}
message ListpeersResponse {
repeated ListpeersPeers peers = 1;
}
message ListpeersPeers {
bytes id = 1;
bool connected = 2;
optional uint32 num_channels = 8;
repeated ListpeersPeersLog log = 3;
repeated ListpeersPeersChannels channels = 4;
repeated string netaddr = 5;
optional string remote_addr = 7;
optional bytes features = 6;
}
message ListpeersPeersLog {
// ListPeers.peers[].log[].type
enum ListpeersPeersLogType {
SKIPPED = 0;
BROKEN = 1;
UNUSUAL = 2;
INFO = 3;
DEBUG = 4;
IO_IN = 5;
IO_OUT = 6;
}
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 ListpeersPeersChannels {
// ListPeers.peers[].channels[].state
enum ListpeersPeersChannelsState {
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;
DUALOPEND_OPEN_COMMITTED = 11;
DUALOPEND_OPEN_COMMIT_READY = 12;
}
ListpeersPeersChannelsState state = 1;
optional bytes scratch_txid = 2;
optional ListpeersPeersChannelsFeerate feerate = 3;
optional string owner = 4;
optional string short_channel_id = 5;
optional bytes channel_id = 6;
optional bytes funding_txid = 7;
optional uint32 funding_outnum = 8;
optional string initial_feerate = 9;
optional string last_feerate = 10;
optional string next_feerate = 11;
optional uint32 next_fee_step = 12;
repeated ListpeersPeersChannelsInflight inflight = 13;
optional bytes close_to = 14;
optional bool private = 15;
ChannelSide opener = 16;
optional ChannelSide closer = 17;
repeated string features = 18;
optional ListpeersPeersChannelsFunding funding = 19;
optional Amount to_us_msat = 20;
optional Amount min_to_us_msat = 21;
optional Amount max_to_us_msat = 22;
optional Amount total_msat = 23;
optional Amount fee_base_msat = 24;
optional uint32 fee_proportional_millionths = 25;
optional Amount dust_limit_msat = 26;
optional Amount max_total_htlc_in_msat = 27;
optional Amount their_reserve_msat = 28;
optional Amount our_reserve_msat = 29;
optional Amount spendable_msat = 30;
optional Amount receivable_msat = 31;
optional Amount minimum_htlc_in_msat = 32;
optional Amount minimum_htlc_out_msat = 48;
optional Amount maximum_htlc_out_msat = 49;
optional uint32 their_to_self_delay = 33;
optional uint32 our_to_self_delay = 34;
optional uint32 max_accepted_htlcs = 35;
optional ListpeersPeersChannelsAlias alias = 50;
repeated string status = 37;
optional uint64 in_payments_offered = 38;
optional Amount in_offered_msat = 39;
optional uint64 in_payments_fulfilled = 40;
optional Amount in_fulfilled_msat = 41;
optional uint64 out_payments_offered = 42;
optional Amount out_offered_msat = 43;
optional uint64 out_payments_fulfilled = 44;
optional Amount out_fulfilled_msat = 45;
repeated ListpeersPeersChannelsHtlcs htlcs = 46;
optional string close_to_addr = 47;
}
message ListpeersPeersChannelsFeerate {
uint32 perkw = 1;
uint32 perkb = 2;
}
message ListpeersPeersChannelsInflight {
bytes funding_txid = 1;
uint32 funding_outnum = 2;
string feerate = 3;
Amount total_funding_msat = 4;
Amount our_funding_msat = 5;
optional sint64 splice_amount = 7;
bytes scratch_txid = 6;
}
message ListpeersPeersChannelsFunding {
optional Amount pushed_msat = 3;
Amount local_funds_msat = 4;
Amount remote_funds_msat = 7;
optional Amount fee_paid_msat = 5;
optional Amount fee_rcvd_msat = 6;
}
message ListpeersPeersChannelsAlias {
optional string local = 1;
optional string remote = 2;
}
message ListpeersPeersChannelsHtlcs {
// ListPeers.peers[].channels[].htlcs[].direction
enum ListpeersPeersChannelsHtlcsDirection {
IN = 0;
OUT = 1;
}
ListpeersPeersChannelsHtlcsDirection 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 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;
bool reserved = 9;
optional uint32 blockheight = 8;
}
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 bytes channel_id = 9;
optional string short_channel_id = 8;
}
message SendpayRequest {
repeated SendpayRoute route = 1;
bytes payment_hash = 2;
optional string label = 3;
optional Amount amount_msat = 10;
optional string bolt11 = 5;
optional bytes payment_secret = 6;
optional uint32 partid = 7;
optional bytes localinvreqid = 11;
optional uint64 groupid = 9;
}
message SendpayResponse {
// SendPay.status
enum SendpayStatus {
PENDING = 0;
COMPLETE = 1;
}
optional uint64 created_index = 16;
optional uint64 updated_index = 17;
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;
optional uint64 completed_at = 15;
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;
}
message SendpayRoute {
Amount amount_msat = 5;
bytes id = 2;
uint32 delay = 3;
string channel = 4;
}
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;
uint32 direction = 16;
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;
}
message AddgossipRequest {
bytes message = 1;
}
message AddgossipResponse {
}
message AutocleaninvoiceRequest {
optional uint64 expired_by = 1;
optional uint64 cycle_seconds = 2;
}
message AutocleaninvoiceResponse {
bool enabled = 1;
optional uint64 expired_by = 2;
optional uint64 cycle_seconds = 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 created_index = 16;
optional uint64 pay_index = 9;
optional Amount amount_received_msat = 10;
optional uint64 paid_at = 11;
optional CreateinvoicePaid_outpoint paid_outpoint = 17;
optional bytes payment_preimage = 12;
optional bytes local_offer_id = 13;
optional string invreq_payer_note = 15;
}
message CreateinvoicePaid_outpoint {
optional bytes txid = 1;
optional 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;
}
repeated string key = 5;
optional string string = 6;
optional bytes hex = 2;
optional DatastoreMode mode = 3;
optional uint64 generation = 4;
}
message DatastoreResponse {
repeated string key = 5;
optional uint64 generation = 2;
optional bytes hex = 3;
optional string string = 4;
}
message DatastoreusageRequest {
}
message DatastoreusageResponse {
optional DatastoreusageDatastoreusage datastoreusage = 1;
}
message DatastoreusageDatastoreusage {
optional string key = 1;
optional 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 {
repeated string key = 3;
optional uint64 generation = 2;
}
message DeldatastoreResponse {
repeated string key = 5;
optional uint64 generation = 2;
optional bytes hex = 3;
optional string string = 4;
}
message DelexpiredinvoiceRequest {
optional uint64 maxexpirytime = 1;
}
message DelexpiredinvoiceResponse {
}
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;
optional uint64 created_index = 12;
optional uint64 updated_index = 13;
DelinvoiceStatus status = 7;
uint64 expires_at = 8;
optional bytes local_offer_id = 9;
optional string invreq_payer_note = 11;
}
message InvoiceRequest {
AmountOrAny amount_msat = 10;
string description = 2;
string label = 3;
optional uint64 expiry = 7;
repeated string fallbacks = 4;
optional bytes preimage = 5;
optional uint32 cltv = 6;
optional bool deschashonly = 9;
}
message InvoiceResponse {
string bolt11 = 1;
bytes payment_hash = 2;
bytes payment_secret = 3;
uint64 expires_at = 4;
optional uint64 created_index = 10;
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;
}
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 string invreq_payer_note = 15;
optional uint64 created_index = 16;
optional uint64 updated_index = 17;
optional uint64 pay_index = 11;
optional Amount amount_received_msat = 12;
optional uint64 paid_at = 13;
optional ListinvoicesInvoicesPaid_outpoint paid_outpoint = 18;
optional bytes payment_preimage = 14;
}
message ListinvoicesInvoicesPaid_outpoint {
optional bytes txid = 1;
optional 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 Amount amount_msat = 12;
optional bytes destination = 9;
optional bytes localinvreqid = 13;
optional uint64 groupid = 11;
}
message SendonionResponse {
// SendOnion.status
enum SendonionStatus {
PENDING = 0;
COMPLETE = 1;
}
optional uint64 created_index = 14;
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 uint64 partid = 13;
optional uint64 updated_index = 15;
optional bytes payment_preimage = 11;
optional string message = 12;
}
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;
}
optional uint64 created_index = 16;
uint64 id = 1;
uint64 groupid = 2;
optional uint64 partid = 15;
bytes payment_hash = 3;
optional uint64 updated_index = 17;
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 description = 14;
optional string bolt12 = 11;
optional bytes payment_preimage = 12;
optional bytes erroronion = 13;
}
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;
Amount amount_msat = 6;
bytes scriptPubKey = 3;
}
message PayRequest {
string bolt11 = 1;
optional Amount amount_msat = 13;
optional string label = 3;
optional double riskfactor = 8;
optional double maxfeepercent = 4;
optional uint32 retry_for = 5;
optional uint32 maxdelay = 6;
optional Amount exemptfee = 7;
optional bytes localinvreqid = 14;
repeated string exclude = 10;
optional Amount maxfee = 11;
optional string description = 12;
}
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;
}
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;
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 created_index = 13;
optional uint64 updated_index = 14;
optional uint64 pay_index = 9;
optional Amount amount_received_msat = 10;
optional uint64 paid_at = 11;
optional WaitanyinvoicePaid_outpoint paid_outpoint = 15;
optional bytes payment_preimage = 12;
}
message WaitanyinvoicePaid_outpoint {
optional bytes txid = 1;
optional uint32 outnum = 2;
}
message WaitinvoiceRequest {
string label = 1;
}
message WaitinvoiceResponse {
// WaitInvoice.status
enum WaitinvoiceStatus {
PAID = 0;
EXPIRED = 1;
}
string label = 1;
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 created_index = 13;
optional uint64 updated_index = 14;
optional uint64 pay_index = 9;
optional Amount amount_received_msat = 10;
optional uint64 paid_at = 11;
optional WaitinvoicePaid_outpoint paid_outpoint = 15;
optional bytes payment_preimage = 12;
}
message WaitinvoicePaid_outpoint {
optional bytes txid = 1;
optional uint32 outnum = 2;
}
message WaitsendpayRequest {
bytes payment_hash = 1;
optional uint32 timeout = 3;
optional uint64 partid = 2;
optional uint64 groupid = 4;
}
message WaitsendpayResponse {
// WaitSendPay.status
enum WaitsendpayStatus {
COMPLETE = 0;
}
optional uint64 created_index = 15;
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;
optional uint64 updated_index = 16;
optional double completed_at = 14;
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;
}
message NewaddrRequest {
// NewAddr.addresstype
enum NewaddrAddresstype {
BECH32 = 0;
P2TR = 3;
ALL = 2;
}
optional NewaddrAddresstype addresstype = 1;
}
message NewaddrResponse {
optional string p2tr = 3;
optional string bech32 = 1;
}
message WithdrawRequest {
string destination = 1;
optional AmountOrAll satoshi = 2;
optional Feerate feerate = 5;
optional uint32 minconf = 3;
repeated Outpoint utxos = 4;
}
message WithdrawResponse {
bytes tx = 1;
bytes txid = 2;
string psbt = 3;
}
message KeysendRequest {
bytes destination = 1;
Amount amount_msat = 10;
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;
}
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 bool 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 {
Amount satoshi = 1;
Feerate feerate = 2;
uint32 startweight = 3;
repeated Outpoint utxos = 4;
optional uint32 reserve = 5;
optional bool reservedok = 8;
optional uint32 locktime = 6;
optional uint32 min_witness_weight = 7;
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 {
repeated OutputDesc outputs = 5;
optional Feerate feerate = 2;
optional uint32 minconf = 3;
repeated Outpoint utxos = 4;
}
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;
}
optional bytes peer_id = 1;
optional bool peer_connected = 2;
optional ListpeerchannelsChannelsState state = 3;
optional bytes scratch_txid = 4;
optional ListpeerchannelsChannelsUpdates updates = 55;
optional bool ignore_fee_limits = 54;
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;
optional 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;
optional uint64 last_stable_connection = 56;
repeated ListpeerchannelsChannelsHtlcs htlcs = 52;
optional string close_to_addr = 53;
}
message ListpeerchannelsChannelsUpdates {
optional ListpeerchannelsChannelsUpdatesLocal local = 1;
optional ListpeerchannelsChannelsUpdatesRemote remote = 2;
}
message ListpeerchannelsChannelsUpdatesLocal {
optional Amount htlc_minimum_msat = 1;
optional Amount htlc_maximum_msat = 2;
optional uint32 cltv_expiry_delta = 3;
optional Amount fee_base_msat = 4;
optional uint32 fee_proportional_millionths = 5;
}
message ListpeerchannelsChannelsUpdatesRemote {
optional Amount htlc_minimum_msat = 1;
optional Amount htlc_maximum_msat = 2;
optional uint32 cltv_expiry_delta = 3;
optional Amount fee_base_msat = 4;
optional uint32 fee_proportional_millionths = 5;
}
message ListpeerchannelsChannelsFeerate {
optional uint32 perkw = 1;
optional uint32 perkb = 2;
}
message ListpeerchannelsChannelsInflight {
optional bytes funding_txid = 1;
optional uint32 funding_outnum = 2;
optional string feerate = 3;
optional Amount total_funding_msat = 4;
optional sint64 splice_amount = 7;
optional Amount our_funding_msat = 5;
optional bytes scratch_txid = 6;
}
message ListpeerchannelsChannelsFunding {
optional Amount pushed_msat = 1;
optional Amount local_funds_msat = 2;
optional 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;
}
optional ListpeerchannelsChannelsHtlcsDirection direction = 1;
optional uint64 id = 2;
optional Amount amount_msat = 3;
optional uint32 expiry = 4;
optional bytes payment_hash = 5;
optional bool local_trimmed = 6;
optional string status = 7;
optional 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;
}
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;
}
message DecodeOffer_paths {
bytes first_node_id = 1;
bytes blinding = 2;
}
message DecodeOffer_recurrencePaywindow {
uint32 seconds_before = 1;
uint32 seconds_after = 2;
optional bool proportional_amount = 3;
}
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 {
optional string warning_invoice_fallbacks_version_invalid = 1;
}
message DecodeExtra {
string tag = 1;
string data = 2;
}
message DecodeRestrictions {
repeated string alternatives = 1;
string summary = 2;
}
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 floor = 10;
repeated FeeratesPerkbEstimates estimates = 9;
optional uint32 opening = 3;
optional uint32 mutual_close = 4;
optional uint32 unilateral_close = 5;
optional uint32 unilateral_anchor_close = 11;
optional uint32 delayed_to_us = 6;
optional uint32 htlc_resolution = 7;
optional uint32 penalty = 8;
}
message FeeratesPerkbEstimates {
optional uint32 blockcount = 1;
optional uint32 feerate = 2;
optional uint32 smoothed_feerate = 3;
}
message FeeratesPerkw {
uint32 min_acceptable = 1;
uint32 max_acceptable = 2;
optional uint32 floor = 10;
repeated FeeratesPerkwEstimates estimates = 9;
optional uint32 opening = 3;
optional uint32 mutual_close = 4;
optional uint32 unilateral_close = 5;
optional uint32 unilateral_anchor_close = 11;
optional uint32 delayed_to_us = 6;
optional uint32 htlc_resolution = 7;
optional uint32 penalty = 8;
}
message FeeratesPerkwEstimates {
optional uint32 blockcount = 1;
optional uint32 feerate = 2;
optional uint32 smoothed_feerate = 3;
}
message FeeratesOnchain_fee_estimates {
uint64 opening_channel_satoshis = 1;
uint64 mutual_close_satoshis = 2;
uint64 unilateral_close_satoshis = 3;
optional uint64 unilateral_close_nonanchor_satoshis = 6;
uint64 htlc_timeout_satoshis = 4;
uint64 htlc_success_satoshis = 5;
}
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 FundchannelRequest {
bytes id = 9;
AmountOrAll amount = 1;
optional Feerate feerate = 2;
optional bool announce = 3;
optional uint32 minconf = 10;
optional Amount push_msat = 5;
optional string close_to = 6;
optional Amount request_amt = 7;
optional string compact_lease = 8;
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 FundchannelChannel_type channel_type = 7;
optional bytes close_to = 5;
optional uint32 mindepth = 6;
}
message FundchannelChannel_type {
repeated uint32 bits = 1;
repeated ChannelTypeName names = 2;
}
message GetrouteRequest {
bytes id = 1;
Amount amount_msat = 9;
uint64 riskfactor = 3;
optional uint32 cltv = 4;
optional bytes fromid = 5;
optional uint32 fuzzpercent = 6;
repeated string exclude = 7;
optional uint32 maxhops = 8;
}
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;
}
optional uint64 created_index = 12;
string in_channel = 1;
optional uint64 in_htlc_id = 10;
Amount in_msat = 2;
ListforwardsForwardsStatus status = 3;
double received_time = 4;
optional string out_channel = 5;
optional uint64 out_htlc_id = 11;
optional uint64 updated_index = 13;
optional ListforwardsForwardsStyle style = 9;
optional Amount fee_msat = 7;
optional Amount out_msat = 8;
}
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 uint64 completed_at = 12;
optional string label = 5;
optional string bolt11 = 6;
optional string description = 11;
optional string bolt12 = 7;
optional Amount amount_msat = 8;
optional Amount amount_sent_msat = 9;
optional bytes preimage = 13;
optional uint64 number_of_parts = 14;
optional bytes erroronion = 10;
}
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 OfferRequest {
string amount = 1;
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 uint64 recurrence_limit = 10;
optional bool single_use = 11;
}
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 PingRequest {
bytes id = 1;
optional uint32 len = 2;
optional uint32 pongbytes = 3;
}
message PingResponse {
uint32 totlen = 1;
}
message SendcustommsgRequest {
bytes node_id = 1;
bytes msg = 2;
}
message SendcustommsgResponse {
string status = 1;
}
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;
optional bool ignore_fee_limits = 10;
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;
}
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 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;
}
message StopRequest {
}
message StopResponse {
}
message PreapprovekeysendRequest {
optional bytes destination = 1;
optional bytes payment_hash = 2;
optional Amount amount_msat = 3;
}
message PreapprovekeysendResponse {
}
message PreapproveinvoiceRequest {
optional string bolt11 = 1;
}
message PreapproveinvoiceResponse {
}
message StaticbackupRequest {
}
message StaticbackupResponse {
repeated bytes scb = 1;
}
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;
}