lnrpc: replace /// and /** with // and /*

This commit is contained in:
Oliver Gugger 2020-05-06 16:51:14 +02:00
parent 0800386138
commit 71c58c2c04
No known key found for this signature in database
GPG Key ID: 8E4256593F177720
22 changed files with 2096 additions and 2098 deletions

View File

@ -54,7 +54,7 @@ func (m *StatusRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_StatusRequest proto.InternalMessageInfo
type StatusResponse struct {
/// Indicates whether the autopilot is active or not.
// Indicates whether the autopilot is active or not.
Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -94,7 +94,7 @@ func (m *StatusResponse) GetActive() bool {
}
type ModifyStatusRequest struct {
/// Whether the autopilot agent should be enabled or not.
// Whether the autopilot agent should be enabled or not.
Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -166,7 +166,7 @@ var xxx_messageInfo_ModifyStatusResponse proto.InternalMessageInfo
type QueryScoresRequest struct {
Pubkeys []string `protobuf:"bytes,1,rep,name=pubkeys,proto3" json:"pubkeys,omitempty"`
/// If set, we will ignore the local channel state when calculating scores.
// If set, we will ignore the local channel state when calculating scores.
IgnoreLocalState bool `protobuf:"varint,2,opt,name=ignore_local_state,json=ignoreLocalState,proto3" json:"ignore_local_state,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -299,9 +299,9 @@ func (m *QueryScoresResponse_HeuristicResult) GetScores() map[string]float64 {
}
type SetScoresRequest struct {
/// The name of the heuristic to provide scores to.
// The name of the heuristic to provide scores to.
Heuristic string `protobuf:"bytes,1,opt,name=heuristic,proto3" json:"heuristic,omitempty"`
//*
//
//A map from hex-encoded public keys to scores. Scores must be in the range
//[0.0, 1.0].
Scores map[string]float64 `protobuf:"bytes,2,rep,name=scores,proto3" json:"scores,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"`
@ -442,19 +442,19 @@ const _ = grpc.SupportPackageIsVersion4
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type AutopilotClient interface {
//*
//
//Status returns whether the daemon's autopilot agent is active.
Status(ctx context.Context, in *StatusRequest, opts ...grpc.CallOption) (*StatusResponse, error)
//*
//
//ModifyStatus is used to modify the status of the autopilot agent, like
//enabling or disabling it.
ModifyStatus(ctx context.Context, in *ModifyStatusRequest, opts ...grpc.CallOption) (*ModifyStatusResponse, error)
//*
//
//QueryScores queries all available autopilot heuristics, in addition to any
//active combination of these heruristics, for the scores they would give to
//the given nodes.
QueryScores(ctx context.Context, in *QueryScoresRequest, opts ...grpc.CallOption) (*QueryScoresResponse, error)
//*
//
//SetScores attempts to set the scores used by the running autopilot agent,
//if the external scoring heuristic is enabled.
SetScores(ctx context.Context, in *SetScoresRequest, opts ...grpc.CallOption) (*SetScoresResponse, error)
@ -506,19 +506,19 @@ func (c *autopilotClient) SetScores(ctx context.Context, in *SetScoresRequest, o
// AutopilotServer is the server API for Autopilot service.
type AutopilotServer interface {
//*
//
//Status returns whether the daemon's autopilot agent is active.
Status(context.Context, *StatusRequest) (*StatusResponse, error)
//*
//
//ModifyStatus is used to modify the status of the autopilot agent, like
//enabling or disabling it.
ModifyStatus(context.Context, *ModifyStatusRequest) (*ModifyStatusResponse, error)
//*
//
//QueryScores queries all available autopilot heuristics, in addition to any
//active combination of these heruristics, for the scores they would give to
//the given nodes.
QueryScores(context.Context, *QueryScoresRequest) (*QueryScoresResponse, error)
//*
//
//SetScores attempts to set the scores used by the running autopilot agent,
//if the external scoring heuristic is enabled.
SetScores(context.Context, *SetScoresRequest) (*SetScoresResponse, error)

View File

@ -8,25 +8,25 @@ option go_package = "github.com/lightningnetwork/lnd/lnrpc/autopilotrpc";
// state of the daemon's autopilot agent, and also supply it with information
// that can be used when deciding where to open channels.
service Autopilot {
/**
/*
Status returns whether the daemon's autopilot agent is active.
*/
rpc Status (StatusRequest) returns (StatusResponse);
/**
/*
ModifyStatus is used to modify the status of the autopilot agent, like
enabling or disabling it.
*/
rpc ModifyStatus (ModifyStatusRequest) returns (ModifyStatusResponse);
/**
/*
QueryScores queries all available autopilot heuristics, in addition to any
active combination of these heruristics, for the scores they would give to
the given nodes.
*/
rpc QueryScores (QueryScoresRequest) returns (QueryScoresResponse);
/**
/*
SetScores attempts to set the scores used by the running autopilot agent,
if the external scoring heuristic is enabled.
*/
@ -37,12 +37,12 @@ message StatusRequest {
}
message StatusResponse {
/// Indicates whether the autopilot is active or not.
// Indicates whether the autopilot is active or not.
bool active = 1;
}
message ModifyStatusRequest {
/// Whether the autopilot agent should be enabled or not.
// Whether the autopilot agent should be enabled or not.
bool enable = 1;
}
@ -52,7 +52,7 @@ message ModifyStatusResponse {
message QueryScoresRequest {
repeated string pubkeys = 1;
/// If set, we will ignore the local channel state when calculating scores.
// If set, we will ignore the local channel state when calculating scores.
bool ignore_local_state = 2;
}
@ -66,10 +66,10 @@ message QueryScoresResponse {
}
message SetScoresRequest {
/// The name of the heuristic to provide scores to.
// The name of the heuristic to provide scores to.
string heuristic = 1;
/**
/*
A map from hex-encoded public keys to scores. Scores must be in the range
[0.0, 1.0].
*/

View File

@ -25,7 +25,7 @@ var _ = math.Inf
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type CancelInvoiceMsg struct {
/// Hash corresponding to the (hold) invoice to cancel.
// Hash corresponding to the (hold) invoice to cancel.
PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -96,40 +96,40 @@ func (m *CancelInvoiceResp) XXX_DiscardUnknown() {
var xxx_messageInfo_CancelInvoiceResp proto.InternalMessageInfo
type AddHoldInvoiceRequest struct {
//*
//
//An optional memo to attach along with the invoice. Used for record keeping
//purposes for the invoice's creator, and will also be set in the description
//field of the encoded payment request if the description_hash field is not
//being used.
Memo string `protobuf:"bytes,1,opt,name=memo,proto3" json:"memo,omitempty"`
/// The hash of the preimage
// The hash of the preimage
Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
//*
//
//The value of this invoice in satoshis
//
//The fields value and value_msat are mutually exclusive.
Value int64 `protobuf:"varint,3,opt,name=value,proto3" json:"value,omitempty"`
//*
//
//The value of this invoice in millisatoshis
//
//The fields value and value_msat are mutually exclusive.
ValueMsat int64 `protobuf:"varint,10,opt,name=value_msat,json=valueMsat,proto3" json:"value_msat,omitempty"`
//*
//
//Hash (SHA-256) of a description of the payment. Used if the description of
//payment (memo) is too long to naturally fit within the description field
//of an encoded payment request.
DescriptionHash []byte `protobuf:"bytes,4,opt,name=description_hash,json=descriptionHash,proto3" json:"description_hash,omitempty"`
/// Payment request expiry time in seconds. Default is 3600 (1 hour).
// Payment request expiry time in seconds. Default is 3600 (1 hour).
Expiry int64 `protobuf:"varint,5,opt,name=expiry,proto3" json:"expiry,omitempty"`
/// Fallback on-chain address.
// Fallback on-chain address.
FallbackAddr string `protobuf:"bytes,6,opt,name=fallback_addr,json=fallbackAddr,proto3" json:"fallback_addr,omitempty"`
/// Delta to use for the time-lock of the CLTV extended to the final hop.
// Delta to use for the time-lock of the CLTV extended to the final hop.
CltvExpiry uint64 `protobuf:"varint,7,opt,name=cltv_expiry,json=cltvExpiry,proto3" json:"cltv_expiry,omitempty"`
//*
//
//Route hints that can each be individually used to assist in reaching the
//invoice's destination.
RouteHints []*lnrpc.RouteHint `protobuf:"bytes,8,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
/// Whether this invoice should include routing hints for private channels.
// Whether this invoice should include routing hints for private channels.
Private bool `protobuf:"varint,9,opt,name=private,proto3" json:"private,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -232,7 +232,7 @@ func (m *AddHoldInvoiceRequest) GetPrivate() bool {
}
type AddHoldInvoiceResp struct {
//*
//
//A bare-bones invoice for a payment within the Lightning Network. With the
//details of the invoice, the sender has all the data necessary to send a
//payment to the recipient.
@ -275,8 +275,8 @@ func (m *AddHoldInvoiceResp) GetPaymentRequest() string {
}
type SettleInvoiceMsg struct {
/// Externally discovered pre-image that should be used to settle the hold
/// invoice.
// Externally discovered pre-image that should be used to settle the hold
// invoice.
Preimage []byte `protobuf:"bytes,1,opt,name=preimage,proto3" json:"preimage,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -347,7 +347,7 @@ func (m *SettleInvoiceResp) XXX_DiscardUnknown() {
var xxx_messageInfo_SettleInvoiceResp proto.InternalMessageInfo
type SubscribeSingleInvoiceRequest struct {
/// Hash corresponding to the (hold) invoice to subscribe to.
// Hash corresponding to the (hold) invoice to subscribe to.
RHash []byte `protobuf:"bytes,2,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -448,21 +448,21 @@ const _ = grpc.SupportPackageIsVersion4
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type InvoicesClient interface {
//*
//
//SubscribeSingleInvoice returns a uni-directional stream (server -> client)
//to notify the client of state transitions of the specified invoice.
//Initially the current invoice state is always sent out.
SubscribeSingleInvoice(ctx context.Context, in *SubscribeSingleInvoiceRequest, opts ...grpc.CallOption) (Invoices_SubscribeSingleInvoiceClient, error)
//*
//
//CancelInvoice cancels a currently open invoice. If the invoice is already
//canceled, this call will succeed. If the invoice is already settled, it will
//fail.
CancelInvoice(ctx context.Context, in *CancelInvoiceMsg, opts ...grpc.CallOption) (*CancelInvoiceResp, error)
//*
//
//AddHoldInvoice creates a hold invoice. It ties the invoice to the hash
//supplied in the request.
AddHoldInvoice(ctx context.Context, in *AddHoldInvoiceRequest, opts ...grpc.CallOption) (*AddHoldInvoiceResp, error)
//*
//
//SettleInvoice settles an accepted invoice. If the invoice is already
//settled, this call will succeed.
SettleInvoice(ctx context.Context, in *SettleInvoiceMsg, opts ...grpc.CallOption) (*SettleInvoiceResp, error)
@ -537,21 +537,21 @@ func (c *invoicesClient) SettleInvoice(ctx context.Context, in *SettleInvoiceMsg
// InvoicesServer is the server API for Invoices service.
type InvoicesServer interface {
//*
//
//SubscribeSingleInvoice returns a uni-directional stream (server -> client)
//to notify the client of state transitions of the specified invoice.
//Initially the current invoice state is always sent out.
SubscribeSingleInvoice(*SubscribeSingleInvoiceRequest, Invoices_SubscribeSingleInvoiceServer) error
//*
//
//CancelInvoice cancels a currently open invoice. If the invoice is already
//canceled, this call will succeed. If the invoice is already settled, it will
//fail.
CancelInvoice(context.Context, *CancelInvoiceMsg) (*CancelInvoiceResp, error)
//*
//
//AddHoldInvoice creates a hold invoice. It ties the invoice to the hash
//supplied in the request.
AddHoldInvoice(context.Context, *AddHoldInvoiceRequest) (*AddHoldInvoiceResp, error)
//*
//
//SettleInvoice settles an accepted invoice. If the invoice is already
//settled, this call will succeed.
SettleInvoice(context.Context, *SettleInvoiceMsg) (*SettleInvoiceResp, error)

View File

@ -10,7 +10,7 @@ option go_package = "github.com/lightningnetwork/lnd/lnrpc/invoicesrpc";
// Invoices is a service that can be used to create, accept, settle and cancel
// invoices.
service Invoices {
/**
/*
SubscribeSingleInvoice returns a uni-directional stream (server -> client)
to notify the client of state transitions of the specified invoice.
Initially the current invoice state is always sent out.
@ -18,20 +18,20 @@ service Invoices {
rpc SubscribeSingleInvoice (SubscribeSingleInvoiceRequest)
returns (stream lnrpc.Invoice);
/**
/*
CancelInvoice cancels a currently open invoice. If the invoice is already
canceled, this call will succeed. If the invoice is already settled, it will
fail.
*/
rpc CancelInvoice (CancelInvoiceMsg) returns (CancelInvoiceResp);
/**
/*
AddHoldInvoice creates a hold invoice. It ties the invoice to the hash
supplied in the request.
*/
rpc AddHoldInvoice (AddHoldInvoiceRequest) returns (AddHoldInvoiceResp);
/**
/*
SettleInvoice settles an accepted invoice. If the invoice is already
settled, this call will succeed.
*/
@ -39,14 +39,14 @@ service Invoices {
}
message CancelInvoiceMsg {
/// Hash corresponding to the (hold) invoice to cancel.
// Hash corresponding to the (hold) invoice to cancel.
bytes payment_hash = 1;
}
message CancelInvoiceResp {
}
message AddHoldInvoiceRequest {
/**
/*
An optional memo to attach along with the invoice. Used for record keeping
purposes for the invoice's creator, and will also be set in the description
field of the encoded payment request if the description_hash field is not
@ -54,51 +54,51 @@ message AddHoldInvoiceRequest {
*/
string memo = 1;
/// The hash of the preimage
// The hash of the preimage
bytes hash = 2;
/**
/*
The value of this invoice in satoshis
The fields value and value_msat are mutually exclusive.
*/
int64 value = 3;
/**
/*
The value of this invoice in millisatoshis
The fields value and value_msat are mutually exclusive.
*/
int64 value_msat = 10;
/**
/*
Hash (SHA-256) of a description of the payment. Used if the description of
payment (memo) is too long to naturally fit within the description field
of an encoded payment request.
*/
bytes description_hash = 4;
/// Payment request expiry time in seconds. Default is 3600 (1 hour).
// Payment request expiry time in seconds. Default is 3600 (1 hour).
int64 expiry = 5;
/// Fallback on-chain address.
// Fallback on-chain address.
string fallback_addr = 6;
/// Delta to use for the time-lock of the CLTV extended to the final hop.
// Delta to use for the time-lock of the CLTV extended to the final hop.
uint64 cltv_expiry = 7;
/**
/*
Route hints that can each be individually used to assist in reaching the
invoice's destination.
*/
repeated lnrpc.RouteHint route_hints = 8;
/// Whether this invoice should include routing hints for private channels.
// Whether this invoice should include routing hints for private channels.
bool private = 9;
}
message AddHoldInvoiceResp {
/**
/*
A bare-bones invoice for a payment within the Lightning Network. With the
details of the invoice, the sender has all the data necessary to send a
payment to the recipient.
@ -107,8 +107,8 @@ message AddHoldInvoiceResp {
}
message SettleInvoiceMsg {
/// Externally discovered pre-image that should be used to settle the hold
/// invoice.
// Externally discovered pre-image that should be used to settle the hold
// invoice.
bytes preimage = 1;
}
@ -118,6 +118,6 @@ message SettleInvoiceResp {
message SubscribeSingleInvoiceRequest {
reserved 1;
/// Hash corresponding to the (hold) invoice to subscribe to.
// Hash corresponding to the (hold) invoice to subscribe to.
bytes r_hash = 2;
}

View File

@ -22,9 +22,9 @@ var _ = math.Inf
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type VersionResponse struct {
/// The version information for lncli.
// The version information for lncli.
Lncli *verrpc.Version `protobuf:"bytes,1,opt,name=lncli,proto3" json:"lncli,omitempty"`
/// The version information for lnd.
// The version information for lnd.
Lnd *verrpc.Version `protobuf:"bytes,2,opt,name=lnd,proto3" json:"lnd,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`

View File

@ -7,9 +7,9 @@ package lnclipb;
option go_package = "github.com/lightningnetwork/lnd/lnrpc/lnclipb";
message VersionResponse {
/// The version information for lncli.
// The version information for lncli.
verrpc.Version lncli = 1;
/// The version information for lnd.
// The version information for lnd.
verrpc.Version lnd = 2;
};

View File

@ -114,27 +114,27 @@ func (FailureDetail) EnumDescriptor() ([]byte, []int) {
type PaymentState int32
const (
//*
//
//Payment is still in flight.
PaymentState_IN_FLIGHT PaymentState = 0
//*
//
//Payment completed successfully.
PaymentState_SUCCEEDED PaymentState = 1
//*
//
//There are more routes to try, but the payment timeout was exceeded.
PaymentState_FAILED_TIMEOUT PaymentState = 2
//*
//
//All possible routes were tried and failed permanently. Or were no
//routes to the destination at all.
PaymentState_FAILED_NO_ROUTE PaymentState = 3
//*
//
//A non-recoverable error has occured.
PaymentState_FAILED_ERROR PaymentState = 4
//*
//
//Payment details incorrect (unknown hash, invalid amt or
//invalid final cltv delta)
PaymentState_FAILED_INCORRECT_PAYMENT_DETAILS PaymentState = 5
//*
//
//Insufficient local balance.
PaymentState_FAILED_INSUFFICIENT_BALANCE PaymentState = 6
)
@ -199,38 +199,38 @@ func (HtlcEvent_EventType) EnumDescriptor() ([]byte, []int) {
}
type SendPaymentRequest struct {
/// The identity pubkey of the payment recipient
// The identity pubkey of the payment recipient
Dest []byte `protobuf:"bytes,1,opt,name=dest,proto3" json:"dest,omitempty"`
//*
//
//Number of satoshis to send.
//
//The fields amt and amt_msat are mutually exclusive.
Amt int64 `protobuf:"varint,2,opt,name=amt,proto3" json:"amt,omitempty"`
//*
//
//Number of millisatoshis to send.
//
//The fields amt and amt_msat are mutually exclusive.
AmtMsat int64 `protobuf:"varint,12,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"`
/// The hash to use within the payment's HTLC
// The hash to use within the payment's HTLC
PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
//*
//
//The CLTV delta from the current height that should be used to set the
//timelock for the final hop.
FinalCltvDelta int32 `protobuf:"varint,4,opt,name=final_cltv_delta,json=finalCltvDelta,proto3" json:"final_cltv_delta,omitempty"`
//*
//
//A bare-bones invoice for a payment within the Lightning Network. With the
//details of the invoice, the sender has all the data necessary to send a
//payment to the recipient. The amount in the payment request may be zero. In
//that case it is required to set the amt field as well. If no payment request
//is specified, the following fields are required: dest, amt and payment_hash.
PaymentRequest string `protobuf:"bytes,5,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"`
//*
//
//An upper limit on the amount of time we should spend when attempting to
//fulfill the payment. This is expressed in seconds. If we cannot make a
//successful payment within this time frame, an error will be returned.
//This field must be non-zero.
TimeoutSeconds int32 `protobuf:"varint,6,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
//*
//
//The maximum number of satoshis that will be paid as a fee of the payment.
//If this field is left to the default value of 0, only zero-fee routes will
//be considered. This usually means single hop routes connecting directly to
@ -238,7 +238,7 @@ type SendPaymentRequest struct {
//
//The fields fee_limit_sat and fee_limit_msat are mutually exclusive.
FeeLimitSat int64 `protobuf:"varint,7,opt,name=fee_limit_sat,json=feeLimitSat,proto3" json:"fee_limit_sat,omitempty"`
//*
//
//The maximum number of millisatoshis that will be paid as a fee of the
//payment. If this field is left to the default value of 0, only zero-fee
//routes will be considered. This usually means single hop routes connecting
@ -247,42 +247,42 @@ type SendPaymentRequest struct {
//
//The fields fee_limit_sat and fee_limit_msat are mutually exclusive.
FeeLimitMsat int64 `protobuf:"varint,13,opt,name=fee_limit_msat,json=feeLimitMsat,proto3" json:"fee_limit_msat,omitempty"`
//*
//
//The channel id of the channel that must be taken to the first hop. If zero,
//any channel may be used.
OutgoingChanId uint64 `protobuf:"varint,8,opt,name=outgoing_chan_id,json=outgoingChanId,proto3" json:"outgoing_chan_id,omitempty"`
//*
//
//The pubkey of the last hop of the route. If empty, any hop may be used.
LastHopPubkey []byte `protobuf:"bytes,14,opt,name=last_hop_pubkey,json=lastHopPubkey,proto3" json:"last_hop_pubkey,omitempty"`
//*
//
//An optional maximum total time lock for the route. This should not exceed
//lnd's `--max-cltv-expiry` setting. If zero, then the value of
//`--max-cltv-expiry` is enforced.
CltvLimit int32 `protobuf:"varint,9,opt,name=cltv_limit,json=cltvLimit,proto3" json:"cltv_limit,omitempty"`
//*
//
//Optional route hints to reach the destination through private channels.
RouteHints []*lnrpc.RouteHint `protobuf:"bytes,10,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
//*
//
//An optional field that can be used to pass an arbitrary set of TLV records
//to a peer which understands the new records. This can be used to pass
//application specific data during the payment attempt. Record types are
//required to be in the custom range >= 65536. When using REST, the values
//must be encoded as base64.
DestCustomRecords map[uint64][]byte `protobuf:"bytes,11,rep,name=dest_custom_records,json=destCustomRecords,proto3" json:"dest_custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
/// If set, circular payments to self are permitted.
// If set, circular payments to self are permitted.
AllowSelfPayment bool `protobuf:"varint,15,opt,name=allow_self_payment,json=allowSelfPayment,proto3" json:"allow_self_payment,omitempty"`
//*
//
//Features assumed to be supported by the final node. All transitive feature
//dependencies must also be set properly. For a given feature bit pair, either
//optional or remote may be set, but not both. If this field is nil or empty,
//the router will try to load destination features from the graph as a
//fallback.
DestFeatures []lnrpc.FeatureBit `protobuf:"varint,16,rep,packed,name=dest_features,json=destFeatures,proto3,enum=lnrpc.FeatureBit" json:"dest_features,omitempty"`
//*
//
//The maximum number of partial payments that may be use to complete the full
//amount.
MaxParts uint32 `protobuf:"varint,17,opt,name=max_parts,json=maxParts,proto3" json:"max_parts,omitempty"`
//*
//
//If set, only the final payment update is streamed back. Intermediate updates
//that show which htlcs are still in flight are suppressed.
NoInflightUpdates bool `protobuf:"varint,18,opt,name=no_inflight_updates,json=noInflightUpdates,proto3" json:"no_inflight_updates,omitempty"`
@ -443,9 +443,9 @@ func (m *SendPaymentRequest) GetNoInflightUpdates() bool {
}
type TrackPaymentRequest struct {
/// The hash of the payment to look up.
// The hash of the payment to look up.
PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
//*
//
//If set, only the final payment update is streamed back. Intermediate updates
//that show which htlcs are still in flight are suppressed.
NoInflightUpdates bool `protobuf:"varint,2,opt,name=no_inflight_updates,json=noInflightUpdates,proto3" json:"no_inflight_updates,omitempty"`
@ -494,10 +494,10 @@ func (m *TrackPaymentRequest) GetNoInflightUpdates() bool {
}
type RouteFeeRequest struct {
//*
//
//The destination once wishes to obtain a routing fee quote to.
Dest []byte `protobuf:"bytes,1,opt,name=dest,proto3" json:"dest,omitempty"`
//*
//
//The amount one wishes to send to the target destination.
AmtSat int64 `protobuf:"varint,2,opt,name=amt_sat,json=amtSat,proto3" json:"amt_sat,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -545,11 +545,11 @@ func (m *RouteFeeRequest) GetAmtSat() int64 {
}
type RouteFeeResponse struct {
//*
//
//A lower bound of the estimated fee to the target destination within the
//network, expressed in milli-satoshis.
RoutingFeeMsat int64 `protobuf:"varint,1,opt,name=routing_fee_msat,json=routingFeeMsat,proto3" json:"routing_fee_msat,omitempty"`
//*
//
//An estimate of the worst case time delay that can occur. Note that callers
//will still need to factor in the final CLTV delta of the last hop into this
//value.
@ -599,9 +599,9 @@ func (m *RouteFeeResponse) GetTimeLockDelay() int64 {
}
type SendToRouteRequest struct {
/// The payment hash to use for the HTLC.
// The payment hash to use for the HTLC.
PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
/// Route that should be used to attempt to complete the payment.
// Route that should be used to attempt to complete the payment.
Route *lnrpc.Route `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -648,9 +648,9 @@ func (m *SendToRouteRequest) GetRoute() *lnrpc.Route {
}
type SendToRouteResponse struct {
/// The preimage obtained by making the payment.
// The preimage obtained by making the payment.
Preimage []byte `protobuf:"bytes,1,opt,name=preimage,proto3" json:"preimage,omitempty"`
/// The failure message in case the payment failed.
// The failure message in case the payment failed.
Failure *lnrpc.Failure `protobuf:"bytes,2,opt,name=failure,proto3" json:"failure,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -789,9 +789,9 @@ func (m *QueryMissionControlRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_QueryMissionControlRequest proto.InternalMessageInfo
/// QueryMissionControlResponse contains mission control state.
// QueryMissionControlResponse contains mission control state.
type QueryMissionControlResponse struct {
/// Node pair-level mission control state.
// Node pair-level mission control state.
Pairs []*PairHistory `protobuf:"bytes,2,rep,name=pairs,proto3" json:"pairs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -830,11 +830,11 @@ func (m *QueryMissionControlResponse) GetPairs() []*PairHistory {
return nil
}
/// PairHistory contains the mission control state for a particular node pair.
// PairHistory contains the mission control state for a particular node pair.
type PairHistory struct {
/// The source node pubkey of the pair.
// The source node pubkey of the pair.
NodeFrom []byte `protobuf:"bytes,1,opt,name=node_from,json=nodeFrom,proto3" json:"node_from,omitempty"`
/// The destination node pubkey of the pair.
// The destination node pubkey of the pair.
NodeTo []byte `protobuf:"bytes,2,opt,name=node_to,json=nodeTo,proto3" json:"node_to,omitempty"`
History *PairData `protobuf:"bytes,7,opt,name=history,proto3" json:"history,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -889,21 +889,21 @@ func (m *PairHistory) GetHistory() *PairData {
}
type PairData struct {
/// Time of last failure.
// Time of last failure.
FailTime int64 `protobuf:"varint,1,opt,name=fail_time,json=failTime,proto3" json:"fail_time,omitempty"`
//*
//
//Lowest amount that failed to forward rounded to whole sats. This may be
//set to zero if the failure is independent of amount.
FailAmtSat int64 `protobuf:"varint,2,opt,name=fail_amt_sat,json=failAmtSat,proto3" json:"fail_amt_sat,omitempty"`
//*
//
//Lowest amount that failed to forward in millisats. This may be
//set to zero if the failure is independent of amount.
FailAmtMsat int64 `protobuf:"varint,4,opt,name=fail_amt_msat,json=failAmtMsat,proto3" json:"fail_amt_msat,omitempty"`
/// Time of last success.
// Time of last success.
SuccessTime int64 `protobuf:"varint,5,opt,name=success_time,json=successTime,proto3" json:"success_time,omitempty"`
/// Highest amount that we could successfully forward rounded to whole sats.
// Highest amount that we could successfully forward rounded to whole sats.
SuccessAmtSat int64 `protobuf:"varint,6,opt,name=success_amt_sat,json=successAmtSat,proto3" json:"success_amt_sat,omitempty"`
/// Highest amount that we could successfully forward in millisats.
// Highest amount that we could successfully forward in millisats.
SuccessAmtMsat int64 `protobuf:"varint,7,opt,name=success_amt_msat,json=successAmtMsat,proto3" json:"success_amt_msat,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -978,11 +978,11 @@ func (m *PairData) GetSuccessAmtMsat() int64 {
}
type QueryProbabilityRequest struct {
/// The source node pubkey of the pair.
// The source node pubkey of the pair.
FromNode []byte `protobuf:"bytes,1,opt,name=from_node,json=fromNode,proto3" json:"from_node,omitempty"`
/// The destination node pubkey of the pair.
// The destination node pubkey of the pair.
ToNode []byte `protobuf:"bytes,2,opt,name=to_node,json=toNode,proto3" json:"to_node,omitempty"`
/// The amount for which to calculate a probability.
// The amount for which to calculate a probability.
AmtMsat int64 `protobuf:"varint,3,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1036,9 +1036,9 @@ func (m *QueryProbabilityRequest) GetAmtMsat() int64 {
}
type QueryProbabilityResponse struct {
/// The success probability for the requested pair.
// The success probability for the requested pair.
Probability float64 `protobuf:"fixed64,1,opt,name=probability,proto3" json:"probability,omitempty"`
/// The historical data for the requested pair.
// The historical data for the requested pair.
History *PairData `protobuf:"bytes,2,opt,name=history,proto3" json:"history,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1085,19 +1085,19 @@ func (m *QueryProbabilityResponse) GetHistory() *PairData {
}
type BuildRouteRequest struct {
//*
//
//The amount to send expressed in msat. If set to zero, the minimum routable
//amount is used.
AmtMsat int64 `protobuf:"varint,1,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"`
//*
//
//CLTV delta from the current height that should be used for the timelock
//of the final hop
FinalCltvDelta int32 `protobuf:"varint,2,opt,name=final_cltv_delta,json=finalCltvDelta,proto3" json:"final_cltv_delta,omitempty"`
//*
//
//The channel id of the channel that must be taken to the first hop. If zero,
//any channel may be used.
OutgoingChanId uint64 `protobuf:"varint,3,opt,name=outgoing_chan_id,json=outgoingChanId,proto3" json:"outgoing_chan_id,omitempty"`
//*
//
//A list of hops that defines the route. This does not include the source hop
//pubkey.
HopPubkeys [][]byte `protobuf:"bytes,4,rep,name=hop_pubkeys,json=hopPubkeys,proto3" json:"hop_pubkeys,omitempty"`
@ -1160,7 +1160,7 @@ func (m *BuildRouteRequest) GetHopPubkeys() [][]byte {
}
type BuildRouteResponse struct {
//*
//
//Fully specified route that can be used to execute the payment.
Route *lnrpc.Route `protobuf:"bytes,1,opt,name=route,proto3" json:"route,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -1231,7 +1231,7 @@ func (m *SubscribeHtlcEventsRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_SubscribeHtlcEventsRequest proto.InternalMessageInfo
//*
//
//HtlcEvent contains the htlc event that was processed. These are served on a
//best-effort basis; events are not persisted, delivery is not guaranteed
//(in the event of a crash in the switch, forward events may be lost) and
@ -1239,26 +1239,26 @@ var xxx_messageInfo_SubscribeHtlcEventsRequest proto.InternalMessageInfo
//should be de-duplicated by the htlc's unique combination of incoming and
//outgoing channel id and htlc id. [EXPERIMENTAL]
type HtlcEvent struct {
//*
//
//The short channel id that the incoming htlc arrived at our node on. This
//value is zero for sends.
IncomingChannelId uint64 `protobuf:"varint,1,opt,name=incoming_channel_id,json=incomingChannelId,proto3" json:"incoming_channel_id,omitempty"`
//*
//
//The short channel id that the outgoing htlc left our node on. This value
//is zero for receives.
OutgoingChannelId uint64 `protobuf:"varint,2,opt,name=outgoing_channel_id,json=outgoingChannelId,proto3" json:"outgoing_channel_id,omitempty"`
//*
//
//Incoming id is the index of the incoming htlc in the incoming channel.
//This value is zero for sends.
IncomingHtlcId uint64 `protobuf:"varint,3,opt,name=incoming_htlc_id,json=incomingHtlcId,proto3" json:"incoming_htlc_id,omitempty"`
//*
//
//Outgoing id is the index of the outgoing htlc in the outgoing channel.
//This value is zero for receives.
OutgoingHtlcId uint64 `protobuf:"varint,4,opt,name=outgoing_htlc_id,json=outgoingHtlcId,proto3" json:"outgoing_htlc_id,omitempty"`
//*
//
//The time in unix nanoseconds that the event occurred.
TimestampNs uint64 `protobuf:"varint,5,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"`
//*
//
//The event type indicates whether the htlc was part of a send, receive or
//forward.
EventType HtlcEvent_EventType `protobuf:"varint,6,opt,name=event_type,json=eventType,proto3,enum=routerrpc.HtlcEvent_EventType" json:"event_type,omitempty"`
@ -1587,7 +1587,7 @@ type LinkFailEvent struct {
Info *HtlcInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
// FailureCode is the BOLT error code for the failure.
WireFailure lnrpc.Failure_FailureCode `protobuf:"varint,2,opt,name=wire_failure,json=wireFailure,proto3,enum=lnrpc.Failure_FailureCode" json:"wire_failure,omitempty"`
//*
//
//FailureDetail provides additional information about the reason for the
//failure. This detail enriches the information provided by the wire message
//and may be 'no detail' if the wire message requires no additional metadata.
@ -1653,12 +1653,12 @@ func (m *LinkFailEvent) GetFailureString() string {
}
type PaymentStatus struct {
/// Current state the payment is in.
// Current state the payment is in.
State PaymentState `protobuf:"varint,1,opt,name=state,proto3,enum=routerrpc.PaymentState" json:"state,omitempty"`
//*
//
//The pre-image of the payment when state is SUCCEEDED.
Preimage []byte `protobuf:"bytes,2,opt,name=preimage,proto3" json:"preimage,omitempty"`
//*
//
//The HTLCs made in attempt to settle the payment [EXPERIMENTAL].
Htlcs []*lnrpc.HTLCAttempt `protobuf:"bytes,4,rep,name=htlcs,proto3" json:"htlcs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -1902,51 +1902,51 @@ const _ = grpc.SupportPackageIsVersion4
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type RouterClient interface {
//*
//
//SendPaymentV2 attempts to route a payment described by the passed
//PaymentRequest to the final destination. The call returns a stream of
//payment updates.
SendPaymentV2(ctx context.Context, in *SendPaymentRequest, opts ...grpc.CallOption) (Router_SendPaymentV2Client, error)
//*
//
//TrackPaymentV2 returns an update stream for the payment identified by the
//payment hash.
TrackPaymentV2(ctx context.Context, in *TrackPaymentRequest, opts ...grpc.CallOption) (Router_TrackPaymentV2Client, error)
//*
//
//EstimateRouteFee allows callers to obtain a lower bound w.r.t how much it
//may cost to send an HTLC to the target end destination.
EstimateRouteFee(ctx context.Context, in *RouteFeeRequest, opts ...grpc.CallOption) (*RouteFeeResponse, error)
//*
//
//SendToRoute attempts to make a payment via the specified route. This method
//differs from SendPayment in that it allows users to specify a full route
//manually. This can be used for things like rebalancing, and atomic swaps.
SendToRoute(ctx context.Context, in *SendToRouteRequest, opts ...grpc.CallOption) (*SendToRouteResponse, error)
//*
//
//ResetMissionControl clears all mission control state and starts with a clean
//slate.
ResetMissionControl(ctx context.Context, in *ResetMissionControlRequest, opts ...grpc.CallOption) (*ResetMissionControlResponse, error)
//*
//
//QueryMissionControl exposes the internal mission control state to callers.
//It is a development feature.
QueryMissionControl(ctx context.Context, in *QueryMissionControlRequest, opts ...grpc.CallOption) (*QueryMissionControlResponse, error)
//*
//
//QueryProbability returns the current success probability estimate for a
//given node pair and amount.
QueryProbability(ctx context.Context, in *QueryProbabilityRequest, opts ...grpc.CallOption) (*QueryProbabilityResponse, error)
//*
//
//BuildRoute builds a fully specified route based on a list of hop public
//keys. It retrieves the relevant channel policies from the graph in order to
//calculate the correct fees and time locks.
BuildRoute(ctx context.Context, in *BuildRouteRequest, opts ...grpc.CallOption) (*BuildRouteResponse, error)
//*
//
//SubscribeHtlcEvents creates a uni-directional stream from the server to
//the client which delivers a stream of htlc events.
SubscribeHtlcEvents(ctx context.Context, in *SubscribeHtlcEventsRequest, opts ...grpc.CallOption) (Router_SubscribeHtlcEventsClient, error)
//*
//
//Deprecated, use SendPaymentV2. SendPayment attempts to route a payment
//described by the passed PaymentRequest to the final destination. The call
//returns a stream of payment status updates.
SendPayment(ctx context.Context, in *SendPaymentRequest, opts ...grpc.CallOption) (Router_SendPaymentClient, error)
//*
//
//Deprecated, use TrackPaymentV2. TrackPayment returns an update stream for
//the payment identified by the payment hash.
TrackPayment(ctx context.Context, in *TrackPaymentRequest, opts ...grpc.CallOption) (Router_TrackPaymentClient, error)
@ -2178,51 +2178,51 @@ func (x *routerTrackPaymentClient) Recv() (*PaymentStatus, error) {
// RouterServer is the server API for Router service.
type RouterServer interface {
//*
//
//SendPaymentV2 attempts to route a payment described by the passed
//PaymentRequest to the final destination. The call returns a stream of
//payment updates.
SendPaymentV2(*SendPaymentRequest, Router_SendPaymentV2Server) error
//*
//
//TrackPaymentV2 returns an update stream for the payment identified by the
//payment hash.
TrackPaymentV2(*TrackPaymentRequest, Router_TrackPaymentV2Server) error
//*
//
//EstimateRouteFee allows callers to obtain a lower bound w.r.t how much it
//may cost to send an HTLC to the target end destination.
EstimateRouteFee(context.Context, *RouteFeeRequest) (*RouteFeeResponse, error)
//*
//
//SendToRoute attempts to make a payment via the specified route. This method
//differs from SendPayment in that it allows users to specify a full route
//manually. This can be used for things like rebalancing, and atomic swaps.
SendToRoute(context.Context, *SendToRouteRequest) (*SendToRouteResponse, error)
//*
//
//ResetMissionControl clears all mission control state and starts with a clean
//slate.
ResetMissionControl(context.Context, *ResetMissionControlRequest) (*ResetMissionControlResponse, error)
//*
//
//QueryMissionControl exposes the internal mission control state to callers.
//It is a development feature.
QueryMissionControl(context.Context, *QueryMissionControlRequest) (*QueryMissionControlResponse, error)
//*
//
//QueryProbability returns the current success probability estimate for a
//given node pair and amount.
QueryProbability(context.Context, *QueryProbabilityRequest) (*QueryProbabilityResponse, error)
//*
//
//BuildRoute builds a fully specified route based on a list of hop public
//keys. It retrieves the relevant channel policies from the graph in order to
//calculate the correct fees and time locks.
BuildRoute(context.Context, *BuildRouteRequest) (*BuildRouteResponse, error)
//*
//
//SubscribeHtlcEvents creates a uni-directional stream from the server to
//the client which delivers a stream of htlc events.
SubscribeHtlcEvents(*SubscribeHtlcEventsRequest, Router_SubscribeHtlcEventsServer) error
//*
//
//Deprecated, use SendPaymentV2. SendPayment attempts to route a payment
//described by the passed PaymentRequest to the final destination. The call
//returns a stream of payment status updates.
SendPayment(*SendPaymentRequest, Router_SendPaymentServer) error
//*
//
//Deprecated, use TrackPaymentV2. TrackPayment returns an update stream for
//the payment identified by the payment hash.
TrackPayment(*TrackPaymentRequest, Router_TrackPaymentServer) error

View File

@ -9,68 +9,68 @@ option go_package = "github.com/lightningnetwork/lnd/lnrpc/routerrpc";
// Router is a service that offers advanced interaction with the router
// subsystem of the daemon.
service Router {
/**
/*
SendPaymentV2 attempts to route a payment described by the passed
PaymentRequest to the final destination. The call returns a stream of
payment updates.
*/
rpc SendPaymentV2 (SendPaymentRequest) returns (stream lnrpc.Payment);
/**
/*
TrackPaymentV2 returns an update stream for the payment identified by the
payment hash.
*/
rpc TrackPaymentV2 (TrackPaymentRequest) returns (stream lnrpc.Payment);
/**
/*
EstimateRouteFee allows callers to obtain a lower bound w.r.t how much it
may cost to send an HTLC to the target end destination.
*/
rpc EstimateRouteFee (RouteFeeRequest) returns (RouteFeeResponse);
/**
/*
SendToRoute attempts to make a payment via the specified route. This method
differs from SendPayment in that it allows users to specify a full route
manually. This can be used for things like rebalancing, and atomic swaps.
*/
rpc SendToRoute (SendToRouteRequest) returns (SendToRouteResponse);
/**
/*
ResetMissionControl clears all mission control state and starts with a clean
slate.
*/
rpc ResetMissionControl (ResetMissionControlRequest)
returns (ResetMissionControlResponse);
/**
/*
QueryMissionControl exposes the internal mission control state to callers.
It is a development feature.
*/
rpc QueryMissionControl (QueryMissionControlRequest)
returns (QueryMissionControlResponse);
/**
/*
QueryProbability returns the current success probability estimate for a
given node pair and amount.
*/
rpc QueryProbability (QueryProbabilityRequest)
returns (QueryProbabilityResponse);
/**
/*
BuildRoute builds a fully specified route based on a list of hop public
keys. It retrieves the relevant channel policies from the graph in order to
calculate the correct fees and time locks.
*/
rpc BuildRoute (BuildRouteRequest) returns (BuildRouteResponse);
/**
/*
SubscribeHtlcEvents creates a uni-directional stream from the server to
the client which delivers a stream of htlc events.
*/
rpc SubscribeHtlcEvents (SubscribeHtlcEventsRequest)
returns (stream HtlcEvent);
/**
/*
Deprecated, use SendPaymentV2. SendPayment attempts to route a payment
described by the passed PaymentRequest to the final destination. The call
returns a stream of payment status updates.
@ -79,7 +79,7 @@ service Router {
option deprecated = true;
}
/**
/*
Deprecated, use TrackPaymentV2. TrackPayment returns an update stream for
the payment identified by the payment hash.
*/
@ -89,33 +89,33 @@ service Router {
}
message SendPaymentRequest {
/// The identity pubkey of the payment recipient
// The identity pubkey of the payment recipient
bytes dest = 1;
/**
/*
Number of satoshis to send.
The fields amt and amt_msat are mutually exclusive.
*/
int64 amt = 2;
/**
/*
Number of millisatoshis to send.
The fields amt and amt_msat are mutually exclusive.
*/
int64 amt_msat = 12;
/// The hash to use within the payment's HTLC
// The hash to use within the payment's HTLC
bytes payment_hash = 3;
/**
/*
The CLTV delta from the current height that should be used to set the
timelock for the final hop.
*/
int32 final_cltv_delta = 4;
/**
/*
A bare-bones invoice for a payment within the Lightning Network. With the
details of the invoice, the sender has all the data necessary to send a
payment to the recipient. The amount in the payment request may be zero. In
@ -124,7 +124,7 @@ message SendPaymentRequest {
*/
string payment_request = 5;
/**
/*
An upper limit on the amount of time we should spend when attempting to
fulfill the payment. This is expressed in seconds. If we cannot make a
successful payment within this time frame, an error will be returned.
@ -132,7 +132,7 @@ message SendPaymentRequest {
*/
int32 timeout_seconds = 6;
/**
/*
The maximum number of satoshis that will be paid as a fee of the payment.
If this field is left to the default value of 0, only zero-fee routes will
be considered. This usually means single hop routes connecting directly to
@ -142,7 +142,7 @@ message SendPaymentRequest {
*/
int64 fee_limit_sat = 7;
/**
/*
The maximum number of millisatoshis that will be paid as a fee of the
payment. If this field is left to the default value of 0, only zero-fee
routes will be considered. This usually means single hop routes connecting
@ -153,30 +153,30 @@ message SendPaymentRequest {
*/
int64 fee_limit_msat = 13;
/**
/*
The channel id of the channel that must be taken to the first hop. If zero,
any channel may be used.
*/
uint64 outgoing_chan_id = 8 [jstype = JS_STRING];
/**
/*
The pubkey of the last hop of the route. If empty, any hop may be used.
*/
bytes last_hop_pubkey = 14;
/**
/*
An optional maximum total time lock for the route. This should not exceed
lnd's `--max-cltv-expiry` setting. If zero, then the value of
`--max-cltv-expiry` is enforced.
*/
int32 cltv_limit = 9;
/**
/*
Optional route hints to reach the destination through private channels.
*/
repeated lnrpc.RouteHint route_hints = 10;
/**
/*
An optional field that can be used to pass an arbitrary set of TLV records
to a peer which understands the new records. This can be used to pass
application specific data during the payment attempt. Record types are
@ -185,10 +185,10 @@ message SendPaymentRequest {
*/
map<uint64, bytes> dest_custom_records = 11;
/// If set, circular payments to self are permitted.
// If set, circular payments to self are permitted.
bool allow_self_payment = 15;
/**
/*
Features assumed to be supported by the final node. All transitive feature
dependencies must also be set properly. For a given feature bit pair, either
optional or remote may be set, but not both. If this field is nil or empty,
@ -197,13 +197,13 @@ message SendPaymentRequest {
*/
repeated lnrpc.FeatureBit dest_features = 16;
/**
/*
The maximum number of partial payments that may be use to complete the full
amount.
*/
uint32 max_parts = 17;
/**
/*
If set, only the final payment update is streamed back. Intermediate updates
that show which htlcs are still in flight are suppressed.
*/
@ -211,10 +211,10 @@ message SendPaymentRequest {
}
message TrackPaymentRequest {
/// The hash of the payment to look up.
// The hash of the payment to look up.
bytes payment_hash = 1;
/**
/*
If set, only the final payment update is streamed back. Intermediate updates
that show which htlcs are still in flight are suppressed.
*/
@ -222,25 +222,25 @@ message TrackPaymentRequest {
}
message RouteFeeRequest {
/**
/*
The destination once wishes to obtain a routing fee quote to.
*/
bytes dest = 1;
/**
/*
The amount one wishes to send to the target destination.
*/
int64 amt_sat = 2;
}
message RouteFeeResponse {
/**
/*
A lower bound of the estimated fee to the target destination within the
network, expressed in milli-satoshis.
*/
int64 routing_fee_msat = 1;
/**
/*
An estimate of the worst case time delay that can occur. Note that callers
will still need to factor in the final CLTV delta of the last hop into this
value.
@ -249,18 +249,18 @@ message RouteFeeResponse {
}
message SendToRouteRequest {
/// The payment hash to use for the HTLC.
// The payment hash to use for the HTLC.
bytes payment_hash = 1;
/// Route that should be used to attempt to complete the payment.
// Route that should be used to attempt to complete the payment.
lnrpc.Route route = 2;
}
message SendToRouteResponse {
/// The preimage obtained by making the payment.
// The preimage obtained by making the payment.
bytes preimage = 1;
/// The failure message in case the payment failed.
// The failure message in case the payment failed.
lnrpc.Failure failure = 2;
}
@ -273,20 +273,20 @@ message ResetMissionControlResponse {
message QueryMissionControlRequest {
}
/// QueryMissionControlResponse contains mission control state.
// QueryMissionControlResponse contains mission control state.
message QueryMissionControlResponse {
reserved 1;
/// Node pair-level mission control state.
// Node pair-level mission control state.
repeated PairHistory pairs = 2;
}
/// PairHistory contains the mission control state for a particular node pair.
// PairHistory contains the mission control state for a particular node pair.
message PairHistory {
/// The source node pubkey of the pair.
// The source node pubkey of the pair.
bytes node_from = 1;
/// The destination node pubkey of the pair.
// The destination node pubkey of the pair.
bytes node_to = 2;
reserved 3, 4, 5, 6;
@ -295,16 +295,16 @@ message PairHistory {
}
message PairData {
/// Time of last failure.
// Time of last failure.
int64 fail_time = 1;
/**
/*
Lowest amount that failed to forward rounded to whole sats. This may be
set to zero if the failure is independent of amount.
*/
int64 fail_amt_sat = 2;
/**
/*
Lowest amount that failed to forward in millisats. This may be
set to zero if the failure is independent of amount.
*/
@ -312,55 +312,55 @@ message PairData {
reserved 3;
/// Time of last success.
// Time of last success.
int64 success_time = 5;
/// Highest amount that we could successfully forward rounded to whole sats.
// Highest amount that we could successfully forward rounded to whole sats.
int64 success_amt_sat = 6;
/// Highest amount that we could successfully forward in millisats.
// Highest amount that we could successfully forward in millisats.
int64 success_amt_msat = 7;
}
message QueryProbabilityRequest {
/// The source node pubkey of the pair.
// The source node pubkey of the pair.
bytes from_node = 1;
/// The destination node pubkey of the pair.
// The destination node pubkey of the pair.
bytes to_node = 2;
/// The amount for which to calculate a probability.
// The amount for which to calculate a probability.
int64 amt_msat = 3;
}
message QueryProbabilityResponse {
/// The success probability for the requested pair.
// The success probability for the requested pair.
double probability = 1;
/// The historical data for the requested pair.
// The historical data for the requested pair.
PairData history = 2;
}
message BuildRouteRequest {
/**
/*
The amount to send expressed in msat. If set to zero, the minimum routable
amount is used.
*/
int64 amt_msat = 1;
/**
/*
CLTV delta from the current height that should be used for the timelock
of the final hop
*/
int32 final_cltv_delta = 2;
/**
/*
The channel id of the channel that must be taken to the first hop. If zero,
any channel may be used.
*/
uint64 outgoing_chan_id = 3 [jstype = JS_STRING];
/**
/*
A list of hops that defines the route. This does not include the source hop
pubkey.
*/
@ -368,7 +368,7 @@ message BuildRouteRequest {
}
message BuildRouteResponse {
/**
/*
Fully specified route that can be used to execute the payment.
*/
lnrpc.Route route = 1;
@ -377,7 +377,7 @@ message BuildRouteResponse {
message SubscribeHtlcEventsRequest {
}
/**
/*
HtlcEvent contains the htlc event that was processed. These are served on a
best-effort basis; events are not persisted, delivery is not guaranteed
(in the event of a crash in the switch, forward events may be lost) and
@ -386,31 +386,31 @@ should be de-duplicated by the htlc's unique combination of incoming and
outgoing channel id and htlc id. [EXPERIMENTAL]
*/
message HtlcEvent {
/**
/*
The short channel id that the incoming htlc arrived at our node on. This
value is zero for sends.
*/
uint64 incoming_channel_id = 1;
/**
/*
The short channel id that the outgoing htlc left our node on. This value
is zero for receives.
*/
uint64 outgoing_channel_id = 2;
/**
/*
Incoming id is the index of the incoming htlc in the incoming channel.
This value is zero for sends.
*/
uint64 incoming_htlc_id = 3;
/**
/*
Outgoing id is the index of the outgoing htlc in the outgoing channel.
This value is zero for receives.
*/
uint64 outgoing_htlc_id = 4;
/**
/*
The time in unix nanoseconds that the event occurred.
*/
uint64 timestamp_ns = 5;
@ -422,7 +422,7 @@ message HtlcEvent {
FORWARD = 3;
}
/**
/*
The event type indicates whether the htlc was part of a send, receive or
forward.
*/
@ -468,7 +468,7 @@ message LinkFailEvent {
// FailureCode is the BOLT error code for the failure.
lnrpc.Failure.FailureCode wire_failure = 2;
/**
/*
FailureDetail provides additional information about the reason for the
failure. This detail enriches the information provided by the wire message
and may be 'no detail' if the wire message requires no additional metadata.
@ -506,56 +506,56 @@ enum FailureDetail {
}
enum PaymentState {
/**
/*
Payment is still in flight.
*/
IN_FLIGHT = 0;
/**
/*
Payment completed successfully.
*/
SUCCEEDED = 1;
/**
/*
There are more routes to try, but the payment timeout was exceeded.
*/
FAILED_TIMEOUT = 2;
/**
/*
All possible routes were tried and failed permanently. Or were no
routes to the destination at all.
*/
FAILED_NO_ROUTE = 3;
/**
/*
A non-recoverable error has occured.
*/
FAILED_ERROR = 4;
/**
/*
Payment details incorrect (unknown hash, invalid amt or
invalid final cltv delta)
*/
FAILED_INCORRECT_PAYMENT_DETAILS = 5;
/**
/*
Insufficient local balance.
*/
FAILED_INSUFFICIENT_BALANCE = 6;
}
message PaymentStatus {
/// Current state the payment is in.
// Current state the payment is in.
PaymentState state = 1;
/**
/*
The pre-image of the payment when state is SUCCEEDED.
*/
bytes preimage = 2;
reserved 3;
/**
/*
The HTLCs made in attempt to settle the payment [EXPERIMENTAL].
*/
repeated lnrpc.HTLCAttempt htlcs = 4;

View File

@ -23,7 +23,7 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
//*
//
//`AddressType` has to be one of:
//
//- `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0)
@ -62,22 +62,22 @@ func (AddressType) EnumDescriptor() ([]byte, []int) {
type CommitmentType int32
const (
//*
//
//A channel using the legacy commitment format having tweaked to_remote
//keys.
CommitmentType_LEGACY CommitmentType = 0
//*
//
//A channel that uses the modern commitment format where the key in the
//output of the remote party does not change each state. This makes back
//up and recovery easier as when the channel is closed, the funds go
//directly to that key.
CommitmentType_STATIC_REMOTE_KEY CommitmentType = 1
//*
//
//A channel that uses a commitment format that has anchor outputs on the
//commitments, allowing fee bumping after a force close transaction has
//been broadcast.
CommitmentType_ANCHORS CommitmentType = 2
//*
//
//Returned when the commitment type isn't known or unavailable.
CommitmentType_UNKNOWN_COMMITMENT_TYPE CommitmentType = 999
)
@ -191,24 +191,24 @@ func (InvoiceHTLCState) EnumDescriptor() ([]byte, []int) {
type PaymentFailureReason int32
const (
//*
//
//Payment isn't failed (yet).
PaymentFailureReason_FAILURE_REASON_NONE PaymentFailureReason = 0
//*
//
//There are more routes to try, but the payment timeout was exceeded.
PaymentFailureReason_FAILURE_REASON_TIMEOUT PaymentFailureReason = 1
//*
//
//All possible routes were tried and failed permanently. Or were no
//routes to the destination at all.
PaymentFailureReason_FAILURE_REASON_NO_ROUTE PaymentFailureReason = 2
//*
//
//A non-recoverable error has occured.
PaymentFailureReason_FAILURE_REASON_ERROR PaymentFailureReason = 3
//*
//
//Payment details incorrect (unknown hash, invalid amt or
//invalid final cltv delta)
PaymentFailureReason_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS PaymentFailureReason = 4
//*
//
//Insufficient local balance.
PaymentFailureReason_FAILURE_REASON_INSUFFICIENT_BALANCE PaymentFailureReason = 5
)
@ -349,13 +349,13 @@ func (ChannelCloseSummary_ClosureType) EnumDescriptor() ([]byte, []int) {
type Peer_SyncType int32
const (
//*
//
//Denotes that we cannot determine the peer's current sync type.
Peer_UNKNOWN_SYNC Peer_SyncType = 0
//*
//
//Denotes that we are actively receiving new graph updates from the peer.
Peer_ACTIVE_SYNC Peer_SyncType = 1
//*
//
//Denotes that we are not receiving new graph updates from the peer.
Peer_PASSIVE_SYNC Peer_SyncType = 2
)
@ -560,7 +560,7 @@ func (HTLCAttempt_HTLCStatus) EnumDescriptor() ([]byte, []int) {
type Failure_FailureCode int32
const (
//*
//
//The numbers assigned in this enumeration match the failure codes as
//defined in BOLT #4. Because protobuf 3 requires enums to start with 0,
//a RESERVED value is added.
@ -588,13 +588,13 @@ const (
Failure_PERMANENT_CHANNEL_FAILURE Failure_FailureCode = 21
Failure_EXPIRY_TOO_FAR Failure_FailureCode = 22
Failure_MPP_TIMEOUT Failure_FailureCode = 23
//*
//
//An internal error occurred.
Failure_INTERNAL_FAILURE Failure_FailureCode = 997
//*
//
//The error source is known, but the failure itself couldn't be decoded.
Failure_UNKNOWN_FAILURE Failure_FailureCode = 998
//*
//
//An unreadable failure result is returned if the received failure message
//cannot be decrypted. In that case the error source is unknown.
Failure_UNREADABLE_FAILURE Failure_FailureCode = 999
@ -669,17 +669,17 @@ func (Failure_FailureCode) EnumDescriptor() ([]byte, []int) {
}
type Utxo struct {
/// The type of address
// The type of address
AddressType AddressType `protobuf:"varint,1,opt,name=address_type,json=addressType,proto3,enum=lnrpc.AddressType" json:"address_type,omitempty"`
/// The address
// The address
Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
/// The value of the unspent coin in satoshis
// The value of the unspent coin in satoshis
AmountSat int64 `protobuf:"varint,3,opt,name=amount_sat,json=amountSat,proto3" json:"amount_sat,omitempty"`
/// The pkscript in hex
// The pkscript in hex
PkScript string `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
/// The outpoint in format txid:n
// The outpoint in format txid:n
Outpoint *OutPoint `protobuf:"bytes,5,opt,name=outpoint,proto3" json:"outpoint,omitempty"`
/// The number of confirmations for the Utxo
// The number of confirmations for the Utxo
Confirmations int64 `protobuf:"varint,6,opt,name=confirmations,proto3" json:"confirmations,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -754,23 +754,23 @@ func (m *Utxo) GetConfirmations() int64 {
}
type Transaction struct {
/// The transaction hash
// The transaction hash
TxHash string `protobuf:"bytes,1,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"`
/// The transaction amount, denominated in satoshis
// The transaction amount, denominated in satoshis
Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
/// The number of confirmations
// The number of confirmations
NumConfirmations int32 `protobuf:"varint,3,opt,name=num_confirmations,json=numConfirmations,proto3" json:"num_confirmations,omitempty"`
/// The hash of the block this transaction was included in
// The hash of the block this transaction was included in
BlockHash string `protobuf:"bytes,4,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
/// The height of the block this transaction was included in
// The height of the block this transaction was included in
BlockHeight int32 `protobuf:"varint,5,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"`
/// Timestamp of this transaction
// Timestamp of this transaction
TimeStamp int64 `protobuf:"varint,6,opt,name=time_stamp,json=timeStamp,proto3" json:"time_stamp,omitempty"`
/// Fees paid for this transaction
// Fees paid for this transaction
TotalFees int64 `protobuf:"varint,7,opt,name=total_fees,json=totalFees,proto3" json:"total_fees,omitempty"`
/// Addresses that received funds for this transaction
// Addresses that received funds for this transaction
DestAddresses []string `protobuf:"bytes,8,rep,name=dest_addresses,json=destAddresses,proto3" json:"dest_addresses,omitempty"`
/// The raw transaction hex.
// The raw transaction hex.
RawTxHex string `protobuf:"bytes,9,opt,name=raw_tx_hex,json=rawTxHex,proto3" json:"raw_tx_hex,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -922,7 +922,7 @@ func (m *GetTransactionsRequest) GetEndHeight() int32 {
}
type TransactionDetails struct {
/// The list of transactions relevant to the wallet.
// The list of transactions relevant to the wallet.
Transactions []*Transaction `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1057,69 +1057,69 @@ func (*FeeLimit) XXX_OneofWrappers() []interface{} {
}
type SendRequest struct {
//*
//
//The identity pubkey of the payment recipient. When using REST, this field
//must be encoded as base64.
Dest []byte `protobuf:"bytes,1,opt,name=dest,proto3" json:"dest,omitempty"`
//*
//
//The hex-encoded identity pubkey of the payment recipient. Deprecated now
//that the REST gateway supports base64 encoding of bytes fields.
DestString string `protobuf:"bytes,2,opt,name=dest_string,json=destString,proto3" json:"dest_string,omitempty"` // Deprecated: Do not use.
//*
//
//The amount to send expressed in satoshis.
//
//The fields amt and amt_msat are mutually exclusive.
Amt int64 `protobuf:"varint,3,opt,name=amt,proto3" json:"amt,omitempty"`
//*
//
//The amount to send expressed in millisatoshis.
//
//The fields amt and amt_msat are mutually exclusive.
AmtMsat int64 `protobuf:"varint,12,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"`
//*
//
//The hash to use within the payment's HTLC. When using REST, this field
//must be encoded as base64.
PaymentHash []byte `protobuf:"bytes,4,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
//*
//
//The hex-encoded hash to use within the payment's HTLC. Deprecated now
//that the REST gateway supports base64 encoding of bytes fields.
PaymentHashString string `protobuf:"bytes,5,opt,name=payment_hash_string,json=paymentHashString,proto3" json:"payment_hash_string,omitempty"` // Deprecated: Do not use.
//*
//
//A bare-bones invoice for a payment within the Lightning Network. With the
//details of the invoice, the sender has all the data necessary to send a
//payment to the recipient.
PaymentRequest string `protobuf:"bytes,6,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"`
//*
//
//The CLTV delta from the current height that should be used to set the
//timelock for the final hop.
FinalCltvDelta int32 `protobuf:"varint,7,opt,name=final_cltv_delta,json=finalCltvDelta,proto3" json:"final_cltv_delta,omitempty"`
//*
//
//The maximum number of satoshis that will be paid as a fee of the payment.
//This value can be represented either as a percentage of the amount being
//sent, or as a fixed amount of the maximum fee the user is willing the pay to
//send the payment.
FeeLimit *FeeLimit `protobuf:"bytes,8,opt,name=fee_limit,json=feeLimit,proto3" json:"fee_limit,omitempty"`
//*
//
//The channel id of the channel that must be taken to the first hop. If zero,
//any channel may be used.
OutgoingChanId uint64 `protobuf:"varint,9,opt,name=outgoing_chan_id,json=outgoingChanId,proto3" json:"outgoing_chan_id,omitempty"`
//*
//
//The pubkey of the last hop of the route. If empty, any hop may be used.
LastHopPubkey []byte `protobuf:"bytes,13,opt,name=last_hop_pubkey,json=lastHopPubkey,proto3" json:"last_hop_pubkey,omitempty"`
//*
//
//An optional maximum total time lock for the route. This should not exceed
//lnd's `--max-cltv-expiry` setting. If zero, then the value of
//`--max-cltv-expiry` is enforced.
CltvLimit uint32 `protobuf:"varint,10,opt,name=cltv_limit,json=cltvLimit,proto3" json:"cltv_limit,omitempty"`
//*
//
//An optional field that can be used to pass an arbitrary set of TLV records
//to a peer which understands the new records. This can be used to pass
//application specific data during the payment attempt. Record types are
//required to be in the custom range >= 65536. When using REST, the values
//must be encoded as base64.
DestCustomRecords map[uint64][]byte `protobuf:"bytes,11,rep,name=dest_custom_records,json=destCustomRecords,proto3" json:"dest_custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
/// If set, circular payments to self are permitted.
// If set, circular payments to self are permitted.
AllowSelfPayment bool `protobuf:"varint,14,opt,name=allow_self_payment,json=allowSelfPayment,proto3" json:"allow_self_payment,omitempty"`
//*
//
//Features assumed to be supported by the final node. All transitive feature
//dependencies must also be set properly. For a given feature bit pair, either
//optional or remote may be set, but not both. If this field is nil or empty,
@ -1327,15 +1327,15 @@ func (m *SendResponse) GetPaymentHash() []byte {
}
type SendToRouteRequest struct {
//*
//
//The payment hash to use for the HTLC. When using REST, this field must be
//encoded as base64.
PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
//*
//
//An optional hex-encoded payment hash to be used for the HTLC. Deprecated now
//that the REST gateway supports base64 encoding of bytes fields.
PaymentHashString string `protobuf:"bytes,2,opt,name=payment_hash_string,json=paymentHashString,proto3" json:"payment_hash_string,omitempty"` // Deprecated: Do not use.
/// Route that should be used to attempt to complete the payment.
// Route that should be used to attempt to complete the payment.
Route *Route `protobuf:"bytes,4,opt,name=route,proto3" json:"route,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1390,38 +1390,38 @@ func (m *SendToRouteRequest) GetRoute() *Route {
}
type ChannelAcceptRequest struct {
/// The pubkey of the node that wishes to open an inbound channel.
// The pubkey of the node that wishes to open an inbound channel.
NodePubkey []byte `protobuf:"bytes,1,opt,name=node_pubkey,json=nodePubkey,proto3" json:"node_pubkey,omitempty"`
/// The hash of the genesis block that the proposed channel resides in.
// The hash of the genesis block that the proposed channel resides in.
ChainHash []byte `protobuf:"bytes,2,opt,name=chain_hash,json=chainHash,proto3" json:"chain_hash,omitempty"`
/// The pending channel id.
// The pending channel id.
PendingChanId []byte `protobuf:"bytes,3,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"`
/// The funding amount in satoshis that initiator wishes to use in the
/// channel.
// The funding amount in satoshis that initiator wishes to use in the
// channel.
FundingAmt uint64 `protobuf:"varint,4,opt,name=funding_amt,json=fundingAmt,proto3" json:"funding_amt,omitempty"`
/// The push amount of the proposed channel in millisatoshis.
// The push amount of the proposed channel in millisatoshis.
PushAmt uint64 `protobuf:"varint,5,opt,name=push_amt,json=pushAmt,proto3" json:"push_amt,omitempty"`
/// The dust limit of the initiator's commitment tx.
// The dust limit of the initiator's commitment tx.
DustLimit uint64 `protobuf:"varint,6,opt,name=dust_limit,json=dustLimit,proto3" json:"dust_limit,omitempty"`
/// The maximum amount of coins in millisatoshis that can be pending in this
/// channel.
// The maximum amount of coins in millisatoshis that can be pending in this
// channel.
MaxValueInFlight uint64 `protobuf:"varint,7,opt,name=max_value_in_flight,json=maxValueInFlight,proto3" json:"max_value_in_flight,omitempty"`
/// The minimum amount of satoshis the initiator requires us to have at all
/// times.
// The minimum amount of satoshis the initiator requires us to have at all
// times.
ChannelReserve uint64 `protobuf:"varint,8,opt,name=channel_reserve,json=channelReserve,proto3" json:"channel_reserve,omitempty"`
/// The smallest HTLC in millisatoshis that the initiator will accept.
// The smallest HTLC in millisatoshis that the initiator will accept.
MinHtlc uint64 `protobuf:"varint,9,opt,name=min_htlc,json=minHtlc,proto3" json:"min_htlc,omitempty"`
/// The initial fee rate that the initiator suggests for both commitment
/// transactions.
// The initial fee rate that the initiator suggests for both commitment
// transactions.
FeePerKw uint64 `protobuf:"varint,10,opt,name=fee_per_kw,json=feePerKw,proto3" json:"fee_per_kw,omitempty"`
//*
//
//The number of blocks to use for the relative time lock in the pay-to-self
//output of both commitment transactions.
CsvDelay uint32 `protobuf:"varint,11,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"`
/// The total number of incoming HTLC's that the initiator will accept.
// The total number of incoming HTLC's that the initiator will accept.
MaxAcceptedHtlcs uint32 `protobuf:"varint,12,opt,name=max_accepted_htlcs,json=maxAcceptedHtlcs,proto3" json:"max_accepted_htlcs,omitempty"`
/// A bit-field which the initiator uses to specify proposed channel
/// behavior.
// A bit-field which the initiator uses to specify proposed channel
// behavior.
ChannelFlags uint32 `protobuf:"varint,13,opt,name=channel_flags,json=channelFlags,proto3" json:"channel_flags,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1545,9 +1545,9 @@ func (m *ChannelAcceptRequest) GetChannelFlags() uint32 {
}
type ChannelAcceptResponse struct {
/// Whether or not the client accepts the channel.
// Whether or not the client accepts the channel.
Accept bool `protobuf:"varint,1,opt,name=accept,proto3" json:"accept,omitempty"`
/// The pending channel id to which this response applies.
// The pending channel id to which this response applies.
PendingChanId []byte `protobuf:"bytes,2,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1598,7 +1598,7 @@ type ChannelPoint struct {
// *ChannelPoint_FundingTxidBytes
// *ChannelPoint_FundingTxidStr
FundingTxid isChannelPoint_FundingTxid `protobuf_oneof:"funding_txid"`
/// The index of the output of the funding transaction
// The index of the output of the funding transaction
OutputIndex uint32 `protobuf:"varint,3,opt,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1683,11 +1683,11 @@ func (*ChannelPoint) XXX_OneofWrappers() []interface{} {
}
type OutPoint struct {
/// Raw bytes representing the transaction id.
// Raw bytes representing the transaction id.
TxidBytes []byte `protobuf:"bytes,1,opt,name=txid_bytes,json=txidBytes,proto3" json:"txid_bytes,omitempty"`
/// Reversed, hex-encoded string representing the transaction id.
// Reversed, hex-encoded string representing the transaction id.
TxidStr string `protobuf:"bytes,2,opt,name=txid_str,json=txidStr,proto3" json:"txid_str,omitempty"`
/// The index of the output on the transaction.
// The index of the output on the transaction.
OutputIndex uint32 `protobuf:"varint,3,opt,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1741,10 +1741,10 @@ func (m *OutPoint) GetOutputIndex() uint32 {
}
type LightningAddress struct {
/// The identity pubkey of the Lightning node
// The identity pubkey of the Lightning node
Pubkey string `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
/// The network location of the lightning node, e.g. `69.69.69.69:1337` or
/// `localhost:10011`
// The network location of the lightning node, e.g. `69.69.69.69:1337` or
// `localhost:10011`
Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1791,10 +1791,10 @@ func (m *LightningAddress) GetHost() string {
}
type EstimateFeeRequest struct {
/// The map from addresses to amounts for the transaction.
// The map from addresses to amounts for the transaction.
AddrToAmount map[string]int64 `protobuf:"bytes,1,rep,name=AddrToAmount,proto3" json:"AddrToAmount,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
/// The target number of blocks that this transaction should be confirmed
/// by.
// The target number of blocks that this transaction should be confirmed
// by.
TargetConf int32 `protobuf:"varint,2,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1841,9 +1841,9 @@ func (m *EstimateFeeRequest) GetTargetConf() int32 {
}
type EstimateFeeResponse struct {
/// The total fee in satoshis.
// The total fee in satoshis.
FeeSat int64 `protobuf:"varint,1,opt,name=fee_sat,json=feeSat,proto3" json:"fee_sat,omitempty"`
/// The fee rate in satoshi/byte.
// The fee rate in satoshi/byte.
FeerateSatPerByte int64 `protobuf:"varint,2,opt,name=feerate_sat_per_byte,json=feerateSatPerByte,proto3" json:"feerate_sat_per_byte,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1890,13 +1890,13 @@ func (m *EstimateFeeResponse) GetFeerateSatPerByte() int64 {
}
type SendManyRequest struct {
/// The map from addresses to amounts
// The map from addresses to amounts
AddrToAmount map[string]int64 `protobuf:"bytes,1,rep,name=AddrToAmount,proto3" json:"AddrToAmount,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
/// The target number of blocks that this transaction should be confirmed
/// by.
// The target number of blocks that this transaction should be confirmed
// by.
TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"`
/// A manual fee rate set in sat/byte that should be used when crafting the
/// transaction.
// A manual fee rate set in sat/byte that should be used when crafting the
// transaction.
SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1950,7 +1950,7 @@ func (m *SendManyRequest) GetSatPerByte() int64 {
}
type SendManyResponse struct {
/// The id of the transaction
// The id of the transaction
Txid string `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -1990,17 +1990,17 @@ func (m *SendManyResponse) GetTxid() string {
}
type SendCoinsRequest struct {
/// The address to send coins to
// The address to send coins to
Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
/// The amount in satoshis to send
// The amount in satoshis to send
Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
/// The target number of blocks that this transaction should be confirmed
/// by.
// The target number of blocks that this transaction should be confirmed
// by.
TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"`
/// A manual fee rate set in sat/byte that should be used when crafting the
/// transaction.
// A manual fee rate set in sat/byte that should be used when crafting the
// transaction.
SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
//*
//
//If set, then the amount field will be ignored, and lnd will attempt to
//send all the coins under control of the internal wallet to the specified
//address.
@ -2071,7 +2071,7 @@ func (m *SendCoinsRequest) GetSendAll() bool {
}
type SendCoinsResponse struct {
/// The transaction ID of the transaction
// The transaction ID of the transaction
Txid string `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -2111,9 +2111,9 @@ func (m *SendCoinsResponse) GetTxid() string {
}
type ListUnspentRequest struct {
/// The minimum number of confirmations to be included.
// The minimum number of confirmations to be included.
MinConfs int32 `protobuf:"varint,1,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"`
/// The maximum number of confirmations to be included.
// The maximum number of confirmations to be included.
MaxConfs int32 `protobuf:"varint,2,opt,name=max_confs,json=maxConfs,proto3" json:"max_confs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -2160,7 +2160,7 @@ func (m *ListUnspentRequest) GetMaxConfs() int32 {
}
type ListUnspentResponse struct {
/// A list of utxos
// A list of utxos
Utxos []*Utxo `protobuf:"bytes,1,rep,name=utxos,proto3" json:"utxos,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -2200,7 +2200,7 @@ func (m *ListUnspentResponse) GetUtxos() []*Utxo {
}
type NewAddressRequest struct {
/// The address type
// The address type
Type AddressType `protobuf:"varint,1,opt,name=type,proto3,enum=lnrpc.AddressType" json:"type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -2240,7 +2240,7 @@ func (m *NewAddressRequest) GetType() AddressType {
}
type NewAddressResponse struct {
/// The newly generated wallet address
// The newly generated wallet address
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -2280,7 +2280,7 @@ func (m *NewAddressResponse) GetAddress() string {
}
type SignMessageRequest struct {
//*
//
//The message to be signed. When using REST, this field must be encoded as
//base64.
Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
@ -2322,7 +2322,7 @@ func (m *SignMessageRequest) GetMsg() []byte {
}
type SignMessageResponse struct {
/// The signature for the given message
// The signature for the given message
Signature string `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -2362,11 +2362,11 @@ func (m *SignMessageResponse) GetSignature() string {
}
type VerifyMessageRequest struct {
//*
//
//The message over which the signature is to be verified. When using REST,
//this field must be encoded as base64.
Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
/// The signature to be verified over the given message
// The signature to be verified over the given message
Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -2413,9 +2413,9 @@ func (m *VerifyMessageRequest) GetSignature() string {
}
type VerifyMessageResponse struct {
/// Whether the signature was valid over the given message
// Whether the signature was valid over the given message
Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
/// The pubkey recovered from the signature
// The pubkey recovered from the signature
Pubkey string `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -2462,9 +2462,9 @@ func (m *VerifyMessageResponse) GetPubkey() string {
}
type ConnectPeerRequest struct {
/// Lightning address of the peer, in the format `<pubkey>@host`
// Lightning address of the peer, in the format `<pubkey>@host`
Addr *LightningAddress `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
//* If set, the daemon will attempt to persistently connect to the target
// If set, the daemon will attempt to persistently connect to the target
// peer. Otherwise, the call will be synchronous.
Perm bool `protobuf:"varint,2,opt,name=perm,proto3" json:"perm,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -2543,7 +2543,7 @@ func (m *ConnectPeerResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_ConnectPeerResponse proto.InternalMessageInfo
type DisconnectPeerRequest struct {
/// The pubkey of the node to disconnect from
// The pubkey of the node to disconnect from
PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -2677,83 +2677,83 @@ func (m *HTLC) GetExpirationHeight() uint32 {
}
type Channel struct {
/// Whether this channel is active or not
// Whether this channel is active or not
Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"`
/// The identity pubkey of the remote node
// The identity pubkey of the remote node
RemotePubkey string `protobuf:"bytes,2,opt,name=remote_pubkey,json=remotePubkey,proto3" json:"remote_pubkey,omitempty"`
//*
//
//The outpoint (txid:index) of the funding transaction. With this value, Bob
//will be able to generate a signature for Alice's version of the commitment
//transaction.
ChannelPoint string `protobuf:"bytes,3,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"`
//*
//
//The unique channel ID for the channel. The first 3 bytes are the block
//height, the next 3 the index within the block, and the last 2 bytes are the
//output index for the channel.
ChanId uint64 `protobuf:"varint,4,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"`
/// The total amount of funds held in this channel
// The total amount of funds held in this channel
Capacity int64 `protobuf:"varint,5,opt,name=capacity,proto3" json:"capacity,omitempty"`
/// This node's current balance in this channel
// This node's current balance in this channel
LocalBalance int64 `protobuf:"varint,6,opt,name=local_balance,json=localBalance,proto3" json:"local_balance,omitempty"`
/// The counterparty's current balance in this channel
// The counterparty's current balance in this channel
RemoteBalance int64 `protobuf:"varint,7,opt,name=remote_balance,json=remoteBalance,proto3" json:"remote_balance,omitempty"`
//*
//
//The amount calculated to be paid in fees for the current set of commitment
//transactions. The fee amount is persisted with the channel in order to
//allow the fee amount to be removed and recalculated with each channel state
//update, including updates that happen after a system restart.
CommitFee int64 `protobuf:"varint,8,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee,omitempty"`
/// The weight of the commitment transaction
// The weight of the commitment transaction
CommitWeight int64 `protobuf:"varint,9,opt,name=commit_weight,json=commitWeight,proto3" json:"commit_weight,omitempty"`
//*
//
//The required number of satoshis per kilo-weight that the requester will pay
//at all times, for both the funding transaction and commitment transaction.
//This value can later be updated once the channel is open.
FeePerKw int64 `protobuf:"varint,10,opt,name=fee_per_kw,json=feePerKw,proto3" json:"fee_per_kw,omitempty"`
/// The unsettled balance in this channel
// The unsettled balance in this channel
UnsettledBalance int64 `protobuf:"varint,11,opt,name=unsettled_balance,json=unsettledBalance,proto3" json:"unsettled_balance,omitempty"`
//*
//
//The total number of satoshis we've sent within this channel.
TotalSatoshisSent int64 `protobuf:"varint,12,opt,name=total_satoshis_sent,json=totalSatoshisSent,proto3" json:"total_satoshis_sent,omitempty"`
//*
//
//The total number of satoshis we've received within this channel.
TotalSatoshisReceived int64 `protobuf:"varint,13,opt,name=total_satoshis_received,json=totalSatoshisReceived,proto3" json:"total_satoshis_received,omitempty"`
//*
//
//The total number of updates conducted within this channel.
NumUpdates uint64 `protobuf:"varint,14,opt,name=num_updates,json=numUpdates,proto3" json:"num_updates,omitempty"`
//*
//
//The list of active, uncleared HTLCs currently pending within the channel.
PendingHtlcs []*HTLC `protobuf:"bytes,15,rep,name=pending_htlcs,json=pendingHtlcs,proto3" json:"pending_htlcs,omitempty"`
//*
//
//The CSV delay expressed in relative blocks. If the channel is force closed,
//we will need to wait for this many blocks before we can regain our funds.
CsvDelay uint32 `protobuf:"varint,16,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"`
/// Whether this channel is advertised to the network or not.
// Whether this channel is advertised to the network or not.
Private bool `protobuf:"varint,17,opt,name=private,proto3" json:"private,omitempty"`
/// True if we were the ones that created the channel.
// True if we were the ones that created the channel.
Initiator bool `protobuf:"varint,18,opt,name=initiator,proto3" json:"initiator,omitempty"`
/// A set of flags showing the current state of the channel.
// A set of flags showing the current state of the channel.
ChanStatusFlags string `protobuf:"bytes,19,opt,name=chan_status_flags,json=chanStatusFlags,proto3" json:"chan_status_flags,omitempty"`
/// The minimum satoshis this node is required to reserve in its balance.
// The minimum satoshis this node is required to reserve in its balance.
LocalChanReserveSat int64 `protobuf:"varint,20,opt,name=local_chan_reserve_sat,json=localChanReserveSat,proto3" json:"local_chan_reserve_sat,omitempty"`
//*
//
//The minimum satoshis the other node is required to reserve in its balance.
RemoteChanReserveSat int64 `protobuf:"varint,21,opt,name=remote_chan_reserve_sat,json=remoteChanReserveSat,proto3" json:"remote_chan_reserve_sat,omitempty"`
/// Deprecated. Use commitment_type.
// Deprecated. Use commitment_type.
StaticRemoteKey bool `protobuf:"varint,22,opt,name=static_remote_key,json=staticRemoteKey,proto3" json:"static_remote_key,omitempty"` // Deprecated: Do not use.
/// The commitment type used by this channel.
// The commitment type used by this channel.
CommitmentType CommitmentType `protobuf:"varint,26,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"`
//*
//
//The number of seconds that the channel has been monitored by the channel
//scoring system. Scores are currently not persisted, so this value may be
//less than the lifetime of the channel [EXPERIMENTAL].
Lifetime int64 `protobuf:"varint,23,opt,name=lifetime,proto3" json:"lifetime,omitempty"`
//*
//
//The number of seconds that the remote peer has been observed as being online
//by the channel scoring system over the lifetime of the channel
//[EXPERIMENTAL].
Uptime int64 `protobuf:"varint,24,opt,name=uptime,proto3" json:"uptime,omitempty"`
//*
//
//Close address is the address that we will enforce payout to on cooperative
//close if the channel was opened utilizing option upfront shutdown. This
//value can be set on channel open by setting close_address in an open channel
@ -2767,7 +2767,7 @@ type Channel struct {
//pushed this amount to our peer, if it is false, the remote peer pushed this
//amount to us.
PushAmountSat uint64 `protobuf:"varint,27,opt,name=push_amount_sat,json=pushAmountSat,proto3" json:"push_amount_sat,omitempty"`
//*
//
//This uint32 indicates if this channel is to be considered 'frozen'. A
//frozen channel doest not allow a cooperative channel close by the
//initiator. The thaw_height is the height that this restriction stops
@ -3006,7 +3006,7 @@ type ListChannelsRequest struct {
InactiveOnly bool `protobuf:"varint,2,opt,name=inactive_only,json=inactiveOnly,proto3" json:"inactive_only,omitempty"`
PublicOnly bool `protobuf:"varint,3,opt,name=public_only,json=publicOnly,proto3" json:"public_only,omitempty"`
PrivateOnly bool `protobuf:"varint,4,opt,name=private_only,json=privateOnly,proto3" json:"private_only,omitempty"`
//*
//
//Filters the response for channels with a target peer's pubkey. If peer is
//empty, all channels will be returned.
Peer []byte `protobuf:"bytes,5,opt,name=peer,proto3" json:"peer,omitempty"`
@ -3076,7 +3076,7 @@ func (m *ListChannelsRequest) GetPeer() []byte {
}
type ListChannelsResponse struct {
/// The list of active channels
// The list of active channels
Channels []*Channel `protobuf:"bytes,11,rep,name=channels,proto3" json:"channels,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -3116,32 +3116,32 @@ func (m *ListChannelsResponse) GetChannels() []*Channel {
}
type ChannelCloseSummary struct {
/// The outpoint (txid:index) of the funding transaction.
// The outpoint (txid:index) of the funding transaction.
ChannelPoint string `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"`
/// The unique channel ID for the channel.
// The unique channel ID for the channel.
ChanId uint64 `protobuf:"varint,2,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"`
/// The hash of the genesis block that this channel resides within.
// The hash of the genesis block that this channel resides within.
ChainHash string `protobuf:"bytes,3,opt,name=chain_hash,json=chainHash,proto3" json:"chain_hash,omitempty"`
/// The txid of the transaction which ultimately closed this channel.
// The txid of the transaction which ultimately closed this channel.
ClosingTxHash string `protobuf:"bytes,4,opt,name=closing_tx_hash,json=closingTxHash,proto3" json:"closing_tx_hash,omitempty"`
/// Public key of the remote peer that we formerly had a channel with.
// Public key of the remote peer that we formerly had a channel with.
RemotePubkey string `protobuf:"bytes,5,opt,name=remote_pubkey,json=remotePubkey,proto3" json:"remote_pubkey,omitempty"`
/// Total capacity of the channel.
// Total capacity of the channel.
Capacity int64 `protobuf:"varint,6,opt,name=capacity,proto3" json:"capacity,omitempty"`
/// Height at which the funding transaction was spent.
// Height at which the funding transaction was spent.
CloseHeight uint32 `protobuf:"varint,7,opt,name=close_height,json=closeHeight,proto3" json:"close_height,omitempty"`
/// Settled balance at the time of channel closure
// Settled balance at the time of channel closure
SettledBalance int64 `protobuf:"varint,8,opt,name=settled_balance,json=settledBalance,proto3" json:"settled_balance,omitempty"`
/// The sum of all the time-locked outputs at the time of channel closure
// The sum of all the time-locked outputs at the time of channel closure
TimeLockedBalance int64 `protobuf:"varint,9,opt,name=time_locked_balance,json=timeLockedBalance,proto3" json:"time_locked_balance,omitempty"`
/// Details on how the channel was closed.
// Details on how the channel was closed.
CloseType ChannelCloseSummary_ClosureType `protobuf:"varint,10,opt,name=close_type,json=closeType,proto3,enum=lnrpc.ChannelCloseSummary_ClosureType" json:"close_type,omitempty"`
//*
//
//Open initiator is the party that initiated opening the channel. Note that
//this value may be unknown if the channel was closed before we migrated to
//store open channel information after close.
OpenInitiator Initiator `protobuf:"varint,11,opt,name=open_initiator,json=openInitiator,proto3,enum=lnrpc.Initiator" json:"open_initiator,omitempty"`
//*
//
//Close initiator indicates which party initiated the close. This value will
//be unknown for channels that were cooperatively closed before we started
//tracking cooperative close initiators. Note that this indicates which party
@ -3381,25 +3381,25 @@ func (m *ClosedChannelsResponse) GetChannels() []*ChannelCloseSummary {
}
type Peer struct {
/// The identity pubkey of the peer
// The identity pubkey of the peer
PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"`
/// Network address of the peer; eg `127.0.0.1:10011`
// Network address of the peer; eg `127.0.0.1:10011`
Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
/// Bytes of data transmitted to this peer
// Bytes of data transmitted to this peer
BytesSent uint64 `protobuf:"varint,4,opt,name=bytes_sent,json=bytesSent,proto3" json:"bytes_sent,omitempty"`
/// Bytes of data transmitted from this peer
// Bytes of data transmitted from this peer
BytesRecv uint64 `protobuf:"varint,5,opt,name=bytes_recv,json=bytesRecv,proto3" json:"bytes_recv,omitempty"`
/// Satoshis sent to this peer
// Satoshis sent to this peer
SatSent int64 `protobuf:"varint,6,opt,name=sat_sent,json=satSent,proto3" json:"sat_sent,omitempty"`
/// Satoshis received from this peer
// Satoshis received from this peer
SatRecv int64 `protobuf:"varint,7,opt,name=sat_recv,json=satRecv,proto3" json:"sat_recv,omitempty"`
/// A channel is inbound if the counterparty initiated the channel
// A channel is inbound if the counterparty initiated the channel
Inbound bool `protobuf:"varint,8,opt,name=inbound,proto3" json:"inbound,omitempty"`
/// Ping time to this peer
// Ping time to this peer
PingTime int64 `protobuf:"varint,9,opt,name=ping_time,json=pingTime,proto3" json:"ping_time,omitempty"`
// The type of sync we are currently performing with this peer.
SyncType Peer_SyncType `protobuf:"varint,10,opt,name=sync_type,json=syncType,proto3,enum=lnrpc.Peer_SyncType" json:"sync_type,omitempty"`
/// Features advertised by the remote peer in their init message.
// Features advertised by the remote peer in their init message.
Features map[uint32]*Feature `protobuf:"bytes,11,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
//
//The latest errors received from our peer with timestamps, limited to the 10
@ -3608,7 +3608,7 @@ func (m *ListPeersRequest) GetLatestError() bool {
}
type ListPeersResponse struct {
/// The list of currently connected peers
// The list of currently connected peers
Peers []*Peer `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -3679,7 +3679,7 @@ func (m *PeerEventSubscription) XXX_DiscardUnknown() {
var xxx_messageInfo_PeerEventSubscription proto.InternalMessageInfo
type PeerEvent struct {
/// The identity pubkey of the peer.
// The identity pubkey of the peer.
PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"`
Type PeerEvent_EventType `protobuf:"varint,2,opt,name=type,proto3,enum=lnrpc.PeerEvent_EventType" json:"type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -3758,41 +3758,41 @@ func (m *GetInfoRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_GetInfoRequest proto.InternalMessageInfo
type GetInfoResponse struct {
/// The version of the LND software that the node is running.
// The version of the LND software that the node is running.
Version string `protobuf:"bytes,14,opt,name=version,proto3" json:"version,omitempty"`
/// The SHA1 commit hash that the daemon is compiled with.
// The SHA1 commit hash that the daemon is compiled with.
CommitHash string `protobuf:"bytes,20,opt,name=commit_hash,json=commitHash,proto3" json:"commit_hash,omitempty"`
/// The identity pubkey of the current node.
// The identity pubkey of the current node.
IdentityPubkey string `protobuf:"bytes,1,opt,name=identity_pubkey,json=identityPubkey,proto3" json:"identity_pubkey,omitempty"`
/// If applicable, the alias of the current node, e.g. "bob"
// If applicable, the alias of the current node, e.g. "bob"
Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"`
/// The color of the current node in hex code format
// The color of the current node in hex code format
Color string `protobuf:"bytes,17,opt,name=color,proto3" json:"color,omitempty"`
/// Number of pending channels
// Number of pending channels
NumPendingChannels uint32 `protobuf:"varint,3,opt,name=num_pending_channels,json=numPendingChannels,proto3" json:"num_pending_channels,omitempty"`
/// Number of active channels
// Number of active channels
NumActiveChannels uint32 `protobuf:"varint,4,opt,name=num_active_channels,json=numActiveChannels,proto3" json:"num_active_channels,omitempty"`
/// Number of inactive channels
// Number of inactive channels
NumInactiveChannels uint32 `protobuf:"varint,15,opt,name=num_inactive_channels,json=numInactiveChannels,proto3" json:"num_inactive_channels,omitempty"`
/// Number of peers
// Number of peers
NumPeers uint32 `protobuf:"varint,5,opt,name=num_peers,json=numPeers,proto3" json:"num_peers,omitempty"`
/// The node's current view of the height of the best block
// The node's current view of the height of the best block
BlockHeight uint32 `protobuf:"varint,6,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"`
/// The node's current view of the hash of the best block
// The node's current view of the hash of the best block
BlockHash string `protobuf:"bytes,8,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"`
/// Timestamp of the block best known to the wallet
// Timestamp of the block best known to the wallet
BestHeaderTimestamp int64 `protobuf:"varint,13,opt,name=best_header_timestamp,json=bestHeaderTimestamp,proto3" json:"best_header_timestamp,omitempty"`
/// Whether the wallet's view is synced to the main chain
// Whether the wallet's view is synced to the main chain
SyncedToChain bool `protobuf:"varint,9,opt,name=synced_to_chain,json=syncedToChain,proto3" json:"synced_to_chain,omitempty"`
// Whether we consider ourselves synced with the public channel graph.
SyncedToGraph bool `protobuf:"varint,18,opt,name=synced_to_graph,json=syncedToGraph,proto3" json:"synced_to_graph,omitempty"`
//*
//
//Whether the current node is connected to testnet. This field is
//deprecated and the network field should be used instead
Testnet bool `protobuf:"varint,10,opt,name=testnet,proto3" json:"testnet,omitempty"` // Deprecated: Do not use.
/// A list of active chains the node is connected to
// A list of active chains the node is connected to
Chains []*Chain `protobuf:"bytes,16,rep,name=chains,proto3" json:"chains,omitempty"`
/// The URIs of the current node.
// The URIs of the current node.
Uris []string `protobuf:"bytes,12,rep,name=uris,proto3" json:"uris,omitempty"`
//
//Features that our node has advertised in our init message, node
@ -3956,9 +3956,9 @@ func (m *GetInfoResponse) GetFeatures() map[uint32]*Feature {
}
type Chain struct {
/// The blockchain the node is on (eg bitcoin, litecoin)
// The blockchain the node is on (eg bitcoin, litecoin)
Chain string `protobuf:"bytes,1,opt,name=chain,proto3" json:"chain,omitempty"`
/// The network the node is on (eg regtest, testnet, mainnet)
// The network the node is on (eg regtest, testnet, mainnet)
Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -4146,19 +4146,19 @@ func (m *ChannelCloseUpdate) GetSuccess() bool {
}
type CloseChannelRequest struct {
//*
//
//The outpoint (txid:index) of the funding transaction. With this value, Bob
//will be able to generate a signature for Alice's version of the commitment
//transaction.
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"`
/// If true, then the channel will be closed forcibly. This means the
/// current commitment transaction will be signed and broadcast.
// If true, then the channel will be closed forcibly. This means the
// current commitment transaction will be signed and broadcast.
Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
/// The target number of blocks that the closure transaction should be
/// confirmed by.
// The target number of blocks that the closure transaction should be
// confirmed by.
TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"`
/// A manual fee rate set in sat/byte that should be used when crafting the
/// closure transaction.
// A manual fee rate set in sat/byte that should be used when crafting the
// closure transaction.
SatPerByte int64 `protobuf:"varint,4,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
//
//An optional address to send funds to in the case of a cooperative close.
@ -4359,15 +4359,15 @@ func (m *PendingUpdate) GetOutputIndex() uint32 {
}
type ReadyForPsbtFunding struct {
//*
//
//The P2WSH address of the channel funding multisig address that the below
//specified amount in satoshis needs to be sent to.
FundingAddress string `protobuf:"bytes,1,opt,name=funding_address,json=fundingAddress,proto3" json:"funding_address,omitempty"`
//*
//
//The exact amount in satoshis that needs to be sent to the above address to
//fund the pending channel.
FundingAmount int64 `protobuf:"varint,2,opt,name=funding_amount,json=fundingAmount,proto3" json:"funding_amount,omitempty"`
//*
//
//A raw PSBT that contains the pending channel output. If a base PSBT was
//provided in the PsbtShim, this is the base PSBT with one additional output.
//If no base PSBT was specified, this is an otherwise empty PSBT with exactly
@ -4425,39 +4425,39 @@ func (m *ReadyForPsbtFunding) GetPsbt() []byte {
}
type OpenChannelRequest struct {
//*
//
//The pubkey of the node to open a channel with. When using REST, this field
//must be encoded as base64.
NodePubkey []byte `protobuf:"bytes,2,opt,name=node_pubkey,json=nodePubkey,proto3" json:"node_pubkey,omitempty"`
//*
//
//The hex encoded pubkey of the node to open a channel with. Deprecated now
//that the REST gateway supports base64 encoding of bytes fields.
NodePubkeyString string `protobuf:"bytes,3,opt,name=node_pubkey_string,json=nodePubkeyString,proto3" json:"node_pubkey_string,omitempty"` // Deprecated: Do not use.
/// The number of satoshis the wallet should commit to the channel
// The number of satoshis the wallet should commit to the channel
LocalFundingAmount int64 `protobuf:"varint,4,opt,name=local_funding_amount,json=localFundingAmount,proto3" json:"local_funding_amount,omitempty"`
/// The number of satoshis to push to the remote side as part of the initial
/// commitment state
// The number of satoshis to push to the remote side as part of the initial
// commitment state
PushSat int64 `protobuf:"varint,5,opt,name=push_sat,json=pushSat,proto3" json:"push_sat,omitempty"`
/// The target number of blocks that the funding transaction should be
/// confirmed by.
// The target number of blocks that the funding transaction should be
// confirmed by.
TargetConf int32 `protobuf:"varint,6,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"`
/// A manual fee rate set in sat/byte that should be used when crafting the
/// funding transaction.
// A manual fee rate set in sat/byte that should be used when crafting the
// funding transaction.
SatPerByte int64 `protobuf:"varint,7,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
/// Whether this channel should be private, not announced to the greater
/// network.
// Whether this channel should be private, not announced to the greater
// network.
Private bool `protobuf:"varint,8,opt,name=private,proto3" json:"private,omitempty"`
/// The minimum value in millisatoshi we will require for incoming HTLCs on
/// the channel.
// The minimum value in millisatoshi we will require for incoming HTLCs on
// the channel.
MinHtlcMsat int64 `protobuf:"varint,9,opt,name=min_htlc_msat,json=minHtlcMsat,proto3" json:"min_htlc_msat,omitempty"`
/// The delay we require on the remote's commitment transaction. If this is
/// not set, it will be scaled automatically with the channel size.
// The delay we require on the remote's commitment transaction. If this is
// not set, it will be scaled automatically with the channel size.
RemoteCsvDelay uint32 `protobuf:"varint,10,opt,name=remote_csv_delay,json=remoteCsvDelay,proto3" json:"remote_csv_delay,omitempty"`
/// The minimum number of confirmations each one of your outputs used for
/// the funding transaction must satisfy.
// The minimum number of confirmations each one of your outputs used for
// the funding transaction must satisfy.
MinConfs int32 `protobuf:"varint,11,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"`
/// Whether unconfirmed outputs should be used as inputs for the funding
/// transaction.
// Whether unconfirmed outputs should be used as inputs for the funding
// transaction.
SpendUnconfirmed bool `protobuf:"varint,12,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"`
//
//Close address is an optional address which specifies the address to which
@ -4469,7 +4469,7 @@ type OpenChannelRequest struct {
//Note: If this value is set on channel creation, you will *not* be able to
//cooperatively close out to a different address.
CloseAddress string `protobuf:"bytes,13,opt,name=close_address,json=closeAddress,proto3" json:"close_address,omitempty"`
//*
//
//Funding shims are an optional argument that allow the caller to intercept
//certain funding functionality. For example, a shim can be provided to use a
//particular key for the commitment key (ideally cold) rather than use one
@ -4604,7 +4604,7 @@ type OpenStatusUpdate struct {
// *OpenStatusUpdate_ChanOpen
// *OpenStatusUpdate_PsbtFund
Update isOpenStatusUpdate_Update `protobuf_oneof:"update"`
//*
//
//The pending channel ID of the created channel. This value may be used to
//further the funding flow manually via the FundingStateStep method.
PendingChanId []byte `protobuf:"bytes,4,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"`
@ -4705,9 +4705,9 @@ func (*OpenStatusUpdate) XXX_OneofWrappers() []interface{} {
}
type KeyLocator struct {
/// The family of key being identified.
// The family of key being identified.
KeyFamily int32 `protobuf:"varint,1,opt,name=key_family,json=keyFamily,proto3" json:"key_family,omitempty"`
/// The precise index of the key being identified.
// The precise index of the key being identified.
KeyIndex int32 `protobuf:"varint,2,opt,name=key_index,json=keyIndex,proto3" json:"key_index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -4754,10 +4754,10 @@ func (m *KeyLocator) GetKeyIndex() int32 {
}
type KeyDescriptor struct {
//*
//
//The raw bytes of the key being identified.
RawKeyBytes []byte `protobuf:"bytes,1,opt,name=raw_key_bytes,json=rawKeyBytes,proto3" json:"raw_key_bytes,omitempty"`
//*
//
//The key locator that identifies which key to use for signing.
KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -4805,23 +4805,23 @@ func (m *KeyDescriptor) GetKeyLoc() *KeyLocator {
}
type ChanPointShim struct {
//*
//
//The size of the pre-crafted output to be used as the channel point for this
//channel funding.
Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
/// The target channel point to refrence in created commitment transactions.
// The target channel point to refrence in created commitment transactions.
ChanPoint *ChannelPoint `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"`
/// Our local key to use when creating the multi-sig output.
// Our local key to use when creating the multi-sig output.
LocalKey *KeyDescriptor `protobuf:"bytes,3,opt,name=local_key,json=localKey,proto3" json:"local_key,omitempty"`
/// The key of the remote party to use when creating the multi-sig output.
// The key of the remote party to use when creating the multi-sig output.
RemoteKey []byte `protobuf:"bytes,4,opt,name=remote_key,json=remoteKey,proto3" json:"remote_key,omitempty"`
//*
//
//If non-zero, then this will be used as the pending channel ID on the wire
//protocol to initate the funding request. This is an optional field, and
//should only be set if the responder is already expecting a specific pending
//channel ID.
PendingChanId []byte `protobuf:"bytes,5,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"`
//*
//
//This uint32 indicates if this channel is to be considered 'frozen'. A
//frozen channel does not allow a cooperative channel close by the
//initiator. The thaw_height is the height that this restriction stops
@ -4900,12 +4900,12 @@ func (m *ChanPointShim) GetThawHeight() uint32 {
}
type PsbtShim struct {
//*
//
//A unique identifier of 32 random bytes that will be used as the pending
//channel ID to identify the PSBT state machine when interacting with it and
//on the wire protocol to initiate the funding request.
PendingChanId []byte `protobuf:"bytes,1,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"`
//*
//
//An optional base PSBT the new channel output will be added to. If this is
//non-empty, it must be a binary serialized PSBT.
BasePsbt []byte `protobuf:"bytes,2,opt,name=base_psbt,json=basePsbt,proto3" json:"base_psbt,omitempty"`
@ -5034,7 +5034,7 @@ func (*FundingShim) XXX_OneofWrappers() []interface{} {
}
type FundingShimCancel struct {
/// The pending channel ID of the channel to cancel the funding shim for.
// The pending channel ID of the channel to cancel the funding shim for.
PendingChanId []byte `protobuf:"bytes,1,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -5074,12 +5074,12 @@ func (m *FundingShimCancel) GetPendingChanId() []byte {
}
type FundingPsbtVerify struct {
//*
//
//The funded but not yet signed PSBT that sends the exact channel capacity
//amount to the PK script returned in the open channel message in a previous
//step.
FundedPsbt []byte `protobuf:"bytes,1,opt,name=funded_psbt,json=fundedPsbt,proto3" json:"funded_psbt,omitempty"`
/// The pending channel ID of the channel to get the PSBT for.
// The pending channel ID of the channel to get the PSBT for.
PendingChanId []byte `protobuf:"bytes,2,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -5126,12 +5126,12 @@ func (m *FundingPsbtVerify) GetPendingChanId() []byte {
}
type FundingPsbtFinalize struct {
//*
//
//The funded PSBT that contains all witness data to send the exact channel
//capacity amount to the PK script returned in the open channel message in a
//previous step.
SignedPsbt []byte `protobuf:"bytes,1,opt,name=signed_psbt,json=signedPsbt,proto3" json:"signed_psbt,omitempty"`
/// The pending channel ID of the channel to get the PSBT for.
// The pending channel ID of the channel to get the PSBT for.
PendingChanId []byte `protobuf:"bytes,2,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -5319,20 +5319,20 @@ func (m *FundingStateStepResp) XXX_DiscardUnknown() {
var xxx_messageInfo_FundingStateStepResp proto.InternalMessageInfo
type PendingHTLC struct {
/// The direction within the channel that the htlc was sent
// The direction within the channel that the htlc was sent
Incoming bool `protobuf:"varint,1,opt,name=incoming,proto3" json:"incoming,omitempty"`
/// The total value of the htlc
// The total value of the htlc
Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"`
/// The final output to be swept back to the user's wallet
// The final output to be swept back to the user's wallet
Outpoint string `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"`
/// The next block height at which we can spend the current stage
// The next block height at which we can spend the current stage
MaturityHeight uint32 `protobuf:"varint,4,opt,name=maturity_height,json=maturityHeight,proto3" json:"maturity_height,omitempty"`
//*
//
//The number of blocks remaining until the current stage can be swept.
//Negative values indicate how many blocks have passed since becoming
//mature.
BlocksTilMaturity int32 `protobuf:"varint,5,opt,name=blocks_til_maturity,json=blocksTilMaturity,proto3" json:"blocks_til_maturity,omitempty"`
/// Indicates whether the htlc is in its first or second stage of recovery
// Indicates whether the htlc is in its first or second stage of recovery
Stage uint32 `protobuf:"varint,6,opt,name=stage,proto3" json:"stage,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -5438,18 +5438,18 @@ func (m *PendingChannelsRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_PendingChannelsRequest proto.InternalMessageInfo
type PendingChannelsResponse struct {
/// The balance in satoshis encumbered in pending channels
// The balance in satoshis encumbered in pending channels
TotalLimboBalance int64 `protobuf:"varint,1,opt,name=total_limbo_balance,json=totalLimboBalance,proto3" json:"total_limbo_balance,omitempty"`
/// Channels pending opening
// Channels pending opening
PendingOpenChannels []*PendingChannelsResponse_PendingOpenChannel `protobuf:"bytes,2,rep,name=pending_open_channels,json=pendingOpenChannels,proto3" json:"pending_open_channels,omitempty"`
//
//Deprecated: Channels pending closing previously contained cooperatively
//closed channels with a single confirmation. These channels are now
//considered closed from the time we see them on chain.
PendingClosingChannels []*PendingChannelsResponse_ClosedChannel `protobuf:"bytes,3,rep,name=pending_closing_channels,json=pendingClosingChannels,proto3" json:"pending_closing_channels,omitempty"` // Deprecated: Do not use.
/// Channels pending force closing
// Channels pending force closing
PendingForceClosingChannels []*PendingChannelsResponse_ForceClosedChannel `protobuf:"bytes,4,rep,name=pending_force_closing_channels,json=pendingForceClosingChannels,proto3" json:"pending_force_closing_channels,omitempty"`
/// Channels waiting for closing tx to confirm
// Channels waiting for closing tx to confirm
WaitingCloseChannels []*PendingChannelsResponse_WaitingCloseChannel `protobuf:"bytes,5,rep,name=waiting_close_channels,json=waitingCloseChannels,proto3" json:"waiting_close_channels,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -5523,16 +5523,16 @@ type PendingChannelsResponse_PendingChannel struct {
Capacity int64 `protobuf:"varint,3,opt,name=capacity,proto3" json:"capacity,omitempty"`
LocalBalance int64 `protobuf:"varint,4,opt,name=local_balance,json=localBalance,proto3" json:"local_balance,omitempty"`
RemoteBalance int64 `protobuf:"varint,5,opt,name=remote_balance,json=remoteBalance,proto3" json:"remote_balance,omitempty"`
/// The minimum satoshis this node is required to reserve in its
/// balance.
// The minimum satoshis this node is required to reserve in its
// balance.
LocalChanReserveSat int64 `protobuf:"varint,6,opt,name=local_chan_reserve_sat,json=localChanReserveSat,proto3" json:"local_chan_reserve_sat,omitempty"`
//*
//
//The minimum satoshis the other node is required to reserve in its
//balance.
RemoteChanReserveSat int64 `protobuf:"varint,7,opt,name=remote_chan_reserve_sat,json=remoteChanReserveSat,proto3" json:"remote_chan_reserve_sat,omitempty"`
// The party that initiated opening the channel.
Initiator Initiator `protobuf:"varint,8,opt,name=initiator,proto3,enum=lnrpc.Initiator" json:"initiator,omitempty"`
/// The commitment type used by this channel.
// The commitment type used by this channel.
CommitmentType CommitmentType `protobuf:"varint,9,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -5630,20 +5630,20 @@ func (m *PendingChannelsResponse_PendingChannel) GetCommitmentType() CommitmentT
}
type PendingChannelsResponse_PendingOpenChannel struct {
/// The pending channel
// The pending channel
Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"`
/// The height at which this channel will be confirmed
// The height at which this channel will be confirmed
ConfirmationHeight uint32 `protobuf:"varint,2,opt,name=confirmation_height,json=confirmationHeight,proto3" json:"confirmation_height,omitempty"`
//*
//
//The amount calculated to be paid in fees for the current set of
//commitment transactions. The fee amount is persisted with the channel
//in order to allow the fee amount to be removed and recalculated with
//each channel state update, including updates that happen after a system
//restart.
CommitFee int64 `protobuf:"varint,4,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee,omitempty"`
/// The weight of the commitment transaction
// The weight of the commitment transaction
CommitWeight int64 `protobuf:"varint,5,opt,name=commit_weight,json=commitWeight,proto3" json:"commit_weight,omitempty"`
//*
//
//The required number of satoshis per kilo-weight that the requester will
//pay at all times, for both the funding transaction and commitment
//transaction. This value can later be updated once the channel is open.
@ -5718,11 +5718,11 @@ func (m *PendingChannelsResponse_PendingOpenChannel) GetFeePerKw() int64 {
}
type PendingChannelsResponse_WaitingCloseChannel struct {
/// The pending channel waiting for closing tx to confirm
// The pending channel waiting for closing tx to confirm
Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"`
/// The balance in satoshis encumbered in this channel
// The balance in satoshis encumbered in this channel
LimboBalance int64 `protobuf:"varint,2,opt,name=limbo_balance,json=limboBalance,proto3" json:"limbo_balance,omitempty"`
//*
//
//A list of valid commitment transactions. Any of these can confirm at
//this point.
Commitments *PendingChannelsResponse_Commitments `protobuf:"bytes,3,opt,name=commitments,proto3" json:"commitments,omitempty"`
@ -5782,11 +5782,11 @@ func (m *PendingChannelsResponse_WaitingCloseChannel) GetCommitments() *PendingC
}
type PendingChannelsResponse_Commitments struct {
/// Hash of the local version of the commitment tx.
// Hash of the local version of the commitment tx.
LocalTxid string `protobuf:"bytes,1,opt,name=local_txid,json=localTxid,proto3" json:"local_txid,omitempty"`
/// Hash of the remote version of the commitment tx.
// Hash of the remote version of the commitment tx.
RemoteTxid string `protobuf:"bytes,2,opt,name=remote_txid,json=remoteTxid,proto3" json:"remote_txid,omitempty"`
/// Hash of the remote pending version of the commitment tx.
// Hash of the remote pending version of the commitment tx.
RemotePendingTxid string `protobuf:"bytes,3,opt,name=remote_pending_txid,json=remotePendingTxid,proto3" json:"remote_pending_txid,omitempty"`
//
//The amount in satoshis calculated to be paid in fees for the local
@ -5873,9 +5873,9 @@ func (m *PendingChannelsResponse_Commitments) GetRemotePendingCommitFeeSat() uin
}
type PendingChannelsResponse_ClosedChannel struct {
/// The pending channel to be closed
// The pending channel to be closed
Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"`
/// The transaction id of the closing transaction
// The transaction id of the closing transaction
ClosingTxid string `protobuf:"bytes,2,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -5922,20 +5922,20 @@ func (m *PendingChannelsResponse_ClosedChannel) GetClosingTxid() string {
}
type PendingChannelsResponse_ForceClosedChannel struct {
/// The pending channel to be force closed
// The pending channel to be force closed
Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"`
/// The transaction id of the closing transaction
// The transaction id of the closing transaction
ClosingTxid string `protobuf:"bytes,2,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"`
/// The balance in satoshis encumbered in this pending channel
// The balance in satoshis encumbered in this pending channel
LimboBalance int64 `protobuf:"varint,3,opt,name=limbo_balance,json=limboBalance,proto3" json:"limbo_balance,omitempty"`
/// The height at which funds can be swept into the wallet
// The height at which funds can be swept into the wallet
MaturityHeight uint32 `protobuf:"varint,4,opt,name=maturity_height,json=maturityHeight,proto3" json:"maturity_height,omitempty"`
//
//Remaining # of blocks until the commitment output can be swept.
//Negative values indicate how many blocks have passed since becoming
//mature.
BlocksTilMaturity int32 `protobuf:"varint,5,opt,name=blocks_til_maturity,json=blocksTilMaturity,proto3" json:"blocks_til_maturity,omitempty"`
/// The total value of funds successfully recovered from this channel
// The total value of funds successfully recovered from this channel
RecoveredBalance int64 `protobuf:"varint,6,opt,name=recovered_balance,json=recoveredBalance,proto3" json:"recovered_balance,omitempty"`
PendingHtlcs []*PendingHTLC `protobuf:"bytes,8,rep,name=pending_htlcs,json=pendingHtlcs,proto3" json:"pending_htlcs,omitempty"`
Anchor PendingChannelsResponse_ForceClosedChannel_AnchorState `protobuf:"varint,9,opt,name=anchor,proto3,enum=lnrpc.PendingChannelsResponse_ForceClosedChannel_AnchorState" json:"anchor,omitempty"`
@ -6225,11 +6225,11 @@ func (m *WalletBalanceRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_WalletBalanceRequest proto.InternalMessageInfo
type WalletBalanceResponse struct {
/// The balance of the wallet
// The balance of the wallet
TotalBalance int64 `protobuf:"varint,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"`
/// The confirmed balance of a wallet(with >= 1 confirmations)
// The confirmed balance of a wallet(with >= 1 confirmations)
ConfirmedBalance int64 `protobuf:"varint,2,opt,name=confirmed_balance,json=confirmedBalance,proto3" json:"confirmed_balance,omitempty"`
/// The unconfirmed balance of a wallet(with 0 confirmations)
// The unconfirmed balance of a wallet(with 0 confirmations)
UnconfirmedBalance int64 `protobuf:"varint,3,opt,name=unconfirmed_balance,json=unconfirmedBalance,proto3" json:"unconfirmed_balance,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -6314,9 +6314,9 @@ func (m *ChannelBalanceRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_ChannelBalanceRequest proto.InternalMessageInfo
type ChannelBalanceResponse struct {
/// Sum of channels balances denominated in satoshis
// Sum of channels balances denominated in satoshis
Balance int64 `protobuf:"varint,1,opt,name=balance,proto3" json:"balance,omitempty"`
/// Sum of channels pending balances denominated in satoshis
// Sum of channels pending balances denominated in satoshis
PendingOpenBalance int64 `protobuf:"varint,2,opt,name=pending_open_balance,json=pendingOpenBalance,proto3" json:"pending_open_balance,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -6363,55 +6363,55 @@ func (m *ChannelBalanceResponse) GetPendingOpenBalance() int64 {
}
type QueryRoutesRequest struct {
/// The 33-byte hex-encoded public key for the payment destination
// The 33-byte hex-encoded public key for the payment destination
PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"`
//*
//
//The amount to send expressed in satoshis.
//
//The fields amt and amt_msat are mutually exclusive.
Amt int64 `protobuf:"varint,2,opt,name=amt,proto3" json:"amt,omitempty"`
//*
//
//The amount to send expressed in millisatoshis.
//
//The fields amt and amt_msat are mutually exclusive.
AmtMsat int64 `protobuf:"varint,12,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"`
//*
//
//An optional CLTV delta from the current height that should be used for the
//timelock of the final hop. Note that unlike SendPayment, QueryRoutes does
//not add any additional block padding on top of final_ctlv_delta. This
//padding of a few blocks needs to be added manually or otherwise failures may
//happen when a block comes in while the payment is in flight.
FinalCltvDelta int32 `protobuf:"varint,4,opt,name=final_cltv_delta,json=finalCltvDelta,proto3" json:"final_cltv_delta,omitempty"`
//*
//
//The maximum number of satoshis that will be paid as a fee of the payment.
//This value can be represented either as a percentage of the amount being
//sent, or as a fixed amount of the maximum fee the user is willing the pay to
//send the payment.
FeeLimit *FeeLimit `protobuf:"bytes,5,opt,name=fee_limit,json=feeLimit,proto3" json:"fee_limit,omitempty"`
//*
//
//A list of nodes to ignore during path finding. When using REST, these fields
//must be encoded as base64.
IgnoredNodes [][]byte `protobuf:"bytes,6,rep,name=ignored_nodes,json=ignoredNodes,proto3" json:"ignored_nodes,omitempty"`
//*
//
//Deprecated. A list of edges to ignore during path finding.
IgnoredEdges []*EdgeLocator `protobuf:"bytes,7,rep,name=ignored_edges,json=ignoredEdges,proto3" json:"ignored_edges,omitempty"` // Deprecated: Do not use.
//*
//
//The source node where the request route should originated from. If empty,
//self is assumed.
SourcePubKey string `protobuf:"bytes,8,opt,name=source_pub_key,json=sourcePubKey,proto3" json:"source_pub_key,omitempty"`
//*
//
//If set to true, edge probabilities from mission control will be used to get
//the optimal route.
UseMissionControl bool `protobuf:"varint,9,opt,name=use_mission_control,json=useMissionControl,proto3" json:"use_mission_control,omitempty"`
//*
//
//A list of directed node pairs that will be ignored during path finding.
IgnoredPairs []*NodePair `protobuf:"bytes,10,rep,name=ignored_pairs,json=ignoredPairs,proto3" json:"ignored_pairs,omitempty"`
//*
//
//An optional maximum total time lock for the route. If the source is empty or
//ourselves, this should not exceed lnd's `--max-cltv-expiry` setting. If
//zero, then the value of `--max-cltv-expiry` is used as the limit.
CltvLimit uint32 `protobuf:"varint,11,opt,name=cltv_limit,json=cltvLimit,proto3" json:"cltv_limit,omitempty"`
//*
//
//An optional field that can be used to pass an arbitrary set of TLV records
//to a peer which understands the new records. This can be used to pass
//application specific data during the payment attempt. If the destination
@ -6419,17 +6419,17 @@ type QueryRoutesRequest struct {
//Record types are required to be in the custom range >= 65536. When using
//REST, the values must be encoded as base64.
DestCustomRecords map[uint64][]byte `protobuf:"bytes,13,rep,name=dest_custom_records,json=destCustomRecords,proto3" json:"dest_custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
//*
//
//The channel id of the channel that must be taken to the first hop. If zero,
//any channel may be used.
OutgoingChanId uint64 `protobuf:"varint,14,opt,name=outgoing_chan_id,json=outgoingChanId,proto3" json:"outgoing_chan_id,omitempty"`
//*
//
//The pubkey of the last hop of the route. If empty, any hop may be used.
LastHopPubkey []byte `protobuf:"bytes,15,opt,name=last_hop_pubkey,json=lastHopPubkey,proto3" json:"last_hop_pubkey,omitempty"`
//*
//
//Optional route hints to reach the destination through private channels.
RouteHints []*RouteHint `protobuf:"bytes,16,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
//*
//
//Features assumed to be supported by the final node. All transitive feature
//dependencies must also be set properly. For a given feature bit pair, either
//optional or remote may be set, but not both. If this field is nil or empty,
@ -6580,11 +6580,11 @@ func (m *QueryRoutesRequest) GetDestFeatures() []FeatureBit {
}
type NodePair struct {
//*
//
//The sending node of the pair. When using REST, this field must be encoded as
//base64.
From []byte `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
//*
//
//The receiving node of the pair. When using REST, this field must be encoded
//as base64.
To []byte `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
@ -6633,9 +6633,9 @@ func (m *NodePair) GetTo() []byte {
}
type EdgeLocator struct {
/// The short channel id of this edge.
// The short channel id of this edge.
ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
//*
//
//The direction of this edge. If direction_reverse is false, the direction
//of this edge is from the channel endpoint with the lexicographically smaller
//pub key to the endpoint with the larger pub key. If direction_reverse is
@ -6686,11 +6686,11 @@ func (m *EdgeLocator) GetDirectionReverse() bool {
}
type QueryRoutesResponse struct {
//*
//
//The route that results from the path finding operation. This is still a
//repeated field to retain backwards compatibility.
Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"`
//*
//
//The success probability of the returned route based on the current mission
//control state. [EXPERIMENTAL]
SuccessProb float64 `protobuf:"fixed64,2,opt,name=success_prob,json=successProb,proto3" json:"success_prob,omitempty"`
@ -6739,7 +6739,7 @@ func (m *QueryRoutesResponse) GetSuccessProb() float64 {
}
type Hop struct {
//*
//
//The unique channel ID for the channel. The first 3 bytes are the block
//height, the next 3 the index within the block, and the last 2 bytes are the
//output index for the channel.
@ -6750,22 +6750,22 @@ type Hop struct {
Expiry uint32 `protobuf:"varint,5,opt,name=expiry,proto3" json:"expiry,omitempty"`
AmtToForwardMsat int64 `protobuf:"varint,6,opt,name=amt_to_forward_msat,json=amtToForwardMsat,proto3" json:"amt_to_forward_msat,omitempty"`
FeeMsat int64 `protobuf:"varint,7,opt,name=fee_msat,json=feeMsat,proto3" json:"fee_msat,omitempty"`
//*
//
//An optional public key of the hop. If the public key is given, the payment
//can be executed without relying on a copy of the channel graph.
PubKey string `protobuf:"bytes,8,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"`
//*
//
//If set to true, then this hop will be encoded using the new variable length
//TLV format. Note that if any custom tlv_records below are specified, then
//this field MUST be set to true for them to be encoded properly.
TlvPayload bool `protobuf:"varint,9,opt,name=tlv_payload,json=tlvPayload,proto3" json:"tlv_payload,omitempty"`
//*
//
//An optional TLV record that signals the use of an MPP payment. If present,
//the receiver will enforce that that the same mpp_record is included in the
//final hop payload of all non-zero payments in the HTLC set. If empty, a
//regular single-shot payment is or was attempted.
MppRecord *MPPRecord `protobuf:"bytes,10,opt,name=mpp_record,json=mppRecord,proto3" json:"mpp_record,omitempty"`
//*
//
//An optional set of key-value TLV records. This is useful within the context
//of the SendToRoute call as it allows callers to specify arbitrary K-V pairs
//to drop off at each hop within the onion.
@ -6880,13 +6880,13 @@ func (m *Hop) GetCustomRecords() map[uint64][]byte {
}
type MPPRecord struct {
//*
//
//A unique, random identifier used to authenticate the sender as the intended
//payer of a multi-path payment. The payment_addr must be the same for all
//subpayments, and match the payment_addr provided in the receiver's invoice.
//The same payment_addr must be used on all subpayments.
PaymentAddr []byte `protobuf:"bytes,11,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"`
//*
//
//The total amount in milli-satoshis being sent as part of a larger multi-path
//payment. The caller is responsible for ensuring subpayments to the same node
//and payment_hash sum exactly to total_amt_msat. The same
@ -6936,38 +6936,38 @@ func (m *MPPRecord) GetTotalAmtMsat() int64 {
return 0
}
//*
//
//A path through the channel graph which runs over one or more channels in
//succession. This struct carries all the information required to craft the
//Sphinx onion packet, and send the payment along the first hop in the path. A
//route is only selected as valid if all the channels have sufficient capacity to
//carry the initial payment amount after fees are accounted for.
type Route struct {
//*
//
//The cumulative (final) time lock across the entire route. This is the CLTV
//value that should be extended to the first hop in the route. All other hops
//will decrement the time-lock as advertised, leaving enough time for all
//hops to wait for or present the payment preimage to complete the payment.
TotalTimeLock uint32 `protobuf:"varint,1,opt,name=total_time_lock,json=totalTimeLock,proto3" json:"total_time_lock,omitempty"`
//*
//
//The sum of the fees paid at each hop within the final route. In the case
//of a one-hop payment, this value will be zero as we don't need to pay a fee
//to ourselves.
TotalFees int64 `protobuf:"varint,2,opt,name=total_fees,json=totalFees,proto3" json:"total_fees,omitempty"` // Deprecated: Do not use.
//*
//
//The total amount of funds required to complete a payment over this route.
//This value includes the cumulative fees at each hop. As a result, the HTLC
//extended to the first-hop in the route will need to have at least this many
//satoshis, otherwise the route will fail at an intermediate node due to an
//insufficient amount of fees.
TotalAmt int64 `protobuf:"varint,3,opt,name=total_amt,json=totalAmt,proto3" json:"total_amt,omitempty"` // Deprecated: Do not use.
//*
//
//Contains details concerning the specific forwarding details at each hop.
Hops []*Hop `protobuf:"bytes,4,rep,name=hops,proto3" json:"hops,omitempty"`
//*
//
//The total fees in millisatoshis.
TotalFeesMsat int64 `protobuf:"varint,5,opt,name=total_fees_msat,json=totalFeesMsat,proto3" json:"total_fees_msat,omitempty"`
//*
//
//The total amount in millisatoshis.
TotalAmtMsat int64 `protobuf:"varint,6,opt,name=total_amt_msat,json=totalAmtMsat,proto3" json:"total_amt_msat,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -7045,9 +7045,9 @@ func (m *Route) GetTotalAmtMsat() int64 {
}
type NodeInfoRequest struct {
/// The 33-byte hex-encoded compressed public of the target node
// The 33-byte hex-encoded compressed public of the target node
PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"`
/// If true, will include all known channels associated with the node.
// If true, will include all known channels associated with the node.
IncludeChannels bool `protobuf:"varint,2,opt,name=include_channels,json=includeChannels,proto3" json:"include_channels,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -7094,17 +7094,17 @@ func (m *NodeInfoRequest) GetIncludeChannels() bool {
}
type NodeInfo struct {
//*
//
//An individual vertex/node within the channel graph. A node is
//connected to other nodes by one or more channel edges emanating from it. As
//the graph is directed, a node will also have an incoming edge attached to
//it for each outgoing edge.
Node *LightningNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"`
/// The total number of channels for the node.
// The total number of channels for the node.
NumChannels uint32 `protobuf:"varint,2,opt,name=num_channels,json=numChannels,proto3" json:"num_channels,omitempty"`
/// The sum of all channels capacity for the node, denominated in satoshis.
// The sum of all channels capacity for the node, denominated in satoshis.
TotalCapacity int64 `protobuf:"varint,3,opt,name=total_capacity,json=totalCapacity,proto3" json:"total_capacity,omitempty"`
/// A list of all public channels for the node.
// A list of all public channels for the node.
Channels []*ChannelEdge `protobuf:"bytes,4,rep,name=channels,proto3" json:"channels,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -7164,7 +7164,7 @@ func (m *NodeInfo) GetChannels() []*ChannelEdge {
return nil
}
//*
//
//An individual vertex/node within the channel graph. A node is
//connected to other nodes by one or more channel edges emanating from it. As the
//graph is directed, a node will also have an incoming edge attached to it for
@ -7382,14 +7382,14 @@ func (m *RoutingPolicy) GetLastUpdate() uint32 {
return 0
}
//*
//
//A fully authenticated channel along with all its unique attributes.
//Once an authenticated channel announcement has been processed on the network,
//then an instance of ChannelEdgeInfo encapsulating the channels attributes is
//stored. The other portions relevant to routing policy of a channel are stored
//within a ChannelEdgePolicy for each direction of the channel.
type ChannelEdge struct {
//*
//
//The unique channel ID for the channel. The first 3 bytes are the block
//height, the next 3 the index within the block, and the last 2 bytes are the
//output index for the channel.
@ -7489,7 +7489,7 @@ func (m *ChannelEdge) GetNode2Policy() *RoutingPolicy {
}
type ChannelGraphRequest struct {
//*
//
//Whether unannounced channels are included in the response or not. If set,
//unannounced channels are included. Unannounced channels are both private
//channels, and public channels that are not yet announced to the network.
@ -7531,11 +7531,11 @@ func (m *ChannelGraphRequest) GetIncludeUnannounced() bool {
return false
}
/// Returns a new instance of the directed channel graph.
// Returns a new instance of the directed channel graph.
type ChannelGraph struct {
/// The list of `LightningNode`s in this channel graph
// The list of `LightningNode`s in this channel graph
Nodes []*LightningNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
/// The list of `ChannelEdge`s in this channel graph
// The list of `ChannelEdge`s in this channel graph
Edges []*ChannelEdge `protobuf:"bytes,2,rep,name=edges,proto3" json:"edges,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -7582,7 +7582,7 @@ func (m *ChannelGraph) GetEdges() []*ChannelEdge {
}
type NodeMetricsRequest struct {
/// The requested node metrics.
// The requested node metrics.
Types []NodeMetricType `protobuf:"varint,1,rep,packed,name=types,proto3,enum=lnrpc.NodeMetricType" json:"types,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -7622,7 +7622,7 @@ func (m *NodeMetricsRequest) GetTypes() []NodeMetricType {
}
type NodeMetricsResponse struct {
//*
//
//Betweenness centrality is the sum of the ratio of shortest paths that pass
//through the node for each pair of nodes in the graph (not counting paths
//starting or ending at this node).
@ -7667,9 +7667,9 @@ func (m *NodeMetricsResponse) GetBetweennessCentrality() map[string]*FloatMetric
}
type FloatMetric struct {
/// Arbitrary float value.
// Arbitrary float value.
Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
/// The value normalized to [0,1] or [-1,1].
// The value normalized to [0,1] or [-1,1].
NormalizedValue float64 `protobuf:"fixed64,2,opt,name=normalized_value,json=normalizedValue,proto3" json:"normalized_value,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -7716,7 +7716,7 @@ func (m *FloatMetric) GetNormalizedValue() float64 {
}
type ChanInfoRequest struct {
//*
//
//The unique channel ID for the channel. The first 3 bytes are the block
//height, the next 3 the index within the block, and the last 2 bytes are the
//output index for the channel.
@ -8129,7 +8129,7 @@ func (m *NodeUpdate) GetColor() string {
}
type ChannelEdgeUpdate struct {
//*
//
//The unique channel ID for the channel. The first 3 bytes are the block
//height, the next 3 the index within the block, and the last 2 bytes are the
//output index for the channel.
@ -8212,7 +8212,7 @@ func (m *ChannelEdgeUpdate) GetConnectingNode() string {
}
type ClosedChannelUpdate struct {
//*
//
//The unique channel ID for the channel. The first 3 bytes are the block
//height, the next 3 the index within the block, and the last 2 bytes are the
//output index for the channel.
@ -8279,17 +8279,17 @@ func (m *ClosedChannelUpdate) GetChanPoint() *ChannelPoint {
}
type HopHint struct {
/// The public key of the node at the start of the channel.
// The public key of the node at the start of the channel.
NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
/// The unique identifier of the channel.
// The unique identifier of the channel.
ChanId uint64 `protobuf:"varint,2,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"`
/// The base fee of the channel denominated in millisatoshis.
// The base fee of the channel denominated in millisatoshis.
FeeBaseMsat uint32 `protobuf:"varint,3,opt,name=fee_base_msat,json=feeBaseMsat,proto3" json:"fee_base_msat,omitempty"`
//*
//
//The fee rate of the channel for sending one satoshi across it denominated in
//millionths of a satoshi.
FeeProportionalMillionths uint32 `protobuf:"varint,4,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3" json:"fee_proportional_millionths,omitempty"`
/// The time-lock delta of the channel.
// The time-lock delta of the channel.
CltvExpiryDelta uint32 `protobuf:"varint,5,opt,name=cltv_expiry_delta,json=cltvExpiryDelta,proto3" json:"cltv_expiry_delta,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -8357,7 +8357,7 @@ func (m *HopHint) GetCltvExpiryDelta() uint32 {
}
type RouteHint struct {
//*
//
//A list of hop hints that when chained together can assist in reaching a
//specific destination.
HopHints []*HopHint `protobuf:"bytes,1,rep,name=hop_hints,json=hopHints,proto3" json:"hop_hints,omitempty"`
@ -8399,75 +8399,75 @@ func (m *RouteHint) GetHopHints() []*HopHint {
}
type Invoice struct {
//*
//
//An optional memo to attach along with the invoice. Used for record keeping
//purposes for the invoice's creator, and will also be set in the description
//field of the encoded payment request if the description_hash field is not
//being used.
Memo string `protobuf:"bytes,1,opt,name=memo,proto3" json:"memo,omitempty"`
//*
//
//The hex-encoded preimage (32 byte) which will allow settling an incoming
//HTLC payable to this preimage. When using REST, this field must be encoded
//as base64.
RPreimage []byte `protobuf:"bytes,3,opt,name=r_preimage,json=rPreimage,proto3" json:"r_preimage,omitempty"`
//*
//
//The hash of the preimage. When using REST, this field must be encoded as
//base64.
RHash []byte `protobuf:"bytes,4,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"`
//*
//
//The value of this invoice in satoshis
//
//The fields value and value_msat are mutually exclusive.
Value int64 `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"`
//*
//
//The value of this invoice in millisatoshis
//
//The fields value and value_msat are mutually exclusive.
ValueMsat int64 `protobuf:"varint,23,opt,name=value_msat,json=valueMsat,proto3" json:"value_msat,omitempty"`
/// Whether this invoice has been fulfilled
// Whether this invoice has been fulfilled
Settled bool `protobuf:"varint,6,opt,name=settled,proto3" json:"settled,omitempty"` // Deprecated: Do not use.
/// When this invoice was created
// When this invoice was created
CreationDate int64 `protobuf:"varint,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"`
/// When this invoice was settled
// When this invoice was settled
SettleDate int64 `protobuf:"varint,8,opt,name=settle_date,json=settleDate,proto3" json:"settle_date,omitempty"`
//*
//
//A bare-bones invoice for a payment within the Lightning Network. With the
//details of the invoice, the sender has all the data necessary to send a
//payment to the recipient.
PaymentRequest string `protobuf:"bytes,9,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"`
//*
//
//Hash (SHA-256) of a description of the payment. Used if the description of
//payment (memo) is too long to naturally fit within the description field
//of an encoded payment request. When using REST, this field must be encoded
//as base64.
DescriptionHash []byte `protobuf:"bytes,10,opt,name=description_hash,json=descriptionHash,proto3" json:"description_hash,omitempty"`
/// Payment request expiry time in seconds. Default is 3600 (1 hour).
// Payment request expiry time in seconds. Default is 3600 (1 hour).
Expiry int64 `protobuf:"varint,11,opt,name=expiry,proto3" json:"expiry,omitempty"`
/// Fallback on-chain address.
// Fallback on-chain address.
FallbackAddr string `protobuf:"bytes,12,opt,name=fallback_addr,json=fallbackAddr,proto3" json:"fallback_addr,omitempty"`
/// Delta to use for the time-lock of the CLTV extended to the final hop.
// Delta to use for the time-lock of the CLTV extended to the final hop.
CltvExpiry uint64 `protobuf:"varint,13,opt,name=cltv_expiry,json=cltvExpiry,proto3" json:"cltv_expiry,omitempty"`
//*
//
//Route hints that can each be individually used to assist in reaching the
//invoice's destination.
RouteHints []*RouteHint `protobuf:"bytes,14,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
/// Whether this invoice should include routing hints for private channels.
// Whether this invoice should include routing hints for private channels.
Private bool `protobuf:"varint,15,opt,name=private,proto3" json:"private,omitempty"`
//*
//
//The "add" index of this invoice. Each newly created invoice will increment
//this index making it monotonically increasing. Callers to the
//SubscribeInvoices call can use this to instantly get notified of all added
//invoices with an add_index greater than this one.
AddIndex uint64 `protobuf:"varint,16,opt,name=add_index,json=addIndex,proto3" json:"add_index,omitempty"`
//*
//
//The "settle" index of this invoice. Each newly settled invoice will
//increment this index making it monotonically increasing. Callers to the
//SubscribeInvoices call can use this to instantly get notified of all
//settled invoices with an settle_index greater than this one.
SettleIndex uint64 `protobuf:"varint,17,opt,name=settle_index,json=settleIndex,proto3" json:"settle_index,omitempty"`
/// Deprecated, use amt_paid_sat or amt_paid_msat.
// Deprecated, use amt_paid_sat or amt_paid_msat.
AmtPaid int64 `protobuf:"varint,18,opt,name=amt_paid,json=amtPaid,proto3" json:"amt_paid,omitempty"` // Deprecated: Do not use.
//*
//
//The amount that was accepted for this invoice, in satoshis. This will ONLY
//be set if this invoice has been settled. We provide this field as if the
//invoice was created with a zero value, then we need to record what amount
@ -8475,7 +8475,7 @@ type Invoice struct {
//MORE that was specified in the original invoice. So we'll record that here
//as well.
AmtPaidSat int64 `protobuf:"varint,19,opt,name=amt_paid_sat,json=amtPaidSat,proto3" json:"amt_paid_sat,omitempty"`
//*
//
//The amount that was accepted for this invoice, in millisatoshis. This will
//ONLY be set if this invoice has been settled. We provide this field as if
//the invoice was created with a zero value, then we need to record what
@ -8483,14 +8483,14 @@ type Invoice struct {
//paid MORE that was specified in the original invoice. So we'll record that
//here as well.
AmtPaidMsat int64 `protobuf:"varint,20,opt,name=amt_paid_msat,json=amtPaidMsat,proto3" json:"amt_paid_msat,omitempty"`
//*
//
//The state the invoice is in.
State Invoice_InvoiceState `protobuf:"varint,21,opt,name=state,proto3,enum=lnrpc.Invoice_InvoiceState" json:"state,omitempty"`
/// List of HTLCs paying to this invoice [EXPERIMENTAL].
// List of HTLCs paying to this invoice [EXPERIMENTAL].
Htlcs []*InvoiceHTLC `protobuf:"bytes,22,rep,name=htlcs,proto3" json:"htlcs,omitempty"`
/// List of features advertised on the invoice.
// List of features advertised on the invoice.
Features map[uint32]*Feature `protobuf:"bytes,24,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
//*
//
//Indicates if this invoice was a spontaneous payment that arrived via keysend
//[EXPERIMENTAL].
IsKeysend bool `protobuf:"varint,25,opt,name=is_keysend,json=isKeysend,proto3" json:"is_keysend,omitempty"`
@ -8694,27 +8694,27 @@ func (m *Invoice) GetIsKeysend() bool {
return false
}
/// Details of an HTLC that paid to an invoice
// Details of an HTLC that paid to an invoice
type InvoiceHTLC struct {
/// Short channel id over which the htlc was received.
// Short channel id over which the htlc was received.
ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"`
/// Index identifying the htlc on the channel.
// Index identifying the htlc on the channel.
HtlcIndex uint64 `protobuf:"varint,2,opt,name=htlc_index,json=htlcIndex,proto3" json:"htlc_index,omitempty"`
/// The amount of the htlc in msat.
// The amount of the htlc in msat.
AmtMsat uint64 `protobuf:"varint,3,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"`
/// Block height at which this htlc was accepted.
// Block height at which this htlc was accepted.
AcceptHeight int32 `protobuf:"varint,4,opt,name=accept_height,json=acceptHeight,proto3" json:"accept_height,omitempty"`
/// Time at which this htlc was accepted.
// Time at which this htlc was accepted.
AcceptTime int64 `protobuf:"varint,5,opt,name=accept_time,json=acceptTime,proto3" json:"accept_time,omitempty"`
/// Time at which this htlc was settled or canceled.
// Time at which this htlc was settled or canceled.
ResolveTime int64 `protobuf:"varint,6,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"`
/// Block height at which this htlc expires.
// Block height at which this htlc expires.
ExpiryHeight int32 `protobuf:"varint,7,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"`
/// Current state the htlc is in.
// Current state the htlc is in.
State InvoiceHTLCState `protobuf:"varint,8,opt,name=state,proto3,enum=lnrpc.InvoiceHTLCState" json:"state,omitempty"`
/// Custom tlv records.
// Custom tlv records.
CustomRecords map[uint64][]byte `protobuf:"bytes,9,rep,name=custom_records,json=customRecords,proto3" json:"custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
/// The total amount of the mpp payment in msat.
// The total amount of the mpp payment in msat.
MppTotalAmtMsat uint64 `protobuf:"varint,10,opt,name=mpp_total_amt_msat,json=mppTotalAmtMsat,proto3" json:"mpp_total_amt_msat,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -8818,12 +8818,12 @@ func (m *InvoiceHTLC) GetMppTotalAmtMsat() uint64 {
type AddInvoiceResponse struct {
RHash []byte `protobuf:"bytes,1,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"`
//*
//
//A bare-bones invoice for a payment within the Lightning Network. With the
//details of the invoice, the sender has all the data necessary to send a
//payment to the recipient.
PaymentRequest string `protobuf:"bytes,2,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"`
//*
//
//The "add" index of this invoice. Each newly created invoice will increment
//this index making it monotonically increasing. Callers to the
//SubscribeInvoices call can use this to instantly get notified of all added
@ -8881,13 +8881,13 @@ func (m *AddInvoiceResponse) GetAddIndex() uint64 {
}
type PaymentHash struct {
//*
//
//The hex-encoded payment hash of the invoice to be looked up. The passed
//payment hash must be exactly 32 bytes, otherwise an error is returned.
//Deprecated now that the REST gateway supports base64 encoding of bytes
//fields.
RHashStr string `protobuf:"bytes,1,opt,name=r_hash_str,json=rHashStr,proto3" json:"r_hash_str,omitempty"` // Deprecated: Do not use.
//*
//
//The payment hash of the invoice to be looked up. When using REST, this field
//must be encoded as base64.
RHash []byte `protobuf:"bytes,2,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"`
@ -8937,17 +8937,17 @@ func (m *PaymentHash) GetRHash() []byte {
}
type ListInvoiceRequest struct {
//*
//
//If set, only invoices that are not settled and not canceled will be returned
//in the response.
PendingOnly bool `protobuf:"varint,1,opt,name=pending_only,json=pendingOnly,proto3" json:"pending_only,omitempty"`
//*
//
//The index of an invoice that will be used as either the start or end of a
//query to determine which invoices should be returned in the response.
IndexOffset uint64 `protobuf:"varint,4,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"`
/// The max number of invoices to return in the response to this query.
// The max number of invoices to return in the response to this query.
NumMaxInvoices uint64 `protobuf:"varint,5,opt,name=num_max_invoices,json=numMaxInvoices,proto3" json:"num_max_invoices,omitempty"`
//*
//
//If set, the invoices returned will result from seeking backwards from the
//specified index offset. This can be used to paginate backwards.
Reversed bool `protobuf:"varint,6,opt,name=reversed,proto3" json:"reversed,omitempty"`
@ -9010,15 +9010,15 @@ func (m *ListInvoiceRequest) GetReversed() bool {
}
type ListInvoiceResponse struct {
//*
//
//A list of invoices from the time slice of the time series specified in the
//request.
Invoices []*Invoice `protobuf:"bytes,1,rep,name=invoices,proto3" json:"invoices,omitempty"`
//*
//
//The index of the last item in the set of returned invoices. This can be used
//to seek further, pagination style.
LastIndexOffset uint64 `protobuf:"varint,2,opt,name=last_index_offset,json=lastIndexOffset,proto3" json:"last_index_offset,omitempty"`
//*
//
//The index of the last item in the set of returned invoices. This can be used
//to seek backwards, pagination style.
FirstIndexOffset uint64 `protobuf:"varint,3,opt,name=first_index_offset,json=firstIndexOffset,proto3" json:"first_index_offset,omitempty"`
@ -9074,13 +9074,13 @@ func (m *ListInvoiceResponse) GetFirstIndexOffset() uint64 {
}
type InvoiceSubscription struct {
//*
//
//If specified (non-zero), then we'll first start by sending out
//notifications for all added indexes with an add_index greater than this
//value. This allows callers to catch up on any events they missed while they
//weren't connected to the streaming RPC.
AddIndex uint64 `protobuf:"varint,1,opt,name=add_index,json=addIndex,proto3" json:"add_index,omitempty"`
//*
//
//If specified (non-zero), then we'll first start by sending out
//notifications for all settled indexes with an settle_index greater than
//this value. This allows callers to catch up on any events they missed while
@ -9131,33 +9131,33 @@ func (m *InvoiceSubscription) GetSettleIndex() uint64 {
}
type Payment struct {
/// The payment hash
// The payment hash
PaymentHash string `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
/// Deprecated, use value_sat or value_msat.
// Deprecated, use value_sat or value_msat.
Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` // Deprecated: Do not use.
/// Deprecated, use creation_time_ns
// Deprecated, use creation_time_ns
CreationDate int64 `protobuf:"varint,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` // Deprecated: Do not use.
/// Deprecated, use fee_sat or fee_msat.
// Deprecated, use fee_sat or fee_msat.
Fee int64 `protobuf:"varint,5,opt,name=fee,proto3" json:"fee,omitempty"` // Deprecated: Do not use.
/// The payment preimage
// The payment preimage
PaymentPreimage string `protobuf:"bytes,6,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"`
/// The value of the payment in satoshis
// The value of the payment in satoshis
ValueSat int64 `protobuf:"varint,7,opt,name=value_sat,json=valueSat,proto3" json:"value_sat,omitempty"`
/// The value of the payment in milli-satoshis
// The value of the payment in milli-satoshis
ValueMsat int64 `protobuf:"varint,8,opt,name=value_msat,json=valueMsat,proto3" json:"value_msat,omitempty"`
/// The optional payment request being fulfilled.
// The optional payment request being fulfilled.
PaymentRequest string `protobuf:"bytes,9,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"`
// The status of the payment.
Status Payment_PaymentStatus `protobuf:"varint,10,opt,name=status,proto3,enum=lnrpc.Payment_PaymentStatus" json:"status,omitempty"`
/// The fee paid for this payment in satoshis
// The fee paid for this payment in satoshis
FeeSat int64 `protobuf:"varint,11,opt,name=fee_sat,json=feeSat,proto3" json:"fee_sat,omitempty"`
/// The fee paid for this payment in milli-satoshis
// The fee paid for this payment in milli-satoshis
FeeMsat int64 `protobuf:"varint,12,opt,name=fee_msat,json=feeMsat,proto3" json:"fee_msat,omitempty"`
/// The time in UNIX nanoseconds at which the payment was created.
// The time in UNIX nanoseconds at which the payment was created.
CreationTimeNs int64 `protobuf:"varint,13,opt,name=creation_time_ns,json=creationTimeNs,proto3" json:"creation_time_ns,omitempty"`
/// The HTLCs made in attempt to settle the payment.
// The HTLCs made in attempt to settle the payment.
Htlcs []*HTLCAttempt `protobuf:"bytes,14,rep,name=htlcs,proto3" json:"htlcs,omitempty"`
//*
//
//The creation index of this payment. Each payment can be uniquely identified
//by this index, which may not strictly increment by 1 for payments made in
//older versions of lnd.
@ -9302,13 +9302,13 @@ func (m *Payment) GetFailureReason() PaymentFailureReason {
}
type HTLCAttempt struct {
/// The status of the HTLC.
// The status of the HTLC.
Status HTLCAttempt_HTLCStatus `protobuf:"varint,1,opt,name=status,proto3,enum=lnrpc.HTLCAttempt_HTLCStatus" json:"status,omitempty"`
/// The route taken by this HTLC.
// The route taken by this HTLC.
Route *Route `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"`
/// The time in UNIX nanoseconds at which this HTLC was sent.
// The time in UNIX nanoseconds at which this HTLC was sent.
AttemptTimeNs int64 `protobuf:"varint,3,opt,name=attempt_time_ns,json=attemptTimeNs,proto3" json:"attempt_time_ns,omitempty"`
//*
//
//The time in UNIX nanoseconds at which this HTLC was settled or failed.
//This value will not be set if the HTLC is still IN_FLIGHT.
ResolveTimeNs int64 `protobuf:"varint,4,opt,name=resolve_time_ns,json=resolveTimeNs,proto3" json:"resolve_time_ns,omitempty"`
@ -9380,22 +9380,22 @@ func (m *HTLCAttempt) GetFailure() *Failure {
}
type ListPaymentsRequest struct {
//*
//
//If true, then return payments that have not yet fully completed. This means
//that pending payments, as well as failed payments will show up if this
//field is set to true. This flag doesn't change the meaning of the indices,
//which are tied to individual payments.
IncludeIncomplete bool `protobuf:"varint,1,opt,name=include_incomplete,json=includeIncomplete,proto3" json:"include_incomplete,omitempty"`
//*
//
//The index of a payment that will be used as either the start or end of a
//query to determine which payments should be returned in the response. The
//index_offset is exclusive. In the case of a zero index_offset, the query
//will start with the oldest payment when paginating forwards, or will end
//with the most recent payment when paginating backwards.
IndexOffset uint64 `protobuf:"varint,2,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"`
/// The maximal number of payments returned in the response to this query.
// The maximal number of payments returned in the response to this query.
MaxPayments uint64 `protobuf:"varint,3,opt,name=max_payments,json=maxPayments,proto3" json:"max_payments,omitempty"`
//*
//
//If set, the payments returned will result from seeking backwards from the
//specified index offset. This can be used to paginate backwards. The order
//of the returned payments is always oldest first (ascending index order).
@ -9459,13 +9459,13 @@ func (m *ListPaymentsRequest) GetReversed() bool {
}
type ListPaymentsResponse struct {
/// The list of payments
// The list of payments
Payments []*Payment `protobuf:"bytes,1,rep,name=payments,proto3" json:"payments,omitempty"`
//*
//
//The index of the first item in the set of returned payments. This can be
//used as the index_offset to continue seeking backwards in the next request.
FirstIndexOffset uint64 `protobuf:"varint,2,opt,name=first_index_offset,json=firstIndexOffset,proto3" json:"first_index_offset,omitempty"`
//*
//
//The index of the last item in the set of returned payments. This can be used
//as the index_offset to continue seeking forwards in the next request.
LastIndexOffset uint64 `protobuf:"varint,3,opt,name=last_index_offset,json=lastIndexOffset,proto3" json:"last_index_offset,omitempty"`
@ -9739,7 +9739,7 @@ func (m *DebugLevelResponse) GetSubSystems() string {
}
type PayReqString struct {
/// The payment request string to be decoded
// The payment request string to be decoded
PayReq string `protobuf:"bytes,1,opt,name=pay_req,json=payReq,proto3" json:"pay_req,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -10000,17 +10000,17 @@ func (m *FeeReportRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_FeeReportRequest proto.InternalMessageInfo
type ChannelFeeReport struct {
/// The short channel id that this fee report belongs to.
// The short channel id that this fee report belongs to.
ChanId uint64 `protobuf:"varint,5,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"`
/// The channel that this fee report belongs to.
// The channel that this fee report belongs to.
ChannelPoint string `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"`
/// The base fee charged regardless of the number of milli-satoshis sent.
// The base fee charged regardless of the number of milli-satoshis sent.
BaseFeeMsat int64 `protobuf:"varint,2,opt,name=base_fee_msat,json=baseFeeMsat,proto3" json:"base_fee_msat,omitempty"`
/// The amount charged per milli-satoshis transferred expressed in
/// millionths of a satoshi.
// The amount charged per milli-satoshis transferred expressed in
// millionths of a satoshi.
FeePerMil int64 `protobuf:"varint,3,opt,name=fee_per_mil,json=feePerMil,proto3" json:"fee_per_mil,omitempty"`
/// The effective fee rate in milli-satoshis. Computed by dividing the
/// fee_per_mil value by 1 million.
// The effective fee rate in milli-satoshis. Computed by dividing the
// fee_per_mil value by 1 million.
FeeRate float64 `protobuf:"fixed64,4,opt,name=fee_rate,json=feeRate,proto3" json:"fee_rate,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -10078,17 +10078,17 @@ func (m *ChannelFeeReport) GetFeeRate() float64 {
}
type FeeReportResponse struct {
/// An array of channel fee reports which describes the current fee schedule
/// for each channel.
// An array of channel fee reports which describes the current fee schedule
// for each channel.
ChannelFees []*ChannelFeeReport `protobuf:"bytes,1,rep,name=channel_fees,json=channelFees,proto3" json:"channel_fees,omitempty"`
/// The total amount of fee revenue (in satoshis) the switch has collected
/// over the past 24 hrs.
// The total amount of fee revenue (in satoshis) the switch has collected
// over the past 24 hrs.
DayFeeSum uint64 `protobuf:"varint,2,opt,name=day_fee_sum,json=dayFeeSum,proto3" json:"day_fee_sum,omitempty"`
/// The total amount of fee revenue (in satoshis) the switch has collected
/// over the past 1 week.
// The total amount of fee revenue (in satoshis) the switch has collected
// over the past 1 week.
WeekFeeSum uint64 `protobuf:"varint,3,opt,name=week_fee_sum,json=weekFeeSum,proto3" json:"week_fee_sum,omitempty"`
/// The total amount of fee revenue (in satoshis) the switch has collected
/// over the past 1 month.
// The total amount of fee revenue (in satoshis) the switch has collected
// over the past 1 month.
MonthFeeSum uint64 `protobuf:"varint,4,opt,name=month_fee_sum,json=monthFeeSum,proto3" json:"month_fee_sum,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -10153,20 +10153,20 @@ type PolicyUpdateRequest struct {
// *PolicyUpdateRequest_Global
// *PolicyUpdateRequest_ChanPoint
Scope isPolicyUpdateRequest_Scope `protobuf_oneof:"scope"`
/// The base fee charged regardless of the number of milli-satoshis sent.
// The base fee charged regardless of the number of milli-satoshis sent.
BaseFeeMsat int64 `protobuf:"varint,3,opt,name=base_fee_msat,json=baseFeeMsat,proto3" json:"base_fee_msat,omitempty"`
/// The effective fee rate in milli-satoshis. The precision of this value
/// goes up to 6 decimal places, so 1e-6.
// The effective fee rate in milli-satoshis. The precision of this value
// goes up to 6 decimal places, so 1e-6.
FeeRate float64 `protobuf:"fixed64,4,opt,name=fee_rate,json=feeRate,proto3" json:"fee_rate,omitempty"`
/// The required timelock delta for HTLCs forwarded over the channel.
// The required timelock delta for HTLCs forwarded over the channel.
TimeLockDelta uint32 `protobuf:"varint,5,opt,name=time_lock_delta,json=timeLockDelta,proto3" json:"time_lock_delta,omitempty"`
/// If set, the maximum HTLC size in milli-satoshis. If unset, the maximum
/// HTLC will be unchanged.
// If set, the maximum HTLC size in milli-satoshis. If unset, the maximum
// HTLC will be unchanged.
MaxHtlcMsat uint64 `protobuf:"varint,6,opt,name=max_htlc_msat,json=maxHtlcMsat,proto3" json:"max_htlc_msat,omitempty"`
/// The minimum HTLC size in milli-satoshis. Only applied if
/// min_htlc_msat_specified is true.
// The minimum HTLC size in milli-satoshis. Only applied if
// min_htlc_msat_specified is true.
MinHtlcMsat uint64 `protobuf:"varint,7,opt,name=min_htlc_msat,json=minHtlcMsat,proto3" json:"min_htlc_msat,omitempty"`
/// If true, min_htlc_msat is applied.
// If true, min_htlc_msat is applied.
MinHtlcMsatSpecified bool `protobuf:"varint,8,opt,name=min_htlc_msat_specified,json=minHtlcMsatSpecified,proto3" json:"min_htlc_msat_specified,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -10317,19 +10317,19 @@ func (m *PolicyUpdateResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_PolicyUpdateResponse proto.InternalMessageInfo
type ForwardingHistoryRequest struct {
/// Start time is the starting point of the forwarding history request. All
/// records beyond this point will be included, respecting the end time, and
/// the index offset.
// Start time is the starting point of the forwarding history request. All
// records beyond this point will be included, respecting the end time, and
// the index offset.
StartTime uint64 `protobuf:"varint,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
/// End time is the end point of the forwarding history request. The
/// response will carry at most 50k records between the start time and the
/// end time. The index offset can be used to implement pagination.
// End time is the end point of the forwarding history request. The
// response will carry at most 50k records between the start time and the
// end time. The index offset can be used to implement pagination.
EndTime uint64 `protobuf:"varint,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
/// Index offset is the offset in the time series to start at. As each
/// response can only contain 50k records, callers can use this to skip
/// around within a packed time series.
// Index offset is the offset in the time series to start at. As each
// response can only contain 50k records, callers can use this to skip
// around within a packed time series.
IndexOffset uint32 `protobuf:"varint,3,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"`
/// The max number of events to return in the response to this query.
// The max number of events to return in the response to this query.
NumMaxEvents uint32 `protobuf:"varint,4,opt,name=num_max_events,json=numMaxEvents,proto3" json:"num_max_events,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -10390,29 +10390,29 @@ func (m *ForwardingHistoryRequest) GetNumMaxEvents() uint32 {
}
type ForwardingEvent struct {
/// Timestamp is the time (unix epoch offset) that this circuit was
/// completed.
// Timestamp is the time (unix epoch offset) that this circuit was
// completed.
Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
/// The incoming channel ID that carried the HTLC that created the circuit.
// The incoming channel ID that carried the HTLC that created the circuit.
ChanIdIn uint64 `protobuf:"varint,2,opt,name=chan_id_in,json=chanIdIn,proto3" json:"chan_id_in,omitempty"`
/// The outgoing channel ID that carried the preimage that completed the
/// circuit.
// The outgoing channel ID that carried the preimage that completed the
// circuit.
ChanIdOut uint64 `protobuf:"varint,4,opt,name=chan_id_out,json=chanIdOut,proto3" json:"chan_id_out,omitempty"`
/// The total amount (in satoshis) of the incoming HTLC that created half
/// the circuit.
// The total amount (in satoshis) of the incoming HTLC that created half
// the circuit.
AmtIn uint64 `protobuf:"varint,5,opt,name=amt_in,json=amtIn,proto3" json:"amt_in,omitempty"`
/// The total amount (in satoshis) of the outgoing HTLC that created the
/// second half of the circuit.
// The total amount (in satoshis) of the outgoing HTLC that created the
// second half of the circuit.
AmtOut uint64 `protobuf:"varint,6,opt,name=amt_out,json=amtOut,proto3" json:"amt_out,omitempty"`
/// The total fee (in satoshis) that this payment circuit carried.
// The total fee (in satoshis) that this payment circuit carried.
Fee uint64 `protobuf:"varint,7,opt,name=fee,proto3" json:"fee,omitempty"`
/// The total fee (in milli-satoshis) that this payment circuit carried.
// The total fee (in milli-satoshis) that this payment circuit carried.
FeeMsat uint64 `protobuf:"varint,8,opt,name=fee_msat,json=feeMsat,proto3" json:"fee_msat,omitempty"`
/// The total amount (in milli-satoshis) of the incoming HTLC that created
/// half the circuit.
// The total amount (in milli-satoshis) of the incoming HTLC that created
// half the circuit.
AmtInMsat uint64 `protobuf:"varint,9,opt,name=amt_in_msat,json=amtInMsat,proto3" json:"amt_in_msat,omitempty"`
/// The total amount (in milli-satoshis) of the outgoing HTLC that created
/// the second half of the circuit.
// The total amount (in milli-satoshis) of the outgoing HTLC that created
// the second half of the circuit.
AmtOutMsat uint64 `protobuf:"varint,10,opt,name=amt_out_msat,json=amtOutMsat,proto3" json:"amt_out_msat,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -10508,11 +10508,11 @@ func (m *ForwardingEvent) GetAmtOutMsat() uint64 {
}
type ForwardingHistoryResponse struct {
/// A list of forwarding events from the time slice of the time series
/// specified in the request.
// A list of forwarding events from the time slice of the time series
// specified in the request.
ForwardingEvents []*ForwardingEvent `protobuf:"bytes,1,rep,name=forwarding_events,json=forwardingEvents,proto3" json:"forwarding_events,omitempty"`
/// The index of the last time in the set of returned forwarding events. Can
/// be used to seek further, pagination style.
// The index of the last time in the set of returned forwarding events. Can
// be used to seek further, pagination style.
LastOffsetIndex uint32 `protobuf:"varint,2,opt,name=last_offset_index,json=lastOffsetIndex,proto3" json:"last_offset_index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -10559,7 +10559,7 @@ func (m *ForwardingHistoryResponse) GetLastOffsetIndex() uint32 {
}
type ExportChannelBackupRequest struct {
/// The target channel point to obtain a back up for.
// The target channel point to obtain a back up for.
ChanPoint *ChannelPoint `protobuf:"bytes,1,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -10599,10 +10599,10 @@ func (m *ExportChannelBackupRequest) GetChanPoint() *ChannelPoint {
}
type ChannelBackup struct {
//*
//
//Identifies the channel that this backup belongs to.
ChanPoint *ChannelPoint `protobuf:"bytes,1,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"`
//*
//
//Is an encrypted single-chan backup. this can be passed to
//RestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in
//order to trigger the recovery protocol. When using REST, this field must be
@ -10653,10 +10653,10 @@ func (m *ChannelBackup) GetChanBackup() []byte {
}
type MultiChanBackup struct {
//*
//
//Is the set of all channels that are included in this multi-channel backup.
ChanPoints []*ChannelPoint `protobuf:"bytes,1,rep,name=chan_points,json=chanPoints,proto3" json:"chan_points,omitempty"`
//*
//
//A single encrypted blob containing all the static channel backups of the
//channel listed above. This can be stored as a single file or blob, and
//safely be replaced with any prior/future versions. When using REST, this
@ -10738,11 +10738,11 @@ func (m *ChanBackupExportRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_ChanBackupExportRequest proto.InternalMessageInfo
type ChanBackupSnapshot struct {
//*
//
//The set of new channels that have been added since the last channel backup
//snapshot was requested.
SingleChanBackups *ChannelBackups `protobuf:"bytes,1,opt,name=single_chan_backups,json=singleChanBackups,proto3" json:"single_chan_backups,omitempty"`
//*
//
//A multi-channel backup that covers all open channels currently known to
//lnd.
MultiChanBackup *MultiChanBackup `protobuf:"bytes,2,opt,name=multi_chan_backup,json=multiChanBackup,proto3" json:"multi_chan_backup,omitempty"`
@ -10791,7 +10791,7 @@ func (m *ChanBackupSnapshot) GetMultiChanBackup() *MultiChanBackup {
}
type ChannelBackups struct {
//*
//
//A set of single-chan static channel backups.
ChanBackups []*ChannelBackup `protobuf:"bytes,1,rep,name=chan_backups,json=chanBackups,proto3" json:"chan_backups,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -11005,9 +11005,9 @@ func (m *VerifyChanBackupResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_VerifyChanBackupResponse proto.InternalMessageInfo
type MacaroonPermission struct {
/// The entity a permission grants access to.
// The entity a permission grants access to.
Entity string `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
/// The action that is granted.
// The action that is granted.
Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -11054,7 +11054,7 @@ func (m *MacaroonPermission) GetAction() string {
}
type BakeMacaroonRequest struct {
/// The list of permissions the new macaroon should grant.
// The list of permissions the new macaroon should grant.
Permissions []*MacaroonPermission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -11094,7 +11094,7 @@ func (m *BakeMacaroonRequest) GetPermissions() []*MacaroonPermission {
}
type BakeMacaroonResponse struct {
/// The hex encoded macaroon, serialized in binary format.
// The hex encoded macaroon, serialized in binary format.
Macaroon string `protobuf:"bytes,1,opt,name=macaroon,proto3" json:"macaroon,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -11134,23 +11134,23 @@ func (m *BakeMacaroonResponse) GetMacaroon() string {
}
type Failure struct {
/// Failure code as defined in the Lightning spec
// Failure code as defined in the Lightning spec
Code Failure_FailureCode `protobuf:"varint,1,opt,name=code,proto3,enum=lnrpc.Failure_FailureCode" json:"code,omitempty"`
/// An optional channel update message.
// An optional channel update message.
ChannelUpdate *ChannelUpdate `protobuf:"bytes,3,opt,name=channel_update,json=channelUpdate,proto3" json:"channel_update,omitempty"`
/// A failure type-dependent htlc value.
// A failure type-dependent htlc value.
HtlcMsat uint64 `protobuf:"varint,4,opt,name=htlc_msat,json=htlcMsat,proto3" json:"htlc_msat,omitempty"`
/// The sha256 sum of the onion payload.
// The sha256 sum of the onion payload.
OnionSha_256 []byte `protobuf:"bytes,5,opt,name=onion_sha_256,json=onionSha256,proto3" json:"onion_sha_256,omitempty"`
/// A failure type-dependent cltv expiry value.
// A failure type-dependent cltv expiry value.
CltvExpiry uint32 `protobuf:"varint,6,opt,name=cltv_expiry,json=cltvExpiry,proto3" json:"cltv_expiry,omitempty"`
/// A failure type-dependent flags value.
// A failure type-dependent flags value.
Flags uint32 `protobuf:"varint,7,opt,name=flags,proto3" json:"flags,omitempty"`
//*
//
//The position in the path of the intermediate or final node that generated
//the failure message. Position zero is the sender node.
FailureSourceIndex uint32 `protobuf:"varint,8,opt,name=failure_source_index,json=failureSourceIndex,proto3" json:"failure_source_index,omitempty"`
/// A failure type-dependent block height.
// A failure type-dependent block height.
Height uint32 `protobuf:"varint,9,opt,name=height,proto3" json:"height,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -11239,57 +11239,57 @@ func (m *Failure) GetHeight() uint32 {
}
type ChannelUpdate struct {
//*
//
//The signature that validates the announced data and proves the ownership
//of node id.
Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
//*
//
//The target chain that this channel was opened within. This value
//should be the genesis hash of the target chain. Along with the short
//channel ID, this uniquely identifies the channel globally in a
//blockchain.
ChainHash []byte `protobuf:"bytes,2,opt,name=chain_hash,json=chainHash,proto3" json:"chain_hash,omitempty"`
//*
//
//The unique description of the funding transaction.
ChanId uint64 `protobuf:"varint,3,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"`
//*
//
//A timestamp that allows ordering in the case of multiple announcements.
//We should ignore the message if timestamp is not greater than the
//last-received.
Timestamp uint32 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
//*
//
//The bitfield that describes whether optional fields are present in this
//update. Currently, the least-significant bit must be set to 1 if the
//optional field MaxHtlc is present.
MessageFlags uint32 `protobuf:"varint,10,opt,name=message_flags,json=messageFlags,proto3" json:"message_flags,omitempty"`
//*
//
//The bitfield that describes additional meta-data concerning how the
//update is to be interpreted. Currently, the least-significant bit must be
//set to 0 if the creating node corresponds to the first node in the
//previously sent channel announcement and 1 otherwise. If the second bit
//is set, then the channel is set to be disabled.
ChannelFlags uint32 `protobuf:"varint,5,opt,name=channel_flags,json=channelFlags,proto3" json:"channel_flags,omitempty"`
//*
//
//The minimum number of blocks this node requires to be added to the expiry
//of HTLCs. This is a security parameter determined by the node operator.
//This value represents the required gap between the time locks of the
//incoming and outgoing HTLC's set to this node.
TimeLockDelta uint32 `protobuf:"varint,6,opt,name=time_lock_delta,json=timeLockDelta,proto3" json:"time_lock_delta,omitempty"`
//*
//
//The minimum HTLC value which will be accepted.
HtlcMinimumMsat uint64 `protobuf:"varint,7,opt,name=htlc_minimum_msat,json=htlcMinimumMsat,proto3" json:"htlc_minimum_msat,omitempty"`
//*
//
//The base fee that must be used for incoming HTLC's to this particular
//channel. This value will be tacked onto the required for a payment
//independent of the size of the payment.
BaseFee uint32 `protobuf:"varint,8,opt,name=base_fee,json=baseFee,proto3" json:"base_fee,omitempty"`
//*
//
//The fee rate that will be charged per millionth of a satoshi.
FeeRate uint32 `protobuf:"varint,9,opt,name=fee_rate,json=feeRate,proto3" json:"fee_rate,omitempty"`
//*
//
//The maximum HTLC value which will be accepted.
HtlcMaximumMsat uint64 `protobuf:"varint,11,opt,name=htlc_maximum_msat,json=htlcMaximumMsat,proto3" json:"htlc_maximum_msat,omitempty"`
//*
//
//The set of data that was appended to this message, some of which we may
//not actually know how to iterate or parse. By holding onto this data, we
//ensure that we're able to properly validate the set of signatures that
@ -12344,109 +12344,109 @@ const _ = grpc.SupportPackageIsVersion4
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type LightningClient interface {
//* lncli: `walletbalance`
// lncli: `walletbalance`
//WalletBalance returns total unspent outputs(confirmed and unconfirmed), all
//confirmed unspent outputs and all unconfirmed unspent outputs under control
//of the wallet.
WalletBalance(ctx context.Context, in *WalletBalanceRequest, opts ...grpc.CallOption) (*WalletBalanceResponse, error)
//* lncli: `channelbalance`
// lncli: `channelbalance`
//ChannelBalance returns the total funds available across all open channels
//in satoshis.
ChannelBalance(ctx context.Context, in *ChannelBalanceRequest, opts ...grpc.CallOption) (*ChannelBalanceResponse, error)
//* lncli: `listchaintxns`
// lncli: `listchaintxns`
//GetTransactions returns a list describing all the known transactions
//relevant to the wallet.
GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (*TransactionDetails, error)
//* lncli: `estimatefee`
// lncli: `estimatefee`
//EstimateFee asks the chain backend to estimate the fee rate and total fees
//for a transaction that pays to multiple specified outputs.
EstimateFee(ctx context.Context, in *EstimateFeeRequest, opts ...grpc.CallOption) (*EstimateFeeResponse, error)
//* lncli: `sendcoins`
// lncli: `sendcoins`
//SendCoins executes a request to send coins to a particular address. Unlike
//SendMany, this RPC call only allows creating a single output at a time. If
//neither target_conf, or sat_per_byte are set, then the internal wallet will
//consult its fee model to determine a fee for the default confirmation
//target.
SendCoins(ctx context.Context, in *SendCoinsRequest, opts ...grpc.CallOption) (*SendCoinsResponse, error)
//* lncli: `listunspent`
// lncli: `listunspent`
//ListUnspent returns a list of all utxos spendable by the wallet with a
//number of confirmations between the specified minimum and maximum.
ListUnspent(ctx context.Context, in *ListUnspentRequest, opts ...grpc.CallOption) (*ListUnspentResponse, error)
//*
//
//SubscribeTransactions creates a uni-directional stream from the server to
//the client in which any newly discovered transactions relevant to the
//wallet are sent over.
SubscribeTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (Lightning_SubscribeTransactionsClient, error)
//* lncli: `sendmany`
// lncli: `sendmany`
//SendMany handles a request for a transaction that creates multiple specified
//outputs in parallel. If neither target_conf, or sat_per_byte are set, then
//the internal wallet will consult its fee model to determine a fee for the
//default confirmation target.
SendMany(ctx context.Context, in *SendManyRequest, opts ...grpc.CallOption) (*SendManyResponse, error)
//* lncli: `newaddress`
// lncli: `newaddress`
//NewAddress creates a new address under control of the local wallet.
NewAddress(ctx context.Context, in *NewAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error)
//* lncli: `signmessage`
// lncli: `signmessage`
//SignMessage signs a message with this node's private key. The returned
//signature string is `zbase32` encoded and pubkey recoverable, meaning that
//only the message digest and signature are needed for verification.
SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error)
//* lncli: `verifymessage`
// lncli: `verifymessage`
//VerifyMessage verifies a signature over a msg. The signature must be
//zbase32 encoded and signed by an active node in the resident node's
//channel database. In addition to returning the validity of the signature,
//VerifyMessage also returns the recovered pubkey from the signature.
VerifyMessage(ctx context.Context, in *VerifyMessageRequest, opts ...grpc.CallOption) (*VerifyMessageResponse, error)
//* lncli: `connect`
// lncli: `connect`
//ConnectPeer attempts to establish a connection to a remote peer. This is at
//the networking level, and is used for communication between nodes. This is
//distinct from establishing a channel with a peer.
ConnectPeer(ctx context.Context, in *ConnectPeerRequest, opts ...grpc.CallOption) (*ConnectPeerResponse, error)
//* lncli: `disconnect`
// lncli: `disconnect`
//DisconnectPeer attempts to disconnect one peer from another identified by a
//given pubKey. In the case that we currently have a pending or active channel
//with the target peer, then this action will be not be allowed.
DisconnectPeer(ctx context.Context, in *DisconnectPeerRequest, opts ...grpc.CallOption) (*DisconnectPeerResponse, error)
//* lncli: `listpeers`
// lncli: `listpeers`
//ListPeers returns a verbose listing of all currently active peers.
ListPeers(ctx context.Context, in *ListPeersRequest, opts ...grpc.CallOption) (*ListPeersResponse, error)
//*
//
//SubscribePeerEvents creates a uni-directional stream from the server to
//the client in which any events relevant to the state of peers are sent
//over. Events include peers going online and offline.
SubscribePeerEvents(ctx context.Context, in *PeerEventSubscription, opts ...grpc.CallOption) (Lightning_SubscribePeerEventsClient, error)
//* lncli: `getinfo`
// lncli: `getinfo`
//GetInfo returns general information concerning the lightning node including
//it's identity pubkey, alias, the chains it is connected to, and information
//concerning the number of open+pending channels.
GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error)
//* lncli: `pendingchannels`
// lncli: `pendingchannels`
//PendingChannels returns a list of all the channels that are currently
//considered "pending". A channel is pending if it has finished the funding
//workflow and is waiting for confirmations for the funding txn, or is in the
//process of closure, either initiated cooperatively or non-cooperatively.
PendingChannels(ctx context.Context, in *PendingChannelsRequest, opts ...grpc.CallOption) (*PendingChannelsResponse, error)
//* lncli: `listchannels`
// lncli: `listchannels`
//ListChannels returns a description of all the open channels that this node
//is a participant in.
ListChannels(ctx context.Context, in *ListChannelsRequest, opts ...grpc.CallOption) (*ListChannelsResponse, error)
//*
//
//SubscribeChannelEvents creates a uni-directional stream from the server to
//the client in which any updates relevant to the state of the channels are
//sent over. Events include new active channels, inactive channels, and closed
//channels.
SubscribeChannelEvents(ctx context.Context, in *ChannelEventSubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelEventsClient, error)
//* lncli: `closedchannels`
// lncli: `closedchannels`
//ClosedChannels returns a description of all the closed channels that
//this node was a participant in.
ClosedChannels(ctx context.Context, in *ClosedChannelsRequest, opts ...grpc.CallOption) (*ClosedChannelsResponse, error)
//*
//
//OpenChannelSync is a synchronous version of the OpenChannel RPC call. This
//call is meant to be consumed by clients to the REST proxy. As with all
//other sync calls, all byte slices are intended to be populated as hex
//encoded strings.
OpenChannelSync(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (*ChannelPoint, error)
//* lncli: `openchannel`
// lncli: `openchannel`
//OpenChannel attempts to open a singly funded channel specified in the
//request to a remote peer. Users are able to specify a target number of
//blocks that the funding transaction should be confirmed in, or a manual fee
@ -12456,7 +12456,7 @@ type LightningClient interface {
//arguments specified in the OpenChannelRequest, this pending channel ID can
//then be used to manually progress the channel funding flow.
OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (Lightning_OpenChannelClient, error)
//*
//
//FundingStateStep is an advanced funding related call that allows the caller
//to either execute some preparatory steps for a funding workflow, or
//manually progress a funding workflow. The primary way a funding flow is
@ -12466,14 +12466,14 @@ type LightningClient interface {
//Alternatively, this can be used to interactively drive PSBT signing for
//funding for partially complete funding transactions.
FundingStateStep(ctx context.Context, in *FundingTransitionMsg, opts ...grpc.CallOption) (*FundingStateStepResp, error)
//*
//
//ChannelAcceptor dispatches a bi-directional streaming RPC in which
//OpenChannel requests are sent to the client and the client responds with
//a boolean that tells LND whether or not to accept the channel. This allows
//node operators to specify their own criteria for accepting inbound channels
//through a single persistent connection.
ChannelAcceptor(ctx context.Context, opts ...grpc.CallOption) (Lightning_ChannelAcceptorClient, error)
//* lncli: `closechannel`
// lncli: `closechannel`
//CloseChannel attempts to close an active channel identified by its channel
//outpoint (ChannelPoint). The actions of this method can additionally be
//augmented to attempt a force close after a timeout period in the case of an
@ -12482,41 +12482,41 @@ type LightningClient interface {
//closure transaction is confirmed, or a manual fee rate. If neither are
//specified, then a default lax, block confirmation target is used.
CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (Lightning_CloseChannelClient, error)
//* lncli: `abandonchannel`
// lncli: `abandonchannel`
//AbandonChannel removes all channel state from the database except for a
//close summary. This method can be used to get rid of permanently unusable
//channels due to bugs fixed in newer versions of lnd. Only available
//when in debug builds of lnd.
AbandonChannel(ctx context.Context, in *AbandonChannelRequest, opts ...grpc.CallOption) (*AbandonChannelResponse, error)
//* lncli: `sendpayment`
// lncli: `sendpayment`
//Deprecated, use routerrpc.SendPayment. SendPayment dispatches a
//bi-directional streaming RPC for sending payments through the Lightning
//Network. A single RPC invocation creates a persistent bi-directional
//stream allowing clients to rapidly send payments through the Lightning
//Network with a single persistent connection.
SendPayment(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendPaymentClient, error)
//*
//
//SendPaymentSync is the synchronous non-streaming version of SendPayment.
//This RPC is intended to be consumed by clients of the REST proxy.
//Additionally, this RPC expects the destination's public key and the payment
//hash (if any) to be encoded as hex strings.
SendPaymentSync(ctx context.Context, in *SendRequest, opts ...grpc.CallOption) (*SendResponse, error)
//* lncli: `sendtoroute`
// lncli: `sendtoroute`
//SendToRoute is a bi-directional streaming RPC for sending payment through
//the Lightning Network. This method differs from SendPayment in that it
//allows users to specify a full route manually. This can be used for things
//like rebalancing, and atomic swaps.
SendToRoute(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendToRouteClient, error)
//*
//
//SendToRouteSync is a synchronous version of SendToRoute. It Will block
//until the payment either fails or succeeds.
SendToRouteSync(ctx context.Context, in *SendToRouteRequest, opts ...grpc.CallOption) (*SendResponse, error)
//* lncli: `addinvoice`
// lncli: `addinvoice`
//AddInvoice attempts to add a new invoice to the invoice database. Any
//duplicated invoices are rejected, therefore all invoices *must* have a
//unique payment preimage.
AddInvoice(ctx context.Context, in *Invoice, opts ...grpc.CallOption) (*AddInvoiceResponse, error)
//* lncli: `listinvoices`
// lncli: `listinvoices`
//ListInvoices returns a list of all the invoices currently stored within the
//database. Any active debug invoices are ignored. It has full support for
//paginated responses, allowing users to query for specific invoices through
@ -12525,12 +12525,12 @@ type LightningClient interface {
//next request. By default, the first 100 invoices created will be returned.
//Backwards pagination is also supported through the Reversed flag.
ListInvoices(ctx context.Context, in *ListInvoiceRequest, opts ...grpc.CallOption) (*ListInvoiceResponse, error)
//* lncli: `lookupinvoice`
// lncli: `lookupinvoice`
//LookupInvoice attempts to look up an invoice according to its payment hash.
//The passed payment hash *must* be exactly 32 bytes, if not, an error is
//returned.
LookupInvoice(ctx context.Context, in *PaymentHash, opts ...grpc.CallOption) (*Invoice, error)
//*
//
//SubscribeInvoices returns a uni-directional stream (server -> client) for
//notifying the client of newly added/settled invoices. The caller can
//optionally specify the add_index and/or the settle_index. If the add_index
@ -12541,18 +12541,18 @@ type LightningClient interface {
//of these fields can be set. If no fields are set, then we'll only send out
//the latest add/settle events.
SubscribeInvoices(ctx context.Context, in *InvoiceSubscription, opts ...grpc.CallOption) (Lightning_SubscribeInvoicesClient, error)
//* lncli: `decodepayreq`
// lncli: `decodepayreq`
//DecodePayReq takes an encoded payment request string and attempts to decode
//it, returning a full description of the conditions encoded within the
//payment request.
DecodePayReq(ctx context.Context, in *PayReqString, opts ...grpc.CallOption) (*PayReq, error)
//* lncli: `listpayments`
// lncli: `listpayments`
//ListPayments returns a list of all outgoing payments.
ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error)
//*
//
//DeleteAllPayments deletes all outgoing payments from DB.
DeleteAllPayments(ctx context.Context, in *DeleteAllPaymentsRequest, opts ...grpc.CallOption) (*DeleteAllPaymentsResponse, error)
//* lncli: `describegraph`
// lncli: `describegraph`
//DescribeGraph returns a description of the latest graph state from the
//point of view of the node. The graph information is partitioned into two
//components: all the nodes/vertexes, and all the edges that connect the
@ -12560,36 +12560,36 @@ type LightningClient interface {
//the node directional specific routing policy which includes: the time lock
//delta, fee information, etc.
DescribeGraph(ctx context.Context, in *ChannelGraphRequest, opts ...grpc.CallOption) (*ChannelGraph, error)
//* lncli: `getnodemetrics`
// lncli: `getnodemetrics`
//GetNodeMetrics returns node metrics calculated from the graph. Currently
//the only supported metric is betweenness centrality of individual nodes.
GetNodeMetrics(ctx context.Context, in *NodeMetricsRequest, opts ...grpc.CallOption) (*NodeMetricsResponse, error)
//* lncli: `getchaninfo`
// lncli: `getchaninfo`
//GetChanInfo returns the latest authenticated network announcement for the
//given channel identified by its channel ID: an 8-byte integer which
//uniquely identifies the location of transaction's funding output within the
//blockchain.
GetChanInfo(ctx context.Context, in *ChanInfoRequest, opts ...grpc.CallOption) (*ChannelEdge, error)
//* lncli: `getnodeinfo`
// lncli: `getnodeinfo`
//GetNodeInfo returns the latest advertised, aggregated, and authenticated
//channel information for the specified node identified by its public key.
GetNodeInfo(ctx context.Context, in *NodeInfoRequest, opts ...grpc.CallOption) (*NodeInfo, error)
//* lncli: `queryroutes`
// lncli: `queryroutes`
//QueryRoutes attempts to query the daemon's Channel Router for a possible
//route to a target destination capable of carrying a specific amount of
//satoshis. The returned route contains the full details required to craft and
//send an HTLC, also including the necessary information that should be
//present within the Sphinx packet encapsulated within the HTLC.
QueryRoutes(ctx context.Context, in *QueryRoutesRequest, opts ...grpc.CallOption) (*QueryRoutesResponse, error)
//* lncli: `getnetworkinfo`
// lncli: `getnetworkinfo`
//GetNetworkInfo returns some basic stats about the known channel graph from
//the point of view of the node.
GetNetworkInfo(ctx context.Context, in *NetworkInfoRequest, opts ...grpc.CallOption) (*NetworkInfo, error)
//* lncli: `stop`
// lncli: `stop`
//StopDaemon will send a shutdown request to the interrupt handler, triggering
//a graceful shutdown of the daemon.
StopDaemon(ctx context.Context, in *StopRequest, opts ...grpc.CallOption) (*StopResponse, error)
//*
//
//SubscribeChannelGraph launches a streaming RPC that allows the caller to
//receive notifications upon any changes to the channel graph topology from
//the point of view of the responding node. Events notified include: new
@ -12597,21 +12597,21 @@ type LightningClient interface {
//channels being advertised, updates in the routing policy for a directional
//channel edge, and when channels are closed on-chain.
SubscribeChannelGraph(ctx context.Context, in *GraphTopologySubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelGraphClient, error)
//* lncli: `debuglevel`
// lncli: `debuglevel`
//DebugLevel allows a caller to programmatically set the logging verbosity of
//lnd. The logging can be targeted according to a coarse daemon-wide logging
//level, or in a granular fashion to specify the logging for a target
//sub-system.
DebugLevel(ctx context.Context, in *DebugLevelRequest, opts ...grpc.CallOption) (*DebugLevelResponse, error)
//* lncli: `feereport`
// lncli: `feereport`
//FeeReport allows the caller to obtain a report detailing the current fee
//schedule enforced by the node globally for each channel.
FeeReport(ctx context.Context, in *FeeReportRequest, opts ...grpc.CallOption) (*FeeReportResponse, error)
//* lncli: `updatechanpolicy`
// lncli: `updatechanpolicy`
//UpdateChannelPolicy allows the caller to update the fee schedule and
//channel policies for all channels globally, or a particular channel.
UpdateChannelPolicy(ctx context.Context, in *PolicyUpdateRequest, opts ...grpc.CallOption) (*PolicyUpdateResponse, error)
//* lncli: `fwdinghistory`
// lncli: `fwdinghistory`
//ForwardingHistory allows the caller to query the htlcswitch for a record of
//all HTLCs forwarded within the target time range, and integer offset
//within that time range. If no time-range is specified, then the first chunk
@ -12623,7 +12623,7 @@ type LightningClient interface {
//the index offset of the last entry. The index offset can be provided to the
//request to allow the caller to skip a series of records.
ForwardingHistory(ctx context.Context, in *ForwardingHistoryRequest, opts ...grpc.CallOption) (*ForwardingHistoryResponse, error)
//* lncli: `exportchanbackup`
// lncli: `exportchanbackup`
//ExportChannelBackup attempts to return an encrypted static channel backup
//for the target channel identified by it channel point. The backup is
//encrypted with a key generated from the aezeed seed of the user. The
@ -12631,25 +12631,25 @@ type LightningClient interface {
//method once lnd is running, or via the InitWallet and UnlockWallet methods
//from the WalletUnlocker service.
ExportChannelBackup(ctx context.Context, in *ExportChannelBackupRequest, opts ...grpc.CallOption) (*ChannelBackup, error)
//*
//
//ExportAllChannelBackups returns static channel backups for all existing
//channels known to lnd. A set of regular singular static channel backups for
//each channel are returned. Additionally, a multi-channel backup is returned
//as well, which contains a single encrypted blob containing the backups of
//each channel.
ExportAllChannelBackups(ctx context.Context, in *ChanBackupExportRequest, opts ...grpc.CallOption) (*ChanBackupSnapshot, error)
//*
//
//VerifyChanBackup allows a caller to verify the integrity of a channel backup
//snapshot. This method will accept either a packed Single or a packed Multi.
//Specifying both will result in an error.
VerifyChanBackup(ctx context.Context, in *ChanBackupSnapshot, opts ...grpc.CallOption) (*VerifyChanBackupResponse, error)
//* lncli: `restorechanbackup`
// lncli: `restorechanbackup`
//RestoreChannelBackups accepts a set of singular channel backups, or a
//single encrypted multi-chan backup and attempts to recover any funds
//remaining within the channel. If we are able to unpack the backup, then the
//new channel will be shown under listchannels, as well as pending channels.
RestoreChannelBackups(ctx context.Context, in *RestoreChanBackupRequest, opts ...grpc.CallOption) (*RestoreBackupResponse, error)
//*
//
//SubscribeChannelBackups allows a client to sub-subscribe to the most up to
//date information concerning the state of all channel backups. Each time a
//new channel is added, we return the new set of channels, along with a
@ -12658,7 +12658,7 @@ type LightningClient interface {
//ups, but the updated set of encrypted multi-chan backups with the closed
//channel(s) removed.
SubscribeChannelBackups(ctx context.Context, in *ChannelBackupSubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelBackupsClient, error)
//* lncli: `bakemacaroon`
// lncli: `bakemacaroon`
//BakeMacaroon allows the creation of a new macaroon with custom read and
//write permissions. No first-party caveats are added since this can be done
//offline.
@ -13421,109 +13421,109 @@ func (c *lightningClient) BakeMacaroon(ctx context.Context, in *BakeMacaroonRequ
// LightningServer is the server API for Lightning service.
type LightningServer interface {
//* lncli: `walletbalance`
// lncli: `walletbalance`
//WalletBalance returns total unspent outputs(confirmed and unconfirmed), all
//confirmed unspent outputs and all unconfirmed unspent outputs under control
//of the wallet.
WalletBalance(context.Context, *WalletBalanceRequest) (*WalletBalanceResponse, error)
//* lncli: `channelbalance`
// lncli: `channelbalance`
//ChannelBalance returns the total funds available across all open channels
//in satoshis.
ChannelBalance(context.Context, *ChannelBalanceRequest) (*ChannelBalanceResponse, error)
//* lncli: `listchaintxns`
// lncli: `listchaintxns`
//GetTransactions returns a list describing all the known transactions
//relevant to the wallet.
GetTransactions(context.Context, *GetTransactionsRequest) (*TransactionDetails, error)
//* lncli: `estimatefee`
// lncli: `estimatefee`
//EstimateFee asks the chain backend to estimate the fee rate and total fees
//for a transaction that pays to multiple specified outputs.
EstimateFee(context.Context, *EstimateFeeRequest) (*EstimateFeeResponse, error)
//* lncli: `sendcoins`
// lncli: `sendcoins`
//SendCoins executes a request to send coins to a particular address. Unlike
//SendMany, this RPC call only allows creating a single output at a time. If
//neither target_conf, or sat_per_byte are set, then the internal wallet will
//consult its fee model to determine a fee for the default confirmation
//target.
SendCoins(context.Context, *SendCoinsRequest) (*SendCoinsResponse, error)
//* lncli: `listunspent`
// lncli: `listunspent`
//ListUnspent returns a list of all utxos spendable by the wallet with a
//number of confirmations between the specified minimum and maximum.
ListUnspent(context.Context, *ListUnspentRequest) (*ListUnspentResponse, error)
//*
//
//SubscribeTransactions creates a uni-directional stream from the server to
//the client in which any newly discovered transactions relevant to the
//wallet are sent over.
SubscribeTransactions(*GetTransactionsRequest, Lightning_SubscribeTransactionsServer) error
//* lncli: `sendmany`
// lncli: `sendmany`
//SendMany handles a request for a transaction that creates multiple specified
//outputs in parallel. If neither target_conf, or sat_per_byte are set, then
//the internal wallet will consult its fee model to determine a fee for the
//default confirmation target.
SendMany(context.Context, *SendManyRequest) (*SendManyResponse, error)
//* lncli: `newaddress`
// lncli: `newaddress`
//NewAddress creates a new address under control of the local wallet.
NewAddress(context.Context, *NewAddressRequest) (*NewAddressResponse, error)
//* lncli: `signmessage`
// lncli: `signmessage`
//SignMessage signs a message with this node's private key. The returned
//signature string is `zbase32` encoded and pubkey recoverable, meaning that
//only the message digest and signature are needed for verification.
SignMessage(context.Context, *SignMessageRequest) (*SignMessageResponse, error)
//* lncli: `verifymessage`
// lncli: `verifymessage`
//VerifyMessage verifies a signature over a msg. The signature must be
//zbase32 encoded and signed by an active node in the resident node's
//channel database. In addition to returning the validity of the signature,
//VerifyMessage also returns the recovered pubkey from the signature.
VerifyMessage(context.Context, *VerifyMessageRequest) (*VerifyMessageResponse, error)
//* lncli: `connect`
// lncli: `connect`
//ConnectPeer attempts to establish a connection to a remote peer. This is at
//the networking level, and is used for communication between nodes. This is
//distinct from establishing a channel with a peer.
ConnectPeer(context.Context, *ConnectPeerRequest) (*ConnectPeerResponse, error)
//* lncli: `disconnect`
// lncli: `disconnect`
//DisconnectPeer attempts to disconnect one peer from another identified by a
//given pubKey. In the case that we currently have a pending or active channel
//with the target peer, then this action will be not be allowed.
DisconnectPeer(context.Context, *DisconnectPeerRequest) (*DisconnectPeerResponse, error)
//* lncli: `listpeers`
// lncli: `listpeers`
//ListPeers returns a verbose listing of all currently active peers.
ListPeers(context.Context, *ListPeersRequest) (*ListPeersResponse, error)
//*
//
//SubscribePeerEvents creates a uni-directional stream from the server to
//the client in which any events relevant to the state of peers are sent
//over. Events include peers going online and offline.
SubscribePeerEvents(*PeerEventSubscription, Lightning_SubscribePeerEventsServer) error
//* lncli: `getinfo`
// lncli: `getinfo`
//GetInfo returns general information concerning the lightning node including
//it's identity pubkey, alias, the chains it is connected to, and information
//concerning the number of open+pending channels.
GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error)
//* lncli: `pendingchannels`
// lncli: `pendingchannels`
//PendingChannels returns a list of all the channels that are currently
//considered "pending". A channel is pending if it has finished the funding
//workflow and is waiting for confirmations for the funding txn, or is in the
//process of closure, either initiated cooperatively or non-cooperatively.
PendingChannels(context.Context, *PendingChannelsRequest) (*PendingChannelsResponse, error)
//* lncli: `listchannels`
// lncli: `listchannels`
//ListChannels returns a description of all the open channels that this node
//is a participant in.
ListChannels(context.Context, *ListChannelsRequest) (*ListChannelsResponse, error)
//*
//
//SubscribeChannelEvents creates a uni-directional stream from the server to
//the client in which any updates relevant to the state of the channels are
//sent over. Events include new active channels, inactive channels, and closed
//channels.
SubscribeChannelEvents(*ChannelEventSubscription, Lightning_SubscribeChannelEventsServer) error
//* lncli: `closedchannels`
// lncli: `closedchannels`
//ClosedChannels returns a description of all the closed channels that
//this node was a participant in.
ClosedChannels(context.Context, *ClosedChannelsRequest) (*ClosedChannelsResponse, error)
//*
//
//OpenChannelSync is a synchronous version of the OpenChannel RPC call. This
//call is meant to be consumed by clients to the REST proxy. As with all
//other sync calls, all byte slices are intended to be populated as hex
//encoded strings.
OpenChannelSync(context.Context, *OpenChannelRequest) (*ChannelPoint, error)
//* lncli: `openchannel`
// lncli: `openchannel`
//OpenChannel attempts to open a singly funded channel specified in the
//request to a remote peer. Users are able to specify a target number of
//blocks that the funding transaction should be confirmed in, or a manual fee
@ -13533,7 +13533,7 @@ type LightningServer interface {
//arguments specified in the OpenChannelRequest, this pending channel ID can
//then be used to manually progress the channel funding flow.
OpenChannel(*OpenChannelRequest, Lightning_OpenChannelServer) error
//*
//
//FundingStateStep is an advanced funding related call that allows the caller
//to either execute some preparatory steps for a funding workflow, or
//manually progress a funding workflow. The primary way a funding flow is
@ -13543,14 +13543,14 @@ type LightningServer interface {
//Alternatively, this can be used to interactively drive PSBT signing for
//funding for partially complete funding transactions.
FundingStateStep(context.Context, *FundingTransitionMsg) (*FundingStateStepResp, error)
//*
//
//ChannelAcceptor dispatches a bi-directional streaming RPC in which
//OpenChannel requests are sent to the client and the client responds with
//a boolean that tells LND whether or not to accept the channel. This allows
//node operators to specify their own criteria for accepting inbound channels
//through a single persistent connection.
ChannelAcceptor(Lightning_ChannelAcceptorServer) error
//* lncli: `closechannel`
// lncli: `closechannel`
//CloseChannel attempts to close an active channel identified by its channel
//outpoint (ChannelPoint). The actions of this method can additionally be
//augmented to attempt a force close after a timeout period in the case of an
@ -13559,41 +13559,41 @@ type LightningServer interface {
//closure transaction is confirmed, or a manual fee rate. If neither are
//specified, then a default lax, block confirmation target is used.
CloseChannel(*CloseChannelRequest, Lightning_CloseChannelServer) error
//* lncli: `abandonchannel`
// lncli: `abandonchannel`
//AbandonChannel removes all channel state from the database except for a
//close summary. This method can be used to get rid of permanently unusable
//channels due to bugs fixed in newer versions of lnd. Only available
//when in debug builds of lnd.
AbandonChannel(context.Context, *AbandonChannelRequest) (*AbandonChannelResponse, error)
//* lncli: `sendpayment`
// lncli: `sendpayment`
//Deprecated, use routerrpc.SendPayment. SendPayment dispatches a
//bi-directional streaming RPC for sending payments through the Lightning
//Network. A single RPC invocation creates a persistent bi-directional
//stream allowing clients to rapidly send payments through the Lightning
//Network with a single persistent connection.
SendPayment(Lightning_SendPaymentServer) error
//*
//
//SendPaymentSync is the synchronous non-streaming version of SendPayment.
//This RPC is intended to be consumed by clients of the REST proxy.
//Additionally, this RPC expects the destination's public key and the payment
//hash (if any) to be encoded as hex strings.
SendPaymentSync(context.Context, *SendRequest) (*SendResponse, error)
//* lncli: `sendtoroute`
// lncli: `sendtoroute`
//SendToRoute is a bi-directional streaming RPC for sending payment through
//the Lightning Network. This method differs from SendPayment in that it
//allows users to specify a full route manually. This can be used for things
//like rebalancing, and atomic swaps.
SendToRoute(Lightning_SendToRouteServer) error
//*
//
//SendToRouteSync is a synchronous version of SendToRoute. It Will block
//until the payment either fails or succeeds.
SendToRouteSync(context.Context, *SendToRouteRequest) (*SendResponse, error)
//* lncli: `addinvoice`
// lncli: `addinvoice`
//AddInvoice attempts to add a new invoice to the invoice database. Any
//duplicated invoices are rejected, therefore all invoices *must* have a
//unique payment preimage.
AddInvoice(context.Context, *Invoice) (*AddInvoiceResponse, error)
//* lncli: `listinvoices`
// lncli: `listinvoices`
//ListInvoices returns a list of all the invoices currently stored within the
//database. Any active debug invoices are ignored. It has full support for
//paginated responses, allowing users to query for specific invoices through
@ -13602,12 +13602,12 @@ type LightningServer interface {
//next request. By default, the first 100 invoices created will be returned.
//Backwards pagination is also supported through the Reversed flag.
ListInvoices(context.Context, *ListInvoiceRequest) (*ListInvoiceResponse, error)
//* lncli: `lookupinvoice`
// lncli: `lookupinvoice`
//LookupInvoice attempts to look up an invoice according to its payment hash.
//The passed payment hash *must* be exactly 32 bytes, if not, an error is
//returned.
LookupInvoice(context.Context, *PaymentHash) (*Invoice, error)
//*
//
//SubscribeInvoices returns a uni-directional stream (server -> client) for
//notifying the client of newly added/settled invoices. The caller can
//optionally specify the add_index and/or the settle_index. If the add_index
@ -13618,18 +13618,18 @@ type LightningServer interface {
//of these fields can be set. If no fields are set, then we'll only send out
//the latest add/settle events.
SubscribeInvoices(*InvoiceSubscription, Lightning_SubscribeInvoicesServer) error
//* lncli: `decodepayreq`
// lncli: `decodepayreq`
//DecodePayReq takes an encoded payment request string and attempts to decode
//it, returning a full description of the conditions encoded within the
//payment request.
DecodePayReq(context.Context, *PayReqString) (*PayReq, error)
//* lncli: `listpayments`
// lncli: `listpayments`
//ListPayments returns a list of all outgoing payments.
ListPayments(context.Context, *ListPaymentsRequest) (*ListPaymentsResponse, error)
//*
//
//DeleteAllPayments deletes all outgoing payments from DB.
DeleteAllPayments(context.Context, *DeleteAllPaymentsRequest) (*DeleteAllPaymentsResponse, error)
//* lncli: `describegraph`
// lncli: `describegraph`
//DescribeGraph returns a description of the latest graph state from the
//point of view of the node. The graph information is partitioned into two
//components: all the nodes/vertexes, and all the edges that connect the
@ -13637,36 +13637,36 @@ type LightningServer interface {
//the node directional specific routing policy which includes: the time lock
//delta, fee information, etc.
DescribeGraph(context.Context, *ChannelGraphRequest) (*ChannelGraph, error)
//* lncli: `getnodemetrics`
// lncli: `getnodemetrics`
//GetNodeMetrics returns node metrics calculated from the graph. Currently
//the only supported metric is betweenness centrality of individual nodes.
GetNodeMetrics(context.Context, *NodeMetricsRequest) (*NodeMetricsResponse, error)
//* lncli: `getchaninfo`
// lncli: `getchaninfo`
//GetChanInfo returns the latest authenticated network announcement for the
//given channel identified by its channel ID: an 8-byte integer which
//uniquely identifies the location of transaction's funding output within the
//blockchain.
GetChanInfo(context.Context, *ChanInfoRequest) (*ChannelEdge, error)
//* lncli: `getnodeinfo`
// lncli: `getnodeinfo`
//GetNodeInfo returns the latest advertised, aggregated, and authenticated
//channel information for the specified node identified by its public key.
GetNodeInfo(context.Context, *NodeInfoRequest) (*NodeInfo, error)
//* lncli: `queryroutes`
// lncli: `queryroutes`
//QueryRoutes attempts to query the daemon's Channel Router for a possible
//route to a target destination capable of carrying a specific amount of
//satoshis. The returned route contains the full details required to craft and
//send an HTLC, also including the necessary information that should be
//present within the Sphinx packet encapsulated within the HTLC.
QueryRoutes(context.Context, *QueryRoutesRequest) (*QueryRoutesResponse, error)
//* lncli: `getnetworkinfo`
// lncli: `getnetworkinfo`
//GetNetworkInfo returns some basic stats about the known channel graph from
//the point of view of the node.
GetNetworkInfo(context.Context, *NetworkInfoRequest) (*NetworkInfo, error)
//* lncli: `stop`
// lncli: `stop`
//StopDaemon will send a shutdown request to the interrupt handler, triggering
//a graceful shutdown of the daemon.
StopDaemon(context.Context, *StopRequest) (*StopResponse, error)
//*
//
//SubscribeChannelGraph launches a streaming RPC that allows the caller to
//receive notifications upon any changes to the channel graph topology from
//the point of view of the responding node. Events notified include: new
@ -13674,21 +13674,21 @@ type LightningServer interface {
//channels being advertised, updates in the routing policy for a directional
//channel edge, and when channels are closed on-chain.
SubscribeChannelGraph(*GraphTopologySubscription, Lightning_SubscribeChannelGraphServer) error
//* lncli: `debuglevel`
// lncli: `debuglevel`
//DebugLevel allows a caller to programmatically set the logging verbosity of
//lnd. The logging can be targeted according to a coarse daemon-wide logging
//level, or in a granular fashion to specify the logging for a target
//sub-system.
DebugLevel(context.Context, *DebugLevelRequest) (*DebugLevelResponse, error)
//* lncli: `feereport`
// lncli: `feereport`
//FeeReport allows the caller to obtain a report detailing the current fee
//schedule enforced by the node globally for each channel.
FeeReport(context.Context, *FeeReportRequest) (*FeeReportResponse, error)
//* lncli: `updatechanpolicy`
// lncli: `updatechanpolicy`
//UpdateChannelPolicy allows the caller to update the fee schedule and
//channel policies for all channels globally, or a particular channel.
UpdateChannelPolicy(context.Context, *PolicyUpdateRequest) (*PolicyUpdateResponse, error)
//* lncli: `fwdinghistory`
// lncli: `fwdinghistory`
//ForwardingHistory allows the caller to query the htlcswitch for a record of
//all HTLCs forwarded within the target time range, and integer offset
//within that time range. If no time-range is specified, then the first chunk
@ -13700,7 +13700,7 @@ type LightningServer interface {
//the index offset of the last entry. The index offset can be provided to the
//request to allow the caller to skip a series of records.
ForwardingHistory(context.Context, *ForwardingHistoryRequest) (*ForwardingHistoryResponse, error)
//* lncli: `exportchanbackup`
// lncli: `exportchanbackup`
//ExportChannelBackup attempts to return an encrypted static channel backup
//for the target channel identified by it channel point. The backup is
//encrypted with a key generated from the aezeed seed of the user. The
@ -13708,25 +13708,25 @@ type LightningServer interface {
//method once lnd is running, or via the InitWallet and UnlockWallet methods
//from the WalletUnlocker service.
ExportChannelBackup(context.Context, *ExportChannelBackupRequest) (*ChannelBackup, error)
//*
//
//ExportAllChannelBackups returns static channel backups for all existing
//channels known to lnd. A set of regular singular static channel backups for
//each channel are returned. Additionally, a multi-channel backup is returned
//as well, which contains a single encrypted blob containing the backups of
//each channel.
ExportAllChannelBackups(context.Context, *ChanBackupExportRequest) (*ChanBackupSnapshot, error)
//*
//
//VerifyChanBackup allows a caller to verify the integrity of a channel backup
//snapshot. This method will accept either a packed Single or a packed Multi.
//Specifying both will result in an error.
VerifyChanBackup(context.Context, *ChanBackupSnapshot) (*VerifyChanBackupResponse, error)
//* lncli: `restorechanbackup`
// lncli: `restorechanbackup`
//RestoreChannelBackups accepts a set of singular channel backups, or a
//single encrypted multi-chan backup and attempts to recover any funds
//remaining within the channel. If we are able to unpack the backup, then the
//new channel will be shown under listchannels, as well as pending channels.
RestoreChannelBackups(context.Context, *RestoreChanBackupRequest) (*RestoreBackupResponse, error)
//*
//
//SubscribeChannelBackups allows a client to sub-subscribe to the most up to
//date information concerning the state of all channel backups. Each time a
//new channel is added, we return the new set of channels, along with a
@ -13735,7 +13735,7 @@ type LightningServer interface {
//ups, but the updated set of encrypted multi-chan backups with the closed
//channel(s) removed.
SubscribeChannelBackups(*ChannelBackupSubscription, Lightning_SubscribeChannelBackupsServer) error
//* lncli: `bakemacaroon`
// lncli: `bakemacaroon`
//BakeMacaroon allows the creation of a new macaroon with custom read and
//write permissions. No first-party caveats are added since this can be done
//offline.

View File

@ -6,15 +6,11 @@ package lnrpc;
option go_package = "github.com/lightningnetwork/lnd/lnrpc";
/**
/*
* Comments in this file will be directly parsed into the API
* Documentation as descriptions of the associated method, message, or field.
* These descriptions should go right above the definition of the object, and
* can be in either block or /// comment format.
*
* One edge case exists where a // comment followed by a /// comment in the
* next line will cause the description not to show up in the documentation. In
* that instance, simply separate the two comments with a blank line.
* can be in either block or // comment format.
*
* An RPC method can be matched to an lncli command by placing a line in the
* beginning of the description in exactly the following format:
@ -30,7 +26,7 @@ option go_package = "github.com/lightningnetwork/lnd/lnrpc";
// Lightning is the main RPC server of the daemon.
service Lightning {
/** lncli: `walletbalance`
/* lncli: `walletbalance`
WalletBalance returns total unspent outputs(confirmed and unconfirmed), all
confirmed unspent outputs and all unconfirmed unspent outputs under control
of the wallet.
@ -41,7 +37,7 @@ service Lightning {
};
}
/** lncli: `channelbalance`
/* lncli: `channelbalance`
ChannelBalance returns the total funds available across all open channels
in satoshis.
*/
@ -52,7 +48,7 @@ service Lightning {
};
}
/** lncli: `listchaintxns`
/* lncli: `listchaintxns`
GetTransactions returns a list describing all the known transactions
relevant to the wallet.
*/
@ -62,7 +58,7 @@ service Lightning {
};
}
/** lncli: `estimatefee`
/* lncli: `estimatefee`
EstimateFee asks the chain backend to estimate the fee rate and total fees
for a transaction that pays to multiple specified outputs.
*/
@ -72,7 +68,7 @@ service Lightning {
};
}
/** lncli: `sendcoins`
/* lncli: `sendcoins`
SendCoins executes a request to send coins to a particular address. Unlike
SendMany, this RPC call only allows creating a single output at a time. If
neither target_conf, or sat_per_byte are set, then the internal wallet will
@ -86,7 +82,7 @@ service Lightning {
};
}
/** lncli: `listunspent`
/* lncli: `listunspent`
ListUnspent returns a list of all utxos spendable by the wallet with a
number of confirmations between the specified minimum and maximum.
*/
@ -96,7 +92,7 @@ service Lightning {
};
}
/**
/*
SubscribeTransactions creates a uni-directional stream from the server to
the client in which any newly discovered transactions relevant to the
wallet are sent over.
@ -104,7 +100,7 @@ service Lightning {
rpc SubscribeTransactions (GetTransactionsRequest)
returns (stream Transaction);
/** lncli: `sendmany`
/* lncli: `sendmany`
SendMany handles a request for a transaction that creates multiple specified
outputs in parallel. If neither target_conf, or sat_per_byte are set, then
the internal wallet will consult its fee model to determine a fee for the
@ -112,7 +108,7 @@ service Lightning {
*/
rpc SendMany (SendManyRequest) returns (SendManyResponse);
/** lncli: `newaddress`
/* lncli: `newaddress`
NewAddress creates a new address under control of the local wallet.
*/
rpc NewAddress (NewAddressRequest) returns (NewAddressResponse) {
@ -121,7 +117,7 @@ service Lightning {
};
}
/** lncli: `signmessage`
/* lncli: `signmessage`
SignMessage signs a message with this node's private key. The returned
signature string is `zbase32` encoded and pubkey recoverable, meaning that
only the message digest and signature are needed for verification.
@ -133,7 +129,7 @@ service Lightning {
};
}
/** lncli: `verifymessage`
/* lncli: `verifymessage`
VerifyMessage verifies a signature over a msg. The signature must be
zbase32 encoded and signed by an active node in the resident node's
channel database. In addition to returning the validity of the signature,
@ -146,7 +142,7 @@ service Lightning {
};
}
/** lncli: `connect`
/* lncli: `connect`
ConnectPeer attempts to establish a connection to a remote peer. This is at
the networking level, and is used for communication between nodes. This is
distinct from establishing a channel with a peer.
@ -158,7 +154,7 @@ service Lightning {
};
}
/** lncli: `disconnect`
/* lncli: `disconnect`
DisconnectPeer attempts to disconnect one peer from another identified by a
given pubKey. In the case that we currently have a pending or active channel
with the target peer, then this action will be not be allowed.
@ -170,7 +166,7 @@ service Lightning {
};
}
/** lncli: `listpeers`
/* lncli: `listpeers`
ListPeers returns a verbose listing of all currently active peers.
*/
rpc ListPeers (ListPeersRequest) returns (ListPeersResponse) {
@ -179,14 +175,14 @@ service Lightning {
};
}
/**
/*
SubscribePeerEvents creates a uni-directional stream from the server to
the client in which any events relevant to the state of peers are sent
over. Events include peers going online and offline.
*/
rpc SubscribePeerEvents (PeerEventSubscription) returns (stream PeerEvent);
/** lncli: `getinfo`
/* lncli: `getinfo`
GetInfo returns general information concerning the lightning node including
it's identity pubkey, alias, the chains it is connected to, and information
concerning the number of open+pending channels.
@ -198,7 +194,7 @@ service Lightning {
}
// TODO(roasbeef): merge with below with bool?
/** lncli: `pendingchannels`
/* lncli: `pendingchannels`
PendingChannels returns a list of all the channels that are currently
considered "pending". A channel is pending if it has finished the funding
workflow and is waiting for confirmations for the funding txn, or is in the
@ -211,7 +207,7 @@ service Lightning {
};
}
/** lncli: `listchannels`
/* lncli: `listchannels`
ListChannels returns a description of all the open channels that this node
is a participant in.
*/
@ -221,7 +217,7 @@ service Lightning {
};
}
/**
/*
SubscribeChannelEvents creates a uni-directional stream from the server to
the client in which any updates relevant to the state of the channels are
sent over. Events include new active channels, inactive channels, and closed
@ -230,7 +226,7 @@ service Lightning {
rpc SubscribeChannelEvents (ChannelEventSubscription)
returns (stream ChannelEventUpdate);
/** lncli: `closedchannels`
/* lncli: `closedchannels`
ClosedChannels returns a description of all the closed channels that
this node was a participant in.
*/
@ -241,7 +237,7 @@ service Lightning {
};
}
/**
/*
OpenChannelSync is a synchronous version of the OpenChannel RPC call. This
call is meant to be consumed by clients to the REST proxy. As with all
other sync calls, all byte slices are intended to be populated as hex
@ -254,7 +250,7 @@ service Lightning {
};
}
/** lncli: `openchannel`
/* lncli: `openchannel`
OpenChannel attempts to open a singly funded channel specified in the
request to a remote peer. Users are able to specify a target number of
blocks that the funding transaction should be confirmed in, or a manual fee
@ -266,7 +262,7 @@ service Lightning {
*/
rpc OpenChannel (OpenChannelRequest) returns (stream OpenStatusUpdate);
/**
/*
FundingStateStep is an advanced funding related call that allows the caller
to either execute some preparatory steps for a funding workflow, or
manually progress a funding workflow. The primary way a funding flow is
@ -278,7 +274,7 @@ service Lightning {
*/
rpc FundingStateStep (FundingTransitionMsg) returns (FundingStateStepResp);
/**
/*
ChannelAcceptor dispatches a bi-directional streaming RPC in which
OpenChannel requests are sent to the client and the client responds with
a boolean that tells LND whether or not to accept the channel. This allows
@ -288,7 +284,7 @@ service Lightning {
rpc ChannelAcceptor (stream ChannelAcceptResponse)
returns (stream ChannelAcceptRequest);
/** lncli: `closechannel`
/* lncli: `closechannel`
CloseChannel attempts to close an active channel identified by its channel
outpoint (ChannelPoint). The actions of this method can additionally be
augmented to attempt a force close after a timeout period in the case of an
@ -303,7 +299,7 @@ service Lightning {
};
}
/** lncli: `abandonchannel`
/* lncli: `abandonchannel`
AbandonChannel removes all channel state from the database except for a
close summary. This method can be used to get rid of permanently unusable
channels due to bugs fixed in newer versions of lnd. Only available
@ -316,7 +312,7 @@ service Lightning {
};
}
/** lncli: `sendpayment`
/* lncli: `sendpayment`
Deprecated, use routerrpc.SendPayment. SendPayment dispatches a
bi-directional streaming RPC for sending payments through the Lightning
Network. A single RPC invocation creates a persistent bi-directional
@ -327,7 +323,7 @@ service Lightning {
option deprecated = true;
}
/**
/*
SendPaymentSync is the synchronous non-streaming version of SendPayment.
This RPC is intended to be consumed by clients of the REST proxy.
Additionally, this RPC expects the destination's public key and the payment
@ -340,7 +336,7 @@ service Lightning {
};
}
/** lncli: `sendtoroute`
/* lncli: `sendtoroute`
SendToRoute is a bi-directional streaming RPC for sending payment through
the Lightning Network. This method differs from SendPayment in that it
allows users to specify a full route manually. This can be used for things
@ -348,7 +344,7 @@ service Lightning {
*/
rpc SendToRoute (stream SendToRouteRequest) returns (stream SendResponse);
/**
/*
SendToRouteSync is a synchronous version of SendToRoute. It Will block
until the payment either fails or succeeds.
*/
@ -359,7 +355,7 @@ service Lightning {
};
}
/** lncli: `addinvoice`
/* lncli: `addinvoice`
AddInvoice attempts to add a new invoice to the invoice database. Any
duplicated invoices are rejected, therefore all invoices *must* have a
unique payment preimage.
@ -371,7 +367,7 @@ service Lightning {
};
}
/** lncli: `listinvoices`
/* lncli: `listinvoices`
ListInvoices returns a list of all the invoices currently stored within the
database. Any active debug invoices are ignored. It has full support for
paginated responses, allowing users to query for specific invoices through
@ -386,7 +382,7 @@ service Lightning {
};
}
/** lncli: `lookupinvoice`
/* lncli: `lookupinvoice`
LookupInvoice attempts to look up an invoice according to its payment hash.
The passed payment hash *must* be exactly 32 bytes, if not, an error is
returned.
@ -397,7 +393,7 @@ service Lightning {
};
}
/**
/*
SubscribeInvoices returns a uni-directional stream (server -> client) for
notifying the client of newly added/settled invoices. The caller can
optionally specify the add_index and/or the settle_index. If the add_index
@ -414,7 +410,7 @@ service Lightning {
};
}
/** lncli: `decodepayreq`
/* lncli: `decodepayreq`
DecodePayReq takes an encoded payment request string and attempts to decode
it, returning a full description of the conditions encoded within the
payment request.
@ -425,7 +421,7 @@ service Lightning {
};
}
/** lncli: `listpayments`
/* lncli: `listpayments`
ListPayments returns a list of all outgoing payments.
*/
rpc ListPayments (ListPaymentsRequest) returns (ListPaymentsResponse) {
@ -434,7 +430,7 @@ service Lightning {
};
};
/**
/*
DeleteAllPayments deletes all outgoing payments from DB.
*/
rpc DeleteAllPayments (DeleteAllPaymentsRequest)
@ -444,7 +440,7 @@ service Lightning {
};
};
/** lncli: `describegraph`
/* lncli: `describegraph`
DescribeGraph returns a description of the latest graph state from the
point of view of the node. The graph information is partitioned into two
components: all the nodes/vertexes, and all the edges that connect the
@ -458,7 +454,7 @@ service Lightning {
};
}
/** lncli: `getnodemetrics`
/* lncli: `getnodemetrics`
GetNodeMetrics returns node metrics calculated from the graph. Currently
the only supported metric is betweenness centrality of individual nodes.
*/
@ -468,7 +464,7 @@ service Lightning {
};
}
/** lncli: `getchaninfo`
/* lncli: `getchaninfo`
GetChanInfo returns the latest authenticated network announcement for the
given channel identified by its channel ID: an 8-byte integer which
uniquely identifies the location of transaction's funding output within the
@ -480,7 +476,7 @@ service Lightning {
};
}
/** lncli: `getnodeinfo`
/* lncli: `getnodeinfo`
GetNodeInfo returns the latest advertised, aggregated, and authenticated
channel information for the specified node identified by its public key.
*/
@ -490,7 +486,7 @@ service Lightning {
};
}
/** lncli: `queryroutes`
/* lncli: `queryroutes`
QueryRoutes attempts to query the daemon's Channel Router for a possible
route to a target destination capable of carrying a specific amount of
satoshis. The returned route contains the full details required to craft and
@ -503,7 +499,7 @@ service Lightning {
};
}
/** lncli: `getnetworkinfo`
/* lncli: `getnetworkinfo`
GetNetworkInfo returns some basic stats about the known channel graph from
the point of view of the node.
*/
@ -513,13 +509,13 @@ service Lightning {
};
}
/** lncli: `stop`
/* lncli: `stop`
StopDaemon will send a shutdown request to the interrupt handler, triggering
a graceful shutdown of the daemon.
*/
rpc StopDaemon (StopRequest) returns (StopResponse);
/**
/*
SubscribeChannelGraph launches a streaming RPC that allows the caller to
receive notifications upon any changes to the channel graph topology from
the point of view of the responding node. Events notified include: new
@ -530,7 +526,7 @@ service Lightning {
rpc SubscribeChannelGraph (GraphTopologySubscription)
returns (stream GraphTopologyUpdate);
/** lncli: `debuglevel`
/* lncli: `debuglevel`
DebugLevel allows a caller to programmatically set the logging verbosity of
lnd. The logging can be targeted according to a coarse daemon-wide logging
level, or in a granular fashion to specify the logging for a target
@ -538,7 +534,7 @@ service Lightning {
*/
rpc DebugLevel (DebugLevelRequest) returns (DebugLevelResponse);
/** lncli: `feereport`
/* lncli: `feereport`
FeeReport allows the caller to obtain a report detailing the current fee
schedule enforced by the node globally for each channel.
*/
@ -548,7 +544,7 @@ service Lightning {
};
}
/** lncli: `updatechanpolicy`
/* lncli: `updatechanpolicy`
UpdateChannelPolicy allows the caller to update the fee schedule and
channel policies for all channels globally, or a particular channel.
*/
@ -560,7 +556,7 @@ service Lightning {
};
}
/** lncli: `fwdinghistory`
/* lncli: `fwdinghistory`
ForwardingHistory allows the caller to query the htlcswitch for a record of
all HTLCs forwarded within the target time range, and integer offset
within that time range. If no time-range is specified, then the first chunk
@ -580,7 +576,7 @@ service Lightning {
};
};
/** lncli: `exportchanbackup`
/* lncli: `exportchanbackup`
ExportChannelBackup attempts to return an encrypted static channel backup
for the target channel identified by it channel point. The backup is
encrypted with a key generated from the aezeed seed of the user. The
@ -595,7 +591,7 @@ service Lightning {
};
};
/**
/*
ExportAllChannelBackups returns static channel backups for all existing
channels known to lnd. A set of regular singular static channel backups for
each channel are returned. Additionally, a multi-channel backup is returned
@ -609,7 +605,7 @@ service Lightning {
};
};
/**
/*
VerifyChanBackup allows a caller to verify the integrity of a channel backup
snapshot. This method will accept either a packed Single or a packed Multi.
Specifying both will result in an error.
@ -622,7 +618,7 @@ service Lightning {
};
};
/** lncli: `restorechanbackup`
/* lncli: `restorechanbackup`
RestoreChannelBackups accepts a set of singular channel backups, or a
single encrypted multi-chan backup and attempts to recover any funds
remaining within the channel. If we are able to unpack the backup, then the
@ -636,7 +632,7 @@ service Lightning {
};
};
/**
/*
SubscribeChannelBackups allows a client to sub-subscribe to the most up to
date information concerning the state of all channel backups. Each time a
new channel is added, we return the new set of channels, along with a
@ -649,7 +645,7 @@ service Lightning {
returns (stream ChanBackupSnapshot) {
};
/** lncli: `bakemacaroon`
/* lncli: `bakemacaroon`
BakeMacaroon allows the creation of a new macaroon with custom read and
write permissions. No first-party caveats are added since this can be done
offline.
@ -663,51 +659,51 @@ service Lightning {
}
message Utxo {
/// The type of address
// The type of address
AddressType address_type = 1;
/// The address
// The address
string address = 2;
/// The value of the unspent coin in satoshis
// The value of the unspent coin in satoshis
int64 amount_sat = 3;
/// The pkscript in hex
// The pkscript in hex
string pk_script = 4;
/// The outpoint in format txid:n
// The outpoint in format txid:n
OutPoint outpoint = 5;
/// The number of confirmations for the Utxo
// The number of confirmations for the Utxo
int64 confirmations = 6;
}
message Transaction {
/// The transaction hash
// The transaction hash
string tx_hash = 1;
/// The transaction amount, denominated in satoshis
// The transaction amount, denominated in satoshis
int64 amount = 2;
/// The number of confirmations
// The number of confirmations
int32 num_confirmations = 3;
/// The hash of the block this transaction was included in
// The hash of the block this transaction was included in
string block_hash = 4;
/// The height of the block this transaction was included in
// The height of the block this transaction was included in
int32 block_height = 5;
/// Timestamp of this transaction
// Timestamp of this transaction
int64 time_stamp = 6;
/// Fees paid for this transaction
// Fees paid for this transaction
int64 total_fees = 7;
/// Addresses that received funds for this transaction
// Addresses that received funds for this transaction
repeated string dest_addresses = 8;
/// The raw transaction hex.
// The raw transaction hex.
string raw_tx_hex = 9;
}
message GetTransactionsRequest {
@ -728,84 +724,84 @@ message GetTransactionsRequest {
}
message TransactionDetails {
/// The list of transactions relevant to the wallet.
// The list of transactions relevant to the wallet.
repeated Transaction transactions = 1;
}
message FeeLimit {
oneof limit {
/**
/*
The fee limit expressed as a fixed amount of satoshis.
The fields fixed and fixed_msat are mutually exclusive.
*/
int64 fixed = 1;
/**
/*
The fee limit expressed as a fixed amount of millisatoshis.
The fields fixed and fixed_msat are mutually exclusive.
*/
int64 fixed_msat = 3;
/// The fee limit expressed as a percentage of the payment amount.
// The fee limit expressed as a percentage of the payment amount.
int64 percent = 2;
}
}
message SendRequest {
/**
/*
The identity pubkey of the payment recipient. When using REST, this field
must be encoded as base64.
*/
bytes dest = 1;
/**
/*
The hex-encoded identity pubkey of the payment recipient. Deprecated now
that the REST gateway supports base64 encoding of bytes fields.
*/
string dest_string = 2 [deprecated = true];
/**
/*
The amount to send expressed in satoshis.
The fields amt and amt_msat are mutually exclusive.
*/
int64 amt = 3;
/**
/*
The amount to send expressed in millisatoshis.
The fields amt and amt_msat are mutually exclusive.
*/
int64 amt_msat = 12;
/**
/*
The hash to use within the payment's HTLC. When using REST, this field
must be encoded as base64.
*/
bytes payment_hash = 4;
/**
/*
The hex-encoded hash to use within the payment's HTLC. Deprecated now
that the REST gateway supports base64 encoding of bytes fields.
*/
string payment_hash_string = 5 [deprecated = true];
/**
/*
A bare-bones invoice for a payment within the Lightning Network. With the
details of the invoice, the sender has all the data necessary to send a
payment to the recipient.
*/
string payment_request = 6;
/**
/*
The CLTV delta from the current height that should be used to set the
timelock for the final hop.
*/
int32 final_cltv_delta = 7;
/**
/*
The maximum number of satoshis that will be paid as a fee of the payment.
This value can be represented either as a percentage of the amount being
sent, or as a fixed amount of the maximum fee the user is willing the pay to
@ -813,25 +809,25 @@ message SendRequest {
*/
FeeLimit fee_limit = 8;
/**
/*
The channel id of the channel that must be taken to the first hop. If zero,
any channel may be used.
*/
uint64 outgoing_chan_id = 9 [jstype = JS_STRING];
/**
/*
The pubkey of the last hop of the route. If empty, any hop may be used.
*/
bytes last_hop_pubkey = 13;
/**
/*
An optional maximum total time lock for the route. This should not exceed
lnd's `--max-cltv-expiry` setting. If zero, then the value of
`--max-cltv-expiry` is enforced.
*/
uint32 cltv_limit = 10;
/**
/*
An optional field that can be used to pass an arbitrary set of TLV records
to a peer which understands the new records. This can be used to pass
application specific data during the payment attempt. Record types are
@ -840,10 +836,10 @@ message SendRequest {
*/
map<uint64, bytes> dest_custom_records = 11;
/// If set, circular payments to self are permitted.
// If set, circular payments to self are permitted.
bool allow_self_payment = 14;
/**
/*
Features assumed to be supported by the final node. All transitive feature
dependencies must also be set properly. For a given feature bit pair, either
optional or remote may be set, but not both. If this field is nil or empty,
@ -861,13 +857,13 @@ message SendResponse {
}
message SendToRouteRequest {
/**
/*
The payment hash to use for the HTLC. When using REST, this field must be
encoded as base64.
*/
bytes payment_hash = 1;
/**
/*
An optional hex-encoded payment hash to be used for the HTLC. Deprecated now
that the REST gateway supports base64 encoding of bytes fields.
*/
@ -875,156 +871,156 @@ message SendToRouteRequest {
reserved 3;
/// Route that should be used to attempt to complete the payment.
// Route that should be used to attempt to complete the payment.
Route route = 4;
}
message ChannelAcceptRequest {
/// The pubkey of the node that wishes to open an inbound channel.
// The pubkey of the node that wishes to open an inbound channel.
bytes node_pubkey = 1;
/// The hash of the genesis block that the proposed channel resides in.
// The hash of the genesis block that the proposed channel resides in.
bytes chain_hash = 2;
/// The pending channel id.
// The pending channel id.
bytes pending_chan_id = 3;
/// The funding amount in satoshis that initiator wishes to use in the
/// channel.
// The funding amount in satoshis that initiator wishes to use in the
// channel.
uint64 funding_amt = 4;
/// The push amount of the proposed channel in millisatoshis.
// The push amount of the proposed channel in millisatoshis.
uint64 push_amt = 5;
/// The dust limit of the initiator's commitment tx.
// The dust limit of the initiator's commitment tx.
uint64 dust_limit = 6;
/// The maximum amount of coins in millisatoshis that can be pending in this
/// channel.
// The maximum amount of coins in millisatoshis that can be pending in this
// channel.
uint64 max_value_in_flight = 7;
/// The minimum amount of satoshis the initiator requires us to have at all
/// times.
// The minimum amount of satoshis the initiator requires us to have at all
// times.
uint64 channel_reserve = 8;
/// The smallest HTLC in millisatoshis that the initiator will accept.
// The smallest HTLC in millisatoshis that the initiator will accept.
uint64 min_htlc = 9;
/// The initial fee rate that the initiator suggests for both commitment
/// transactions.
// The initial fee rate that the initiator suggests for both commitment
// transactions.
uint64 fee_per_kw = 10;
/**
/*
The number of blocks to use for the relative time lock in the pay-to-self
output of both commitment transactions.
*/
uint32 csv_delay = 11;
/// The total number of incoming HTLC's that the initiator will accept.
// The total number of incoming HTLC's that the initiator will accept.
uint32 max_accepted_htlcs = 12;
/// A bit-field which the initiator uses to specify proposed channel
/// behavior.
// A bit-field which the initiator uses to specify proposed channel
// behavior.
uint32 channel_flags = 13;
}
message ChannelAcceptResponse {
/// Whether or not the client accepts the channel.
// Whether or not the client accepts the channel.
bool accept = 1;
/// The pending channel id to which this response applies.
// The pending channel id to which this response applies.
bytes pending_chan_id = 2;
}
message ChannelPoint {
oneof funding_txid {
/**
/*
Txid of the funding transaction. When using REST, this field must be
encoded as base64.
*/
bytes funding_txid_bytes = 1;
/**
/*
Hex-encoded string representing the byte-reversed hash of the funding
transaction.
*/
string funding_txid_str = 2;
}
/// The index of the output of the funding transaction
// The index of the output of the funding transaction
uint32 output_index = 3;
}
message OutPoint {
/// Raw bytes representing the transaction id.
// Raw bytes representing the transaction id.
bytes txid_bytes = 1;
/// Reversed, hex-encoded string representing the transaction id.
// Reversed, hex-encoded string representing the transaction id.
string txid_str = 2;
/// The index of the output on the transaction.
// The index of the output on the transaction.
uint32 output_index = 3;
}
message LightningAddress {
/// The identity pubkey of the Lightning node
// The identity pubkey of the Lightning node
string pubkey = 1;
/// The network location of the lightning node, e.g. `69.69.69.69:1337` or
/// `localhost:10011`
// The network location of the lightning node, e.g. `69.69.69.69:1337` or
// `localhost:10011`
string host = 2;
}
message EstimateFeeRequest {
/// The map from addresses to amounts for the transaction.
// The map from addresses to amounts for the transaction.
map<string, int64> AddrToAmount = 1;
/// The target number of blocks that this transaction should be confirmed
/// by.
// The target number of blocks that this transaction should be confirmed
// by.
int32 target_conf = 2;
}
message EstimateFeeResponse {
/// The total fee in satoshis.
// The total fee in satoshis.
int64 fee_sat = 1;
/// The fee rate in satoshi/byte.
// The fee rate in satoshi/byte.
int64 feerate_sat_per_byte = 2;
}
message SendManyRequest {
/// The map from addresses to amounts
// The map from addresses to amounts
map<string, int64> AddrToAmount = 1;
/// The target number of blocks that this transaction should be confirmed
/// by.
// The target number of blocks that this transaction should be confirmed
// by.
int32 target_conf = 3;
/// A manual fee rate set in sat/byte that should be used when crafting the
/// transaction.
// A manual fee rate set in sat/byte that should be used when crafting the
// transaction.
int64 sat_per_byte = 5;
}
message SendManyResponse {
/// The id of the transaction
// The id of the transaction
string txid = 1;
}
message SendCoinsRequest {
/// The address to send coins to
// The address to send coins to
string addr = 1;
/// The amount in satoshis to send
// The amount in satoshis to send
int64 amount = 2;
/// The target number of blocks that this transaction should be confirmed
/// by.
// The target number of blocks that this transaction should be confirmed
// by.
int32 target_conf = 3;
/// A manual fee rate set in sat/byte that should be used when crafting the
/// transaction.
// A manual fee rate set in sat/byte that should be used when crafting the
// transaction.
int64 sat_per_byte = 5;
/**
/*
If set, then the amount field will be ignored, and lnd will attempt to
send all the coins under control of the internal wallet to the specified
address.
@ -1032,23 +1028,23 @@ message SendCoinsRequest {
bool send_all = 6;
}
message SendCoinsResponse {
/// The transaction ID of the transaction
// The transaction ID of the transaction
string txid = 1;
}
message ListUnspentRequest {
/// The minimum number of confirmations to be included.
// The minimum number of confirmations to be included.
int32 min_confs = 1;
/// The maximum number of confirmations to be included.
// The maximum number of confirmations to be included.
int32 max_confs = 2;
}
message ListUnspentResponse {
/// A list of utxos
// A list of utxos
repeated Utxo utxos = 1;
}
/**
/*
`AddressType` has to be one of:
- `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0)
@ -1062,49 +1058,49 @@ enum AddressType {
}
message NewAddressRequest {
/// The address type
// The address type
AddressType type = 1;
}
message NewAddressResponse {
/// The newly generated wallet address
// The newly generated wallet address
string address = 1;
}
message SignMessageRequest {
/**
/*
The message to be signed. When using REST, this field must be encoded as
base64.
*/
bytes msg = 1;
}
message SignMessageResponse {
/// The signature for the given message
// The signature for the given message
string signature = 1;
}
message VerifyMessageRequest {
/**
/*
The message over which the signature is to be verified. When using REST,
this field must be encoded as base64.
*/
bytes msg = 1;
/// The signature to be verified over the given message
// The signature to be verified over the given message
string signature = 2;
}
message VerifyMessageResponse {
/// Whether the signature was valid over the given message
// Whether the signature was valid over the given message
bool valid = 1;
/// The pubkey recovered from the signature
// The pubkey recovered from the signature
string pubkey = 2;
}
message ConnectPeerRequest {
/// Lightning address of the peer, in the format `<pubkey>@host`
// Lightning address of the peer, in the format `<pubkey>@host`
LightningAddress addr = 1;
/** If set, the daemon will attempt to persistently connect to the target
/* If set, the daemon will attempt to persistently connect to the target
* peer. Otherwise, the call will be synchronous. */
bool perm = 2;
}
@ -1112,7 +1108,7 @@ message ConnectPeerResponse {
}
message DisconnectPeerRequest {
/// The pubkey of the node to disconnect from
// The pubkey of the node to disconnect from
string pub_key = 1;
}
message DisconnectPeerResponse {
@ -1126,13 +1122,13 @@ message HTLC {
}
enum CommitmentType {
/**
/*
A channel using the legacy commitment format having tweaked to_remote
keys.
*/
LEGACY = 0;
/**
/*
A channel that uses the modern commitment format where the key in the
output of the remote party does not change each state. This makes back
up and recovery easier as when the channel is closed, the funds go
@ -1140,50 +1136,50 @@ enum CommitmentType {
*/
STATIC_REMOTE_KEY = 1;
/**
/*
A channel that uses a commitment format that has anchor outputs on the
commitments, allowing fee bumping after a force close transaction has
been broadcast.
*/
ANCHORS = 2;
/**
/*
Returned when the commitment type isn't known or unavailable.
*/
UNKNOWN_COMMITMENT_TYPE = 999;
}
message Channel {
/// Whether this channel is active or not
// Whether this channel is active or not
bool active = 1;
/// The identity pubkey of the remote node
// The identity pubkey of the remote node
string remote_pubkey = 2;
/**
/*
The outpoint (txid:index) of the funding transaction. With this value, Bob
will be able to generate a signature for Alice's version of the commitment
transaction.
*/
string channel_point = 3;
/**
/*
The unique channel ID for the channel. The first 3 bytes are the block
height, the next 3 the index within the block, and the last 2 bytes are the
output index for the channel.
*/
uint64 chan_id = 4 [jstype = JS_STRING];
/// The total amount of funds held in this channel
// The total amount of funds held in this channel
int64 capacity = 5;
/// This node's current balance in this channel
// This node's current balance in this channel
int64 local_balance = 6;
/// The counterparty's current balance in this channel
// The counterparty's current balance in this channel
int64 remote_balance = 7;
/**
/*
The amount calculated to be paid in fees for the current set of commitment
transactions. The fee amount is persisted with the channel in order to
allow the fee amount to be removed and recalculated with each channel state
@ -1191,83 +1187,83 @@ message Channel {
*/
int64 commit_fee = 8;
/// The weight of the commitment transaction
// The weight of the commitment transaction
int64 commit_weight = 9;
/**
/*
The required number of satoshis per kilo-weight that the requester will pay
at all times, for both the funding transaction and commitment transaction.
This value can later be updated once the channel is open.
*/
int64 fee_per_kw = 10;
/// The unsettled balance in this channel
// The unsettled balance in this channel
int64 unsettled_balance = 11;
/**
/*
The total number of satoshis we've sent within this channel.
*/
int64 total_satoshis_sent = 12;
/**
/*
The total number of satoshis we've received within this channel.
*/
int64 total_satoshis_received = 13;
/**
/*
The total number of updates conducted within this channel.
*/
uint64 num_updates = 14;
/**
/*
The list of active, uncleared HTLCs currently pending within the channel.
*/
repeated HTLC pending_htlcs = 15;
/**
/*
The CSV delay expressed in relative blocks. If the channel is force closed,
we will need to wait for this many blocks before we can regain our funds.
*/
uint32 csv_delay = 16;
/// Whether this channel is advertised to the network or not.
// Whether this channel is advertised to the network or not.
bool private = 17;
/// True if we were the ones that created the channel.
// True if we were the ones that created the channel.
bool initiator = 18;
/// A set of flags showing the current state of the channel.
// A set of flags showing the current state of the channel.
string chan_status_flags = 19;
/// The minimum satoshis this node is required to reserve in its balance.
// The minimum satoshis this node is required to reserve in its balance.
int64 local_chan_reserve_sat = 20;
/**
/*
The minimum satoshis the other node is required to reserve in its balance.
*/
int64 remote_chan_reserve_sat = 21;
/// Deprecated. Use commitment_type.
// Deprecated. Use commitment_type.
bool static_remote_key = 22 [deprecated = true];
/// The commitment type used by this channel.
// The commitment type used by this channel.
CommitmentType commitment_type = 26;
/**
/*
The number of seconds that the channel has been monitored by the channel
scoring system. Scores are currently not persisted, so this value may be
less than the lifetime of the channel [EXPERIMENTAL].
*/
int64 lifetime = 23;
/**
/*
The number of seconds that the remote peer has been observed as being online
by the channel scoring system over the lifetime of the channel
[EXPERIMENTAL].
*/
int64 uptime = 24;
/**
/*
Close address is the address that we will enforce payout to on cooperative
close if the channel was opened utilizing option upfront shutdown. This
value can be set on channel open by setting close_address in an open channel
@ -1285,7 +1281,7 @@ message Channel {
*/
uint64 push_amount_sat = 27;
/**
/*
This uint32 indicates if this channel is to be considered 'frozen'. A
frozen channel doest not allow a cooperative channel close by the
initiator. The thaw_height is the height that this restriction stops
@ -1301,14 +1297,14 @@ message ListChannelsRequest {
bool public_only = 3;
bool private_only = 4;
/**
/*
Filters the response for channels with a target peer's pubkey. If peer is
empty, all channels will be returned.
*/
bytes peer = 5;
}
message ListChannelsResponse {
/// The list of active channels
// The list of active channels
repeated Channel channels = 11;
}
@ -1320,31 +1316,31 @@ enum Initiator {
}
message ChannelCloseSummary {
/// The outpoint (txid:index) of the funding transaction.
// The outpoint (txid:index) of the funding transaction.
string channel_point = 1;
/// The unique channel ID for the channel.
// The unique channel ID for the channel.
uint64 chan_id = 2 [jstype = JS_STRING];
/// The hash of the genesis block that this channel resides within.
// The hash of the genesis block that this channel resides within.
string chain_hash = 3;
/// The txid of the transaction which ultimately closed this channel.
// The txid of the transaction which ultimately closed this channel.
string closing_tx_hash = 4;
/// Public key of the remote peer that we formerly had a channel with.
// Public key of the remote peer that we formerly had a channel with.
string remote_pubkey = 5;
/// Total capacity of the channel.
// Total capacity of the channel.
int64 capacity = 6;
/// Height at which the funding transaction was spent.
// Height at which the funding transaction was spent.
uint32 close_height = 7;
/// Settled balance at the time of channel closure
// Settled balance at the time of channel closure
int64 settled_balance = 8;
/// The sum of all the time-locked outputs at the time of channel closure
// The sum of all the time-locked outputs at the time of channel closure
int64 time_locked_balance = 9;
enum ClosureType {
@ -1356,17 +1352,17 @@ message ChannelCloseSummary {
ABANDONED = 5;
}
/// Details on how the channel was closed.
// Details on how the channel was closed.
ClosureType close_type = 10;
/**
/*
Open initiator is the party that initiated opening the channel. Note that
this value may be unknown if the channel was closed before we migrated to
store open channel information after close.
*/
Initiator open_initiator = 11;
/**
/*
Close initiator indicates which party initiated the close. This value will
be unknown for channels that were cooperatively closed before we started
tracking cooperative close initiators. Note that this indicates which party
@ -1390,42 +1386,42 @@ message ClosedChannelsResponse {
}
message Peer {
/// The identity pubkey of the peer
// The identity pubkey of the peer
string pub_key = 1;
/// Network address of the peer; eg `127.0.0.1:10011`
// Network address of the peer; eg `127.0.0.1:10011`
string address = 3;
/// Bytes of data transmitted to this peer
// Bytes of data transmitted to this peer
uint64 bytes_sent = 4;
/// Bytes of data transmitted from this peer
// Bytes of data transmitted from this peer
uint64 bytes_recv = 5;
/// Satoshis sent to this peer
// Satoshis sent to this peer
int64 sat_sent = 6;
/// Satoshis received from this peer
// Satoshis received from this peer
int64 sat_recv = 7;
/// A channel is inbound if the counterparty initiated the channel
// A channel is inbound if the counterparty initiated the channel
bool inbound = 8;
/// Ping time to this peer
// Ping time to this peer
int64 ping_time = 9;
enum SyncType {
/**
/*
Denotes that we cannot determine the peer's current sync type.
*/
UNKNOWN_SYNC = 0;
/**
/*
Denotes that we are actively receiving new graph updates from the peer.
*/
ACTIVE_SYNC = 1;
/**
/*
Denotes that we are not receiving new graph updates from the peer.
*/
PASSIVE_SYNC = 2;
@ -1434,7 +1430,7 @@ message Peer {
// The type of sync we are currently performing with this peer.
SyncType sync_type = 10;
/// Features advertised by the remote peer in their init message.
// Features advertised by the remote peer in their init message.
map<uint32, Feature> features = 11;
/*
@ -1464,7 +1460,7 @@ message ListPeersRequest {
bool latest_error = 1;
}
message ListPeersResponse {
/// The list of currently connected peers
// The list of currently connected peers
repeated Peer peers = 1;
}
@ -1472,7 +1468,7 @@ message PeerEventSubscription {
}
message PeerEvent {
/// The identity pubkey of the peer.
// The identity pubkey of the peer.
string pub_key = 1;
enum EventType {
@ -1486,49 +1482,49 @@ message PeerEvent {
message GetInfoRequest {
}
message GetInfoResponse {
/// The version of the LND software that the node is running.
// The version of the LND software that the node is running.
string version = 14;
/// The SHA1 commit hash that the daemon is compiled with.
// The SHA1 commit hash that the daemon is compiled with.
string commit_hash = 20;
/// The identity pubkey of the current node.
// The identity pubkey of the current node.
string identity_pubkey = 1;
/// If applicable, the alias of the current node, e.g. "bob"
// If applicable, the alias of the current node, e.g. "bob"
string alias = 2;
/// The color of the current node in hex code format
// The color of the current node in hex code format
string color = 17;
/// Number of pending channels
// Number of pending channels
uint32 num_pending_channels = 3;
/// Number of active channels
// Number of active channels
uint32 num_active_channels = 4;
/// Number of inactive channels
// Number of inactive channels
uint32 num_inactive_channels = 15;
/// Number of peers
// Number of peers
uint32 num_peers = 5;
/// The node's current view of the height of the best block
// The node's current view of the height of the best block
uint32 block_height = 6;
/// The node's current view of the hash of the best block
// The node's current view of the hash of the best block
string block_hash = 8;
/// Timestamp of the block best known to the wallet
// Timestamp of the block best known to the wallet
int64 best_header_timestamp = 13;
/// Whether the wallet's view is synced to the main chain
// Whether the wallet's view is synced to the main chain
bool synced_to_chain = 9;
// Whether we consider ourselves synced with the public channel graph.
bool synced_to_graph = 18;
/**
/*
Whether the current node is connected to testnet. This field is
deprecated and the network field should be used instead
**/
@ -1536,10 +1532,10 @@ message GetInfoResponse {
reserved 11;
/// A list of active chains the node is connected to
// A list of active chains the node is connected to
repeated Chain chains = 16;
/// The URIs of the current node.
// The URIs of the current node.
repeated string uris = 12;
/*
@ -1550,10 +1546,10 @@ message GetInfoResponse {
}
message Chain {
/// The blockchain the node is on (eg bitcoin, litecoin)
// The blockchain the node is on (eg bitcoin, litecoin)
string chain = 1;
/// The network the node is on (eg regtest, testnet, mainnet)
// The network the node is on (eg regtest, testnet, mainnet)
string network = 2;
}
@ -1575,23 +1571,23 @@ message ChannelCloseUpdate {
}
message CloseChannelRequest {
/**
/*
The outpoint (txid:index) of the funding transaction. With this value, Bob
will be able to generate a signature for Alice's version of the commitment
transaction.
*/
ChannelPoint channel_point = 1;
/// If true, then the channel will be closed forcibly. This means the
/// current commitment transaction will be signed and broadcast.
// If true, then the channel will be closed forcibly. This means the
// current commitment transaction will be signed and broadcast.
bool force = 2;
/// The target number of blocks that the closure transaction should be
/// confirmed by.
// The target number of blocks that the closure transaction should be
// confirmed by.
int32 target_conf = 3;
/// A manual fee rate set in sat/byte that should be used when crafting the
/// closure transaction.
// A manual fee rate set in sat/byte that should be used when crafting the
// closure transaction.
int64 sat_per_byte = 4;
/*
@ -1616,19 +1612,19 @@ message PendingUpdate {
}
message ReadyForPsbtFunding {
/**
/*
The P2WSH address of the channel funding multisig address that the below
specified amount in satoshis needs to be sent to.
*/
string funding_address = 1;
/**
/*
The exact amount in satoshis that needs to be sent to the above address to
fund the pending channel.
*/
int64 funding_amount = 2;
/**
/*
A raw PSBT that contains the pending channel output. If a base PSBT was
provided in the PsbtShim, this is the base PSBT with one additional output.
If no base PSBT was specified, this is an otherwise empty PSBT with exactly
@ -1638,51 +1634,51 @@ message ReadyForPsbtFunding {
}
message OpenChannelRequest {
/**
/*
The pubkey of the node to open a channel with. When using REST, this field
must be encoded as base64.
*/
bytes node_pubkey = 2;
/**
/*
The hex encoded pubkey of the node to open a channel with. Deprecated now
that the REST gateway supports base64 encoding of bytes fields.
*/
string node_pubkey_string = 3 [deprecated = true];
/// The number of satoshis the wallet should commit to the channel
// The number of satoshis the wallet should commit to the channel
int64 local_funding_amount = 4;
/// The number of satoshis to push to the remote side as part of the initial
/// commitment state
// The number of satoshis to push to the remote side as part of the initial
// commitment state
int64 push_sat = 5;
/// The target number of blocks that the funding transaction should be
/// confirmed by.
// The target number of blocks that the funding transaction should be
// confirmed by.
int32 target_conf = 6;
/// A manual fee rate set in sat/byte that should be used when crafting the
/// funding transaction.
// A manual fee rate set in sat/byte that should be used when crafting the
// funding transaction.
int64 sat_per_byte = 7;
/// Whether this channel should be private, not announced to the greater
/// network.
// Whether this channel should be private, not announced to the greater
// network.
bool private = 8;
/// The minimum value in millisatoshi we will require for incoming HTLCs on
/// the channel.
// The minimum value in millisatoshi we will require for incoming HTLCs on
// the channel.
int64 min_htlc_msat = 9;
/// The delay we require on the remote's commitment transaction. If this is
/// not set, it will be scaled automatically with the channel size.
// The delay we require on the remote's commitment transaction. If this is
// not set, it will be scaled automatically with the channel size.
uint32 remote_csv_delay = 10;
/// The minimum number of confirmations each one of your outputs used for
/// the funding transaction must satisfy.
// The minimum number of confirmations each one of your outputs used for
// the funding transaction must satisfy.
int32 min_confs = 11;
/// Whether unconfirmed outputs should be used as inputs for the funding
/// transaction.
// Whether unconfirmed outputs should be used as inputs for the funding
// transaction.
bool spend_unconfirmed = 12;
/*
@ -1697,7 +1693,7 @@ message OpenChannelRequest {
*/
string close_address = 13;
/**
/*
Funding shims are an optional argument that allow the caller to intercept
certain funding functionality. For example, a shim can be provided to use a
particular key for the commitment key (ideally cold) rather than use one
@ -1708,26 +1704,26 @@ message OpenChannelRequest {
}
message OpenStatusUpdate {
oneof update {
/**
/*
Signals that the channel is now fully negotiated and the funding
transaction published.
*/
PendingUpdate chan_pending = 1;
/**
/*
Signals that the channel's funding transaction has now reached the
required number of confirmations on chain and can be used.
*/
ChannelOpenUpdate chan_open = 3;
/**
/*
Signals that the funding process has been suspended and the construction
of a PSBT that funds the channel PK script is now required.
*/
ReadyForPsbtFunding psbt_fund = 5;
}
/**
/*
The pending channel ID of the created channel. This value may be used to
further the funding flow manually via the FundingStateStep method.
*/
@ -1735,42 +1731,42 @@ message OpenStatusUpdate {
}
message KeyLocator {
/// The family of key being identified.
// The family of key being identified.
int32 key_family = 1;
/// The precise index of the key being identified.
// The precise index of the key being identified.
int32 key_index = 2;
}
message KeyDescriptor {
/**
/*
The raw bytes of the key being identified.
*/
bytes raw_key_bytes = 1;
/**
/*
The key locator that identifies which key to use for signing.
*/
KeyLocator key_loc = 2;
}
message ChanPointShim {
/**
/*
The size of the pre-crafted output to be used as the channel point for this
channel funding.
*/
int64 amt = 1;
/// The target channel point to refrence in created commitment transactions.
// The target channel point to refrence in created commitment transactions.
ChannelPoint chan_point = 2;
/// Our local key to use when creating the multi-sig output.
// Our local key to use when creating the multi-sig output.
KeyDescriptor local_key = 3;
/// The key of the remote party to use when creating the multi-sig output.
// The key of the remote party to use when creating the multi-sig output.
bytes remote_key = 4;
/**
/*
If non-zero, then this will be used as the pending channel ID on the wire
protocol to initate the funding request. This is an optional field, and
should only be set if the responder is already expecting a specific pending
@ -1778,7 +1774,7 @@ message ChanPointShim {
*/
bytes pending_chan_id = 5;
/**
/*
This uint32 indicates if this channel is to be considered 'frozen'. A
frozen channel does not allow a cooperative channel close by the
initiator. The thaw_height is the height that this restriction stops
@ -1788,14 +1784,14 @@ message ChanPointShim {
}
message PsbtShim {
/**
/*
A unique identifier of 32 random bytes that will be used as the pending
channel ID to identify the PSBT state machine when interacting with it and
on the wire protocol to initiate the funding request.
*/
bytes pending_chan_id = 1;
/**
/*
An optional base PSBT the new channel output will be added to. If this is
non-empty, it must be a binary serialized PSBT.
*/
@ -1804,13 +1800,13 @@ message PsbtShim {
message FundingShim {
oneof shim {
/**
/*
A channel shim where the channel point was fully constructed outside
of lnd's wallet and the transaction might already be published.
*/
ChanPointShim chan_point_shim = 1;
/**
/*
A channel shim that uses a PSBT to fund and sign the channel funding
transaction.
*/
@ -1819,54 +1815,54 @@ message FundingShim {
}
message FundingShimCancel {
/// The pending channel ID of the channel to cancel the funding shim for.
// The pending channel ID of the channel to cancel the funding shim for.
bytes pending_chan_id = 1;
}
message FundingPsbtVerify {
/**
/*
The funded but not yet signed PSBT that sends the exact channel capacity
amount to the PK script returned in the open channel message in a previous
step.
*/
bytes funded_psbt = 1;
/// The pending channel ID of the channel to get the PSBT for.
// The pending channel ID of the channel to get the PSBT for.
bytes pending_chan_id = 2;
}
message FundingPsbtFinalize {
/**
/*
The funded PSBT that contains all witness data to send the exact channel
capacity amount to the PK script returned in the open channel message in a
previous step.
*/
bytes signed_psbt = 1;
/// The pending channel ID of the channel to get the PSBT for.
// The pending channel ID of the channel to get the PSBT for.
bytes pending_chan_id = 2;
}
message FundingTransitionMsg {
oneof trigger {
/**
/*
The funding shim to register. This should be used before any
channel funding has began by the remote party, as it is intended as a
preparatory step for the full channel funding.
*/
FundingShim shim_register = 1;
/// Used to cancel an existing registered funding shim.
// Used to cancel an existing registered funding shim.
FundingShimCancel shim_cancel = 2;
/**
/*
Used to continue a funding flow that was initiated to be executed
through a PSBT. This step verifies that the PSBT contains the correct
outputs to fund the channel.
*/
FundingPsbtVerify psbt_verify = 3;
/**
/*
Used to continue a funding flow that was initiated to be executed
through a PSBT. This step finalizes the funded and signed PSBT, finishes
negotiation with the peer and finally publishes the resulting funding
@ -1880,26 +1876,26 @@ message FundingStateStepResp {
}
message PendingHTLC {
/// The direction within the channel that the htlc was sent
// The direction within the channel that the htlc was sent
bool incoming = 1;
/// The total value of the htlc
// The total value of the htlc
int64 amount = 2;
/// The final output to be swept back to the user's wallet
// The final output to be swept back to the user's wallet
string outpoint = 3;
/// The next block height at which we can spend the current stage
// The next block height at which we can spend the current stage
uint32 maturity_height = 4;
/**
/*
The number of blocks remaining until the current stage can be swept.
Negative values indicate how many blocks have passed since becoming
mature.
*/
int32 blocks_til_maturity = 5;
/// Indicates whether the htlc is in its first or second stage of recovery
// Indicates whether the htlc is in its first or second stage of recovery
uint32 stage = 6;
}
@ -1915,11 +1911,11 @@ message PendingChannelsResponse {
int64 local_balance = 4;
int64 remote_balance = 5;
/// The minimum satoshis this node is required to reserve in its
/// balance.
// The minimum satoshis this node is required to reserve in its
// balance.
int64 local_chan_reserve_sat = 6;
/**
/*
The minimum satoshis the other node is required to reserve in its
balance.
*/
@ -1928,18 +1924,18 @@ message PendingChannelsResponse {
// The party that initiated opening the channel.
Initiator initiator = 8;
/// The commitment type used by this channel.
// The commitment type used by this channel.
CommitmentType commitment_type = 9;
}
message PendingOpenChannel {
/// The pending channel
// The pending channel
PendingChannel channel = 1;
/// The height at which this channel will be confirmed
// The height at which this channel will be confirmed
uint32 confirmation_height = 2;
/**
/*
The amount calculated to be paid in fees for the current set of
commitment transactions. The fee amount is persisted with the channel
in order to allow the fee amount to be removed and recalculated with
@ -1948,10 +1944,10 @@ message PendingChannelsResponse {
*/
int64 commit_fee = 4;
/// The weight of the commitment transaction
// The weight of the commitment transaction
int64 commit_weight = 5;
/**
/*
The required number of satoshis per kilo-weight that the requester will
pay at all times, for both the funding transaction and commitment
transaction. This value can later be updated once the channel is open.
@ -1960,13 +1956,13 @@ message PendingChannelsResponse {
}
message WaitingCloseChannel {
/// The pending channel waiting for closing tx to confirm
// The pending channel waiting for closing tx to confirm
PendingChannel channel = 1;
/// The balance in satoshis encumbered in this channel
// The balance in satoshis encumbered in this channel
int64 limbo_balance = 2;
/**
/*
A list of valid commitment transactions. Any of these can confirm at
this point.
*/
@ -1974,13 +1970,13 @@ message PendingChannelsResponse {
}
message Commitments {
/// Hash of the local version of the commitment tx.
// Hash of the local version of the commitment tx.
string local_txid = 1;
/// Hash of the remote version of the commitment tx.
// Hash of the remote version of the commitment tx.
string remote_txid = 2;
/// Hash of the remote pending version of the commitment tx.
// Hash of the remote pending version of the commitment tx.
string remote_pending_txid = 3;
/*
@ -2003,24 +1999,24 @@ message PendingChannelsResponse {
}
message ClosedChannel {
/// The pending channel to be closed
// The pending channel to be closed
PendingChannel channel = 1;
/// The transaction id of the closing transaction
// The transaction id of the closing transaction
string closing_txid = 2;
}
message ForceClosedChannel {
/// The pending channel to be force closed
// The pending channel to be force closed
PendingChannel channel = 1;
/// The transaction id of the closing transaction
// The transaction id of the closing transaction
string closing_txid = 2;
/// The balance in satoshis encumbered in this pending channel
// The balance in satoshis encumbered in this pending channel
int64 limbo_balance = 3;
/// The height at which funds can be swept into the wallet
// The height at which funds can be swept into the wallet
uint32 maturity_height = 4;
/*
@ -2030,7 +2026,7 @@ message PendingChannelsResponse {
*/
int32 blocks_til_maturity = 5;
/// The total value of funds successfully recovered from this channel
// The total value of funds successfully recovered from this channel
int64 recovered_balance = 6;
repeated PendingHTLC pending_htlcs = 8;
@ -2044,10 +2040,10 @@ message PendingChannelsResponse {
AnchorState anchor = 9;
}
/// The balance in satoshis encumbered in pending channels
// The balance in satoshis encumbered in pending channels
int64 total_limbo_balance = 1;
/// Channels pending opening
// Channels pending opening
repeated PendingOpenChannel pending_open_channels = 2;
/*
@ -2057,10 +2053,10 @@ message PendingChannelsResponse {
*/
repeated ClosedChannel pending_closing_channels = 3 [deprecated = true];
/// Channels pending force closing
// Channels pending force closing
repeated ForceClosedChannel pending_force_closing_channels = 4;
/// Channels waiting for closing tx to confirm
// Channels waiting for closing tx to confirm
repeated WaitingCloseChannel waiting_close_channels = 5;
}
@ -2090,38 +2086,38 @@ message ChannelEventUpdate {
message WalletBalanceRequest {
}
message WalletBalanceResponse {
/// The balance of the wallet
// The balance of the wallet
int64 total_balance = 1;
/// The confirmed balance of a wallet(with >= 1 confirmations)
// The confirmed balance of a wallet(with >= 1 confirmations)
int64 confirmed_balance = 2;
/// The unconfirmed balance of a wallet(with 0 confirmations)
// The unconfirmed balance of a wallet(with 0 confirmations)
int64 unconfirmed_balance = 3;
}
message ChannelBalanceRequest {
}
message ChannelBalanceResponse {
/// Sum of channels balances denominated in satoshis
// Sum of channels balances denominated in satoshis
int64 balance = 1;
/// Sum of channels pending balances denominated in satoshis
// Sum of channels pending balances denominated in satoshis
int64 pending_open_balance = 2;
}
message QueryRoutesRequest {
/// The 33-byte hex-encoded public key for the payment destination
// The 33-byte hex-encoded public key for the payment destination
string pub_key = 1;
/**
/*
The amount to send expressed in satoshis.
The fields amt and amt_msat are mutually exclusive.
*/
int64 amt = 2;
/**
/*
The amount to send expressed in millisatoshis.
The fields amt and amt_msat are mutually exclusive.
@ -2130,7 +2126,7 @@ message QueryRoutesRequest {
reserved 3;
/**
/*
An optional CLTV delta from the current height that should be used for the
timelock of the final hop. Note that unlike SendPayment, QueryRoutes does
not add any additional block padding on top of final_ctlv_delta. This
@ -2139,7 +2135,7 @@ message QueryRoutesRequest {
*/
int32 final_cltv_delta = 4;
/**
/*
The maximum number of satoshis that will be paid as a fee of the payment.
This value can be represented either as a percentage of the amount being
sent, or as a fixed amount of the maximum fee the user is willing the pay to
@ -2147,42 +2143,42 @@ message QueryRoutesRequest {
*/
FeeLimit fee_limit = 5;
/**
/*
A list of nodes to ignore during path finding. When using REST, these fields
must be encoded as base64.
*/
repeated bytes ignored_nodes = 6;
/**
/*
Deprecated. A list of edges to ignore during path finding.
*/
repeated EdgeLocator ignored_edges = 7 [deprecated = true];
/**
/*
The source node where the request route should originated from. If empty,
self is assumed.
*/
string source_pub_key = 8;
/**
/*
If set to true, edge probabilities from mission control will be used to get
the optimal route.
*/
bool use_mission_control = 9;
/**
/*
A list of directed node pairs that will be ignored during path finding.
*/
repeated NodePair ignored_pairs = 10;
/**
/*
An optional maximum total time lock for the route. If the source is empty or
ourselves, this should not exceed lnd's `--max-cltv-expiry` setting. If
zero, then the value of `--max-cltv-expiry` is used as the limit.
*/
uint32 cltv_limit = 11;
/**
/*
An optional field that can be used to pass an arbitrary set of TLV records
to a peer which understands the new records. This can be used to pass
application specific data during the payment attempt. If the destination
@ -2192,23 +2188,23 @@ message QueryRoutesRequest {
*/
map<uint64, bytes> dest_custom_records = 13;
/**
/*
The channel id of the channel that must be taken to the first hop. If zero,
any channel may be used.
*/
uint64 outgoing_chan_id = 14 [jstype = JS_STRING];
/**
/*
The pubkey of the last hop of the route. If empty, any hop may be used.
*/
bytes last_hop_pubkey = 15;
/**
/*
Optional route hints to reach the destination through private channels.
*/
repeated lnrpc.RouteHint route_hints = 16;
/**
/*
Features assumed to be supported by the final node. All transitive feature
dependencies must also be set properly. For a given feature bit pair, either
optional or remote may be set, but not both. If this field is nil or empty,
@ -2219,13 +2215,13 @@ message QueryRoutesRequest {
}
message NodePair {
/**
/*
The sending node of the pair. When using REST, this field must be encoded as
base64.
*/
bytes from = 1;
/**
/*
The receiving node of the pair. When using REST, this field must be encoded
as base64.
*/
@ -2233,10 +2229,10 @@ message NodePair {
}
message EdgeLocator {
/// The short channel id of this edge.
// The short channel id of this edge.
uint64 channel_id = 1 [jstype = JS_STRING];
/**
/*
The direction of this edge. If direction_reverse is false, the direction
of this edge is from the channel endpoint with the lexicographically smaller
pub key to the endpoint with the larger pub key. If direction_reverse is
@ -2246,13 +2242,13 @@ message EdgeLocator {
}
message QueryRoutesResponse {
/**
/*
The route that results from the path finding operation. This is still a
repeated field to retain backwards compatibility.
*/
repeated Route routes = 1;
/**
/*
The success probability of the returned route based on the current mission
control state. [EXPERIMENTAL]
*/
@ -2260,7 +2256,7 @@ message QueryRoutesResponse {
}
message Hop {
/**
/*
The unique channel ID for the channel. The first 3 bytes are the block
height, the next 3 the index within the block, and the last 2 bytes are the
output index for the channel.
@ -2273,20 +2269,20 @@ message Hop {
int64 amt_to_forward_msat = 6;
int64 fee_msat = 7;
/**
/*
An optional public key of the hop. If the public key is given, the payment
can be executed without relying on a copy of the channel graph.
*/
string pub_key = 8;
/**
/*
If set to true, then this hop will be encoded using the new variable length
TLV format. Note that if any custom tlv_records below are specified, then
this field MUST be set to true for them to be encoded properly.
*/
bool tlv_payload = 9;
/**
/*
An optional TLV record that signals the use of an MPP payment. If present,
the receiver will enforce that that the same mpp_record is included in the
final hop payload of all non-zero payments in the HTLC set. If empty, a
@ -2294,7 +2290,7 @@ message Hop {
*/
MPPRecord mpp_record = 10;
/**
/*
An optional set of key-value TLV records. This is useful within the context
of the SendToRoute call as it allows callers to specify arbitrary K-V pairs
to drop off at each hop within the onion.
@ -2303,7 +2299,7 @@ message Hop {
}
message MPPRecord {
/**
/*
A unique, random identifier used to authenticate the sender as the intended
payer of a multi-path payment. The payment_addr must be the same for all
subpayments, and match the payment_addr provided in the receiver's invoice.
@ -2311,7 +2307,7 @@ message MPPRecord {
*/
bytes payment_addr = 11;
/**
/*
The total amount in milli-satoshis being sent as part of a larger multi-path
payment. The caller is responsible for ensuring subpayments to the same node
and payment_hash sum exactly to total_amt_msat. The same
@ -2320,7 +2316,7 @@ message MPPRecord {
int64 total_amt_msat = 10;
}
/**
/*
A path through the channel graph which runs over one or more channels in
succession. This struct carries all the information required to craft the
Sphinx onion packet, and send the payment along the first hop in the path. A
@ -2328,7 +2324,7 @@ route is only selected as valid if all the channels have sufficient capacity to
carry the initial payment amount after fees are accounted for.
*/
message Route {
/**
/*
The cumulative (final) time lock across the entire route. This is the CLTV
value that should be extended to the first hop in the route. All other hops
will decrement the time-lock as advertised, leaving enough time for all
@ -2336,14 +2332,14 @@ message Route {
*/
uint32 total_time_lock = 1;
/**
/*
The sum of the fees paid at each hop within the final route. In the case
of a one-hop payment, this value will be zero as we don't need to pay a fee
to ourselves.
*/
int64 total_fees = 2 [deprecated = true];
/**
/*
The total amount of funds required to complete a payment over this route.
This value includes the cumulative fees at each hop. As a result, the HTLC
extended to the first-hop in the route will need to have at least this many
@ -2352,32 +2348,32 @@ message Route {
*/
int64 total_amt = 3 [deprecated = true];
/**
/*
Contains details concerning the specific forwarding details at each hop.
*/
repeated Hop hops = 4;
/**
/*
The total fees in millisatoshis.
*/
int64 total_fees_msat = 5;
/**
/*
The total amount in millisatoshis.
*/
int64 total_amt_msat = 6;
}
message NodeInfoRequest {
/// The 33-byte hex-encoded compressed public of the target node
// The 33-byte hex-encoded compressed public of the target node
string pub_key = 1;
/// If true, will include all known channels associated with the node.
// If true, will include all known channels associated with the node.
bool include_channels = 2;
}
message NodeInfo {
/**
/*
An individual vertex/node within the channel graph. A node is
connected to other nodes by one or more channel edges emanating from it. As
the graph is directed, a node will also have an incoming edge attached to
@ -2385,17 +2381,17 @@ message NodeInfo {
*/
LightningNode node = 1;
/// The total number of channels for the node.
// The total number of channels for the node.
uint32 num_channels = 2;
/// The sum of all channels capacity for the node, denominated in satoshis.
// The sum of all channels capacity for the node, denominated in satoshis.
int64 total_capacity = 3;
/// A list of all public channels for the node.
// A list of all public channels for the node.
repeated ChannelEdge channels = 4;
}
/**
/*
An individual vertex/node within the channel graph. A node is
connected to other nodes by one or more channel edges emanating from it. As the
graph is directed, a node will also have an incoming edge attached to it for
@ -2425,7 +2421,7 @@ message RoutingPolicy {
uint32 last_update = 7;
}
/**
/*
A fully authenticated channel along with all its unique attributes.
Once an authenticated channel announcement has been processed on the network,
then an instance of ChannelEdgeInfo encapsulating the channels attributes is
@ -2433,7 +2429,7 @@ stored. The other portions relevant to routing policy of a channel are stored
within a ChannelEdgePolicy for each direction of the channel.
*/
message ChannelEdge {
/**
/*
The unique channel ID for the channel. The first 3 bytes are the block
height, the next 3 the index within the block, and the last 2 bytes are the
output index for the channel.
@ -2453,7 +2449,7 @@ message ChannelEdge {
}
message ChannelGraphRequest {
/**
/*
Whether unannounced channels are included in the response or not. If set,
unannounced channels are included. Unannounced channels are both private
channels, and public channels that are not yet announced to the network.
@ -2461,12 +2457,12 @@ message ChannelGraphRequest {
bool include_unannounced = 1;
}
/// Returns a new instance of the directed channel graph.
// Returns a new instance of the directed channel graph.
message ChannelGraph {
/// The list of `LightningNode`s in this channel graph
// The list of `LightningNode`s in this channel graph
repeated LightningNode nodes = 1;
/// The list of `ChannelEdge`s in this channel graph
// The list of `ChannelEdge`s in this channel graph
repeated ChannelEdge edges = 2;
}
@ -2476,12 +2472,12 @@ enum NodeMetricType {
}
message NodeMetricsRequest {
/// The requested node metrics.
// The requested node metrics.
repeated NodeMetricType types = 1;
}
message NodeMetricsResponse {
/**
/*
Betweenness centrality is the sum of the ratio of shortest paths that pass
through the node for each pair of nodes in the graph (not counting paths
starting or ending at this node).
@ -2492,15 +2488,15 @@ message NodeMetricsResponse {
}
message FloatMetric {
/// Arbitrary float value.
// Arbitrary float value.
double value = 1;
/// The value normalized to [0,1] or [-1,1].
// The value normalized to [0,1] or [-1,1].
double normalized_value = 2;
}
message ChanInfoRequest {
/**
/*
The unique channel ID for the channel. The first 3 bytes are the block
height, the next 3 the index within the block, and the last 2 bytes are the
output index for the channel.
@ -2552,7 +2548,7 @@ message NodeUpdate {
string color = 5;
}
message ChannelEdgeUpdate {
/**
/*
The unique channel ID for the channel. The first 3 bytes are the block
height, the next 3 the index within the block, and the last 2 bytes are the
output index for the channel.
@ -2569,7 +2565,7 @@ message ChannelEdgeUpdate {
string connecting_node = 6;
}
message ClosedChannelUpdate {
/**
/*
The unique channel ID for the channel. The first 3 bytes are the block
height, the next 3 the index within the block, and the last 2 bytes are the
output index for the channel.
@ -2581,27 +2577,27 @@ message ClosedChannelUpdate {
}
message HopHint {
/// The public key of the node at the start of the channel.
// The public key of the node at the start of the channel.
string node_id = 1;
/// The unique identifier of the channel.
// The unique identifier of the channel.
uint64 chan_id = 2 [jstype = JS_STRING];
/// The base fee of the channel denominated in millisatoshis.
// The base fee of the channel denominated in millisatoshis.
uint32 fee_base_msat = 3;
/**
/*
The fee rate of the channel for sending one satoshi across it denominated in
millionths of a satoshi.
*/
uint32 fee_proportional_millionths = 4;
/// The time-lock delta of the channel.
// The time-lock delta of the channel.
uint32 cltv_expiry_delta = 5;
}
message RouteHint {
/**
/*
A list of hop hints that when chained together can assist in reaching a
specific destination.
*/
@ -2609,7 +2605,7 @@ message RouteHint {
}
message Invoice {
/**
/*
An optional memo to attach along with the invoice. Used for record keeping
purposes for the invoice's creator, and will also be set in the description
field of the encoded payment request if the description_hash field is not
@ -2619,50 +2615,50 @@ message Invoice {
reserved 2;
/**
/*
The hex-encoded preimage (32 byte) which will allow settling an incoming
HTLC payable to this preimage. When using REST, this field must be encoded
as base64.
*/
bytes r_preimage = 3;
/**
/*
The hash of the preimage. When using REST, this field must be encoded as
base64.
*/
bytes r_hash = 4;
/**
/*
The value of this invoice in satoshis
The fields value and value_msat are mutually exclusive.
*/
int64 value = 5;
/**
/*
The value of this invoice in millisatoshis
The fields value and value_msat are mutually exclusive.
*/
int64 value_msat = 23;
/// Whether this invoice has been fulfilled
// Whether this invoice has been fulfilled
bool settled = 6 [deprecated = true];
/// When this invoice was created
// When this invoice was created
int64 creation_date = 7;
/// When this invoice was settled
// When this invoice was settled
int64 settle_date = 8;
/**
/*
A bare-bones invoice for a payment within the Lightning Network. With the
details of the invoice, the sender has all the data necessary to send a
payment to the recipient.
*/
string payment_request = 9;
/**
/*
Hash (SHA-256) of a description of the payment. Used if the description of
payment (memo) is too long to naturally fit within the description field
of an encoded payment request. When using REST, this field must be encoded
@ -2670,25 +2666,25 @@ message Invoice {
*/
bytes description_hash = 10;
/// Payment request expiry time in seconds. Default is 3600 (1 hour).
// Payment request expiry time in seconds. Default is 3600 (1 hour).
int64 expiry = 11;
/// Fallback on-chain address.
// Fallback on-chain address.
string fallback_addr = 12;
/// Delta to use for the time-lock of the CLTV extended to the final hop.
// Delta to use for the time-lock of the CLTV extended to the final hop.
uint64 cltv_expiry = 13;
/**
/*
Route hints that can each be individually used to assist in reaching the
invoice's destination.
*/
repeated RouteHint route_hints = 14;
/// Whether this invoice should include routing hints for private channels.
// Whether this invoice should include routing hints for private channels.
bool private = 15;
/**
/*
The "add" index of this invoice. Each newly created invoice will increment
this index making it monotonically increasing. Callers to the
SubscribeInvoices call can use this to instantly get notified of all added
@ -2696,7 +2692,7 @@ message Invoice {
*/
uint64 add_index = 16;
/**
/*
The "settle" index of this invoice. Each newly settled invoice will
increment this index making it monotonically increasing. Callers to the
SubscribeInvoices call can use this to instantly get notified of all
@ -2704,10 +2700,10 @@ message Invoice {
*/
uint64 settle_index = 17;
/// Deprecated, use amt_paid_sat or amt_paid_msat.
// Deprecated, use amt_paid_sat or amt_paid_msat.
int64 amt_paid = 18 [deprecated = true];
/**
/*
The amount that was accepted for this invoice, in satoshis. This will ONLY
be set if this invoice has been settled. We provide this field as if the
invoice was created with a zero value, then we need to record what amount
@ -2717,7 +2713,7 @@ message Invoice {
*/
int64 amt_paid_sat = 19;
/**
/*
The amount that was accepted for this invoice, in millisatoshis. This will
ONLY be set if this invoice has been settled. We provide this field as if
the invoice was created with a zero value, then we need to record what
@ -2734,18 +2730,18 @@ message Invoice {
ACCEPTED = 3;
}
/**
/*
The state the invoice is in.
*/
InvoiceState state = 21;
/// List of HTLCs paying to this invoice [EXPERIMENTAL].
// List of HTLCs paying to this invoice [EXPERIMENTAL].
repeated InvoiceHTLC htlcs = 22;
/// List of features advertised on the invoice.
// List of features advertised on the invoice.
map<uint32, Feature> features = 24;
/**
/*
Indicates if this invoice was a spontaneous payment that arrived via keysend
[EXPERIMENTAL].
*/
@ -2758,50 +2754,50 @@ enum InvoiceHTLCState {
CANCELED = 2;
}
/// Details of an HTLC that paid to an invoice
// Details of an HTLC that paid to an invoice
message InvoiceHTLC {
/// Short channel id over which the htlc was received.
// Short channel id over which the htlc was received.
uint64 chan_id = 1 [jstype = JS_STRING];
/// Index identifying the htlc on the channel.
// Index identifying the htlc on the channel.
uint64 htlc_index = 2;
/// The amount of the htlc in msat.
// The amount of the htlc in msat.
uint64 amt_msat = 3;
/// Block height at which this htlc was accepted.
// Block height at which this htlc was accepted.
int32 accept_height = 4;
/// Time at which this htlc was accepted.
// Time at which this htlc was accepted.
int64 accept_time = 5;
/// Time at which this htlc was settled or canceled.
// Time at which this htlc was settled or canceled.
int64 resolve_time = 6;
/// Block height at which this htlc expires.
// Block height at which this htlc expires.
int32 expiry_height = 7;
/// Current state the htlc is in.
// Current state the htlc is in.
InvoiceHTLCState state = 8;
/// Custom tlv records.
// Custom tlv records.
map<uint64, bytes> custom_records = 9;
/// The total amount of the mpp payment in msat.
// The total amount of the mpp payment in msat.
uint64 mpp_total_amt_msat = 10;
}
message AddInvoiceResponse {
bytes r_hash = 1;
/**
/*
A bare-bones invoice for a payment within the Lightning Network. With the
details of the invoice, the sender has all the data necessary to send a
payment to the recipient.
*/
string payment_request = 2;
/**
/*
The "add" index of this invoice. Each newly created invoice will increment
this index making it monotonically increasing. Callers to the
SubscribeInvoices call can use this to instantly get notified of all added
@ -2810,7 +2806,7 @@ message AddInvoiceResponse {
uint64 add_index = 16;
}
message PaymentHash {
/**
/*
The hex-encoded payment hash of the invoice to be looked up. The passed
payment hash must be exactly 32 bytes, otherwise an error is returned.
Deprecated now that the REST gateway supports base64 encoding of bytes
@ -2818,7 +2814,7 @@ message PaymentHash {
*/
string r_hash_str = 1 [deprecated = true];
/**
/*
The payment hash of the invoice to be looked up. When using REST, this field
must be encoded as base64.
*/
@ -2826,41 +2822,41 @@ message PaymentHash {
}
message ListInvoiceRequest {
/**
/*
If set, only invoices that are not settled and not canceled will be returned
in the response.
*/
bool pending_only = 1;
/**
/*
The index of an invoice that will be used as either the start or end of a
query to determine which invoices should be returned in the response.
*/
uint64 index_offset = 4;
/// The max number of invoices to return in the response to this query.
// The max number of invoices to return in the response to this query.
uint64 num_max_invoices = 5;
/**
/*
If set, the invoices returned will result from seeking backwards from the
specified index offset. This can be used to paginate backwards.
*/
bool reversed = 6;
}
message ListInvoiceResponse {
/**
/*
A list of invoices from the time slice of the time series specified in the
request.
*/
repeated Invoice invoices = 1;
/**
/*
The index of the last item in the set of returned invoices. This can be used
to seek further, pagination style.
*/
uint64 last_index_offset = 2;
/**
/*
The index of the last item in the set of returned invoices. This can be used
to seek backwards, pagination style.
*/
@ -2868,7 +2864,7 @@ message ListInvoiceResponse {
}
message InvoiceSubscription {
/**
/*
If specified (non-zero), then we'll first start by sending out
notifications for all added indexes with an add_index greater than this
value. This allows callers to catch up on any events they missed while they
@ -2876,7 +2872,7 @@ message InvoiceSubscription {
*/
uint64 add_index = 1;
/**
/*
If specified (non-zero), then we'll first start by sending out
notifications for all settled indexes with an settle_index greater than
this value. This allows callers to catch up on any events they missed while
@ -2886,64 +2882,64 @@ message InvoiceSubscription {
}
enum PaymentFailureReason {
/**
/*
Payment isn't failed (yet).
*/
FAILURE_REASON_NONE = 0;
/**
/*
There are more routes to try, but the payment timeout was exceeded.
*/
FAILURE_REASON_TIMEOUT = 1;
/**
/*
All possible routes were tried and failed permanently. Or were no
routes to the destination at all.
*/
FAILURE_REASON_NO_ROUTE = 2;
/**
/*
A non-recoverable error has occured.
*/
FAILURE_REASON_ERROR = 3;
/**
/*
Payment details incorrect (unknown hash, invalid amt or
invalid final cltv delta)
*/
FAILURE_REASON_INCORRECT_PAYMENT_DETAILS = 4;
/**
/*
Insufficient local balance.
*/
FAILURE_REASON_INSUFFICIENT_BALANCE = 5;
}
message Payment {
/// The payment hash
// The payment hash
string payment_hash = 1;
/// Deprecated, use value_sat or value_msat.
// Deprecated, use value_sat or value_msat.
int64 value = 2 [deprecated = true];
/// Deprecated, use creation_time_ns
// Deprecated, use creation_time_ns
int64 creation_date = 3 [deprecated = true];
reserved 4;
/// Deprecated, use fee_sat or fee_msat.
// Deprecated, use fee_sat or fee_msat.
int64 fee = 5 [deprecated = true];
/// The payment preimage
// The payment preimage
string payment_preimage = 6;
/// The value of the payment in satoshis
// The value of the payment in satoshis
int64 value_sat = 7;
/// The value of the payment in milli-satoshis
// The value of the payment in milli-satoshis
int64 value_msat = 8;
/// The optional payment request being fulfilled.
// The optional payment request being fulfilled.
string payment_request = 9;
enum PaymentStatus {
@ -2956,19 +2952,19 @@ message Payment {
// The status of the payment.
PaymentStatus status = 10;
/// The fee paid for this payment in satoshis
// The fee paid for this payment in satoshis
int64 fee_sat = 11;
/// The fee paid for this payment in milli-satoshis
// The fee paid for this payment in milli-satoshis
int64 fee_msat = 12;
/// The time in UNIX nanoseconds at which the payment was created.
// The time in UNIX nanoseconds at which the payment was created.
int64 creation_time_ns = 13;
/// The HTLCs made in attempt to settle the payment.
// The HTLCs made in attempt to settle the payment.
repeated HTLCAttempt htlcs = 14;
/**
/*
The creation index of this payment. Each payment can be uniquely identified
by this index, which may not strictly increment by 1 for payments made in
older versions of lnd.
@ -2985,16 +2981,16 @@ message HTLCAttempt {
FAILED = 2;
}
/// The status of the HTLC.
// The status of the HTLC.
HTLCStatus status = 1;
/// The route taken by this HTLC.
// The route taken by this HTLC.
Route route = 2;
/// The time in UNIX nanoseconds at which this HTLC was sent.
// The time in UNIX nanoseconds at which this HTLC was sent.
int64 attempt_time_ns = 3;
/**
/*
The time in UNIX nanoseconds at which this HTLC was settled or failed.
This value will not be set if the HTLC is still IN_FLIGHT.
*/
@ -3005,7 +3001,7 @@ message HTLCAttempt {
}
message ListPaymentsRequest {
/**
/*
If true, then return payments that have not yet fully completed. This means
that pending payments, as well as failed payments will show up if this
field is set to true. This flag doesn't change the meaning of the indices,
@ -3013,7 +3009,7 @@ message ListPaymentsRequest {
*/
bool include_incomplete = 1;
/**
/*
The index of a payment that will be used as either the start or end of a
query to determine which payments should be returned in the response. The
index_offset is exclusive. In the case of a zero index_offset, the query
@ -3022,10 +3018,10 @@ message ListPaymentsRequest {
*/
uint64 index_offset = 2;
/// The maximal number of payments returned in the response to this query.
// The maximal number of payments returned in the response to this query.
uint64 max_payments = 3;
/**
/*
If set, the payments returned will result from seeking backwards from the
specified index offset. This can be used to paginate backwards. The order
of the returned payments is always oldest first (ascending index order).
@ -3034,16 +3030,16 @@ message ListPaymentsRequest {
}
message ListPaymentsResponse {
/// The list of payments
// The list of payments
repeated Payment payments = 1;
/**
/*
The index of the first item in the set of returned payments. This can be
used as the index_offset to continue seeking backwards in the next request.
*/
uint64 first_index_offset = 2;
/**
/*
The index of the last item in the set of returned payments. This can be used
as the index_offset to continue seeking forwards in the next request.
*/
@ -3072,7 +3068,7 @@ message DebugLevelResponse {
}
message PayReqString {
/// The payment request string to be decoded
// The payment request string to be decoded
string pay_req = 1;
}
message PayReq {
@ -3120,125 +3116,125 @@ message Feature {
message FeeReportRequest {
}
message ChannelFeeReport {
/// The short channel id that this fee report belongs to.
// The short channel id that this fee report belongs to.
uint64 chan_id = 5 [jstype = JS_STRING];
/// The channel that this fee report belongs to.
// The channel that this fee report belongs to.
string channel_point = 1;
/// The base fee charged regardless of the number of milli-satoshis sent.
// The base fee charged regardless of the number of milli-satoshis sent.
int64 base_fee_msat = 2;
/// The amount charged per milli-satoshis transferred expressed in
/// millionths of a satoshi.
// The amount charged per milli-satoshis transferred expressed in
// millionths of a satoshi.
int64 fee_per_mil = 3;
/// The effective fee rate in milli-satoshis. Computed by dividing the
/// fee_per_mil value by 1 million.
// The effective fee rate in milli-satoshis. Computed by dividing the
// fee_per_mil value by 1 million.
double fee_rate = 4;
}
message FeeReportResponse {
/// An array of channel fee reports which describes the current fee schedule
/// for each channel.
// An array of channel fee reports which describes the current fee schedule
// for each channel.
repeated ChannelFeeReport channel_fees = 1;
/// The total amount of fee revenue (in satoshis) the switch has collected
/// over the past 24 hrs.
// The total amount of fee revenue (in satoshis) the switch has collected
// over the past 24 hrs.
uint64 day_fee_sum = 2;
/// The total amount of fee revenue (in satoshis) the switch has collected
/// over the past 1 week.
// The total amount of fee revenue (in satoshis) the switch has collected
// over the past 1 week.
uint64 week_fee_sum = 3;
/// The total amount of fee revenue (in satoshis) the switch has collected
/// over the past 1 month.
// The total amount of fee revenue (in satoshis) the switch has collected
// over the past 1 month.
uint64 month_fee_sum = 4;
}
message PolicyUpdateRequest {
oneof scope {
/// If set, then this update applies to all currently active channels.
// If set, then this update applies to all currently active channels.
bool global = 1;
/// If set, this update will target a specific channel.
// If set, this update will target a specific channel.
ChannelPoint chan_point = 2;
}
/// The base fee charged regardless of the number of milli-satoshis sent.
// The base fee charged regardless of the number of milli-satoshis sent.
int64 base_fee_msat = 3;
/// The effective fee rate in milli-satoshis. The precision of this value
/// goes up to 6 decimal places, so 1e-6.
// The effective fee rate in milli-satoshis. The precision of this value
// goes up to 6 decimal places, so 1e-6.
double fee_rate = 4;
/// The required timelock delta for HTLCs forwarded over the channel.
// The required timelock delta for HTLCs forwarded over the channel.
uint32 time_lock_delta = 5;
/// If set, the maximum HTLC size in milli-satoshis. If unset, the maximum
/// HTLC will be unchanged.
// If set, the maximum HTLC size in milli-satoshis. If unset, the maximum
// HTLC will be unchanged.
uint64 max_htlc_msat = 6;
/// The minimum HTLC size in milli-satoshis. Only applied if
/// min_htlc_msat_specified is true.
// The minimum HTLC size in milli-satoshis. Only applied if
// min_htlc_msat_specified is true.
uint64 min_htlc_msat = 7;
/// If true, min_htlc_msat is applied.
// If true, min_htlc_msat is applied.
bool min_htlc_msat_specified = 8;
}
message PolicyUpdateResponse {
}
message ForwardingHistoryRequest {
/// Start time is the starting point of the forwarding history request. All
/// records beyond this point will be included, respecting the end time, and
/// the index offset.
// Start time is the starting point of the forwarding history request. All
// records beyond this point will be included, respecting the end time, and
// the index offset.
uint64 start_time = 1;
/// End time is the end point of the forwarding history request. The
/// response will carry at most 50k records between the start time and the
/// end time. The index offset can be used to implement pagination.
// End time is the end point of the forwarding history request. The
// response will carry at most 50k records between the start time and the
// end time. The index offset can be used to implement pagination.
uint64 end_time = 2;
/// Index offset is the offset in the time series to start at. As each
/// response can only contain 50k records, callers can use this to skip
/// around within a packed time series.
// Index offset is the offset in the time series to start at. As each
// response can only contain 50k records, callers can use this to skip
// around within a packed time series.
uint32 index_offset = 3;
/// The max number of events to return in the response to this query.
// The max number of events to return in the response to this query.
uint32 num_max_events = 4;
}
message ForwardingEvent {
/// Timestamp is the time (unix epoch offset) that this circuit was
/// completed.
// Timestamp is the time (unix epoch offset) that this circuit was
// completed.
uint64 timestamp = 1;
/// The incoming channel ID that carried the HTLC that created the circuit.
// The incoming channel ID that carried the HTLC that created the circuit.
uint64 chan_id_in = 2 [jstype = JS_STRING];
/// The outgoing channel ID that carried the preimage that completed the
/// circuit.
// The outgoing channel ID that carried the preimage that completed the
// circuit.
uint64 chan_id_out = 4 [jstype = JS_STRING];
/// The total amount (in satoshis) of the incoming HTLC that created half
/// the circuit.
// The total amount (in satoshis) of the incoming HTLC that created half
// the circuit.
uint64 amt_in = 5;
/// The total amount (in satoshis) of the outgoing HTLC that created the
/// second half of the circuit.
// The total amount (in satoshis) of the outgoing HTLC that created the
// second half of the circuit.
uint64 amt_out = 6;
/// The total fee (in satoshis) that this payment circuit carried.
// The total fee (in satoshis) that this payment circuit carried.
uint64 fee = 7;
/// The total fee (in milli-satoshis) that this payment circuit carried.
// The total fee (in milli-satoshis) that this payment circuit carried.
uint64 fee_msat = 8;
/// The total amount (in milli-satoshis) of the incoming HTLC that created
/// half the circuit.
// The total amount (in milli-satoshis) of the incoming HTLC that created
// half the circuit.
uint64 amt_in_msat = 9;
/// The total amount (in milli-satoshis) of the outgoing HTLC that created
/// the second half of the circuit.
// The total amount (in milli-satoshis) of the outgoing HTLC that created
// the second half of the circuit.
uint64 amt_out_msat = 10;
// TODO(roasbeef): add settlement latency?
@ -3246,27 +3242,27 @@ message ForwardingEvent {
// * also list failures?
}
message ForwardingHistoryResponse {
/// A list of forwarding events from the time slice of the time series
/// specified in the request.
// A list of forwarding events from the time slice of the time series
// specified in the request.
repeated ForwardingEvent forwarding_events = 1;
/// The index of the last time in the set of returned forwarding events. Can
/// be used to seek further, pagination style.
// The index of the last time in the set of returned forwarding events. Can
// be used to seek further, pagination style.
uint32 last_offset_index = 2;
}
message ExportChannelBackupRequest {
/// The target channel point to obtain a back up for.
// The target channel point to obtain a back up for.
ChannelPoint chan_point = 1;
}
message ChannelBackup {
/**
/*
Identifies the channel that this backup belongs to.
*/
ChannelPoint chan_point = 1;
/**
/*
Is an encrypted single-chan backup. this can be passed to
RestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in
order to trigger the recovery protocol. When using REST, this field must be
@ -3276,12 +3272,12 @@ message ChannelBackup {
}
message MultiChanBackup {
/**
/*
Is the set of all channels that are included in this multi-channel backup.
*/
repeated ChannelPoint chan_points = 1;
/**
/*
A single encrypted blob containing all the static channel backups of the
channel listed above. This can be stored as a single file or blob, and
safely be replaced with any prior/future versions. When using REST, this
@ -3293,13 +3289,13 @@ message MultiChanBackup {
message ChanBackupExportRequest {
}
message ChanBackupSnapshot {
/**
/*
The set of new channels that have been added since the last channel backup
snapshot was requested.
*/
ChannelBackups single_chan_backups = 1;
/**
/*
A multi-channel backup that covers all open channels currently known to
lnd.
*/
@ -3307,7 +3303,7 @@ message ChanBackupSnapshot {
}
message ChannelBackups {
/**
/*
A set of single-chan static channel backups.
*/
repeated ChannelBackup chan_backups = 1;
@ -3315,12 +3311,12 @@ message ChannelBackups {
message RestoreChanBackupRequest {
oneof backup {
/**
/*
The channels to restore as a list of channel/backup pairs.
*/
ChannelBackups chan_backups = 1;
/**
/*
The channels to restore in the packed multi backup format. When using
REST, this field must be encoded as base64.
*/
@ -3337,24 +3333,24 @@ message VerifyChanBackupResponse {
}
message MacaroonPermission {
/// The entity a permission grants access to.
// The entity a permission grants access to.
string entity = 1;
/// The action that is granted.
// The action that is granted.
string action = 2;
}
message BakeMacaroonRequest {
/// The list of permissions the new macaroon should grant.
// The list of permissions the new macaroon should grant.
repeated MacaroonPermission permissions = 1;
}
message BakeMacaroonResponse {
/// The hex encoded macaroon, serialized in binary format.
// The hex encoded macaroon, serialized in binary format.
string macaroon = 1;
}
message Failure {
enum FailureCode {
/**
/*
The numbers assigned in this enumeration match the failure codes as
defined in BOLT #4. Because protobuf 3 requires enums to start with 0,
a RESERVED value is added.
@ -3385,61 +3381,61 @@ message Failure {
EXPIRY_TOO_FAR = 22;
MPP_TIMEOUT = 23;
/**
/*
An internal error occurred.
*/
INTERNAL_FAILURE = 997;
/**
/*
The error source is known, but the failure itself couldn't be decoded.
*/
UNKNOWN_FAILURE = 998;
/**
/*
An unreadable failure result is returned if the received failure message
cannot be decrypted. In that case the error source is unknown.
*/
UNREADABLE_FAILURE = 999;
}
/// Failure code as defined in the Lightning spec
// Failure code as defined in the Lightning spec
FailureCode code = 1;
reserved 2;
/// An optional channel update message.
// An optional channel update message.
ChannelUpdate channel_update = 3;
/// A failure type-dependent htlc value.
// A failure type-dependent htlc value.
uint64 htlc_msat = 4;
/// The sha256 sum of the onion payload.
// The sha256 sum of the onion payload.
bytes onion_sha_256 = 5;
/// A failure type-dependent cltv expiry value.
// A failure type-dependent cltv expiry value.
uint32 cltv_expiry = 6;
/// A failure type-dependent flags value.
// A failure type-dependent flags value.
uint32 flags = 7;
/**
/*
The position in the path of the intermediate or final node that generated
the failure message. Position zero is the sender node.
**/
uint32 failure_source_index = 8;
/// A failure type-dependent block height.
// A failure type-dependent block height.
uint32 height = 9;
}
message ChannelUpdate {
/**
/*
The signature that validates the announced data and proves the ownership
of node id.
*/
bytes signature = 1;
/**
/*
The target chain that this channel was opened within. This value
should be the genesis hash of the target chain. Along with the short
channel ID, this uniquely identifies the channel globally in a
@ -3447,26 +3443,26 @@ message ChannelUpdate {
*/
bytes chain_hash = 2;
/**
/*
The unique description of the funding transaction.
*/
uint64 chan_id = 3 [jstype = JS_STRING];
/**
/*
A timestamp that allows ordering in the case of multiple announcements.
We should ignore the message if timestamp is not greater than the
last-received.
*/
uint32 timestamp = 4;
/**
/*
The bitfield that describes whether optional fields are present in this
update. Currently, the least-significant bit must be set to 1 if the
optional field MaxHtlc is present.
*/
uint32 message_flags = 10;
/**
/*
The bitfield that describes additional meta-data concerning how the
update is to be interpreted. Currently, the least-significant bit must be
set to 0 if the creating node corresponds to the first node in the
@ -3475,7 +3471,7 @@ message ChannelUpdate {
*/
uint32 channel_flags = 5;
/**
/*
The minimum number of blocks this node requires to be added to the expiry
of HTLCs. This is a security parameter determined by the node operator.
This value represents the required gap between the time locks of the
@ -3483,29 +3479,29 @@ message ChannelUpdate {
*/
uint32 time_lock_delta = 6;
/**
/*
The minimum HTLC value which will be accepted.
*/
uint64 htlc_minimum_msat = 7;
/**
/*
The base fee that must be used for incoming HTLC's to this particular
channel. This value will be tacked onto the required for a payment
independent of the size of the payment.
*/
uint32 base_fee = 8;
/**
/*
The fee rate that will be charged per millionth of a satoshi.
*/
uint32 fee_rate = 9;
/**
/*
The maximum HTLC value which will be accepted.
*/
uint64 htlc_maximum_msat = 11;
/**
/*
The set of data that was appended to this message, some of which we may
not actually know how to iterate or parse. By holding onto this data, we
ensure that we're able to properly validate the set of signatures that

View File

@ -17,7 +17,7 @@
"paths": {
"/v1/balance/blockchain": {
"get": {
"summary": "* lncli: `walletbalance`\nWalletBalance returns total unspent outputs(confirmed and unconfirmed), all\nconfirmed unspent outputs and all unconfirmed unspent outputs under control\nof the wallet.",
"summary": "lncli: `walletbalance`\nWalletBalance returns total unspent outputs(confirmed and unconfirmed), all\nconfirmed unspent outputs and all unconfirmed unspent outputs under control\nof the wallet.",
"operationId": "WalletBalance",
"responses": {
"200": {
@ -34,7 +34,7 @@
},
"/v1/balance/channels": {
"get": {
"summary": "* lncli: `channelbalance`\nChannelBalance returns the total funds available across all open channels\nin satoshis.",
"summary": "lncli: `channelbalance`\nChannelBalance returns the total funds available across all open channels\nin satoshis.",
"operationId": "ChannelBalance",
"responses": {
"200": {
@ -51,7 +51,7 @@
},
"/v1/channels": {
"get": {
"summary": "* lncli: `listchannels`\nListChannels returns a description of all the open channels that this node\nis a participant in.",
"summary": "lncli: `listchannels`\nListChannels returns a description of all the open channels that this node\nis a participant in.",
"operationId": "ListChannels",
"responses": {
"200": {
@ -92,7 +92,7 @@
},
{
"name": "peer",
"description": "*\nFilters the response for channels with a target peer's pubkey. If peer is\nempty, all channels will be returned.",
"description": "Filters the response for channels with a target peer's pubkey. If peer is\nempty, all channels will be returned.",
"in": "query",
"required": false,
"type": "string",
@ -104,7 +104,7 @@
]
},
"post": {
"summary": "*\nOpenChannelSync is a synchronous version of the OpenChannel RPC call. This\ncall is meant to be consumed by clients to the REST proxy. As with all\nother sync calls, all byte slices are intended to be populated as hex\nencoded strings.",
"summary": "OpenChannelSync is a synchronous version of the OpenChannel RPC call. This\ncall is meant to be consumed by clients to the REST proxy. As with all\nother sync calls, all byte slices are intended to be populated as hex\nencoded strings.",
"operationId": "OpenChannelSync",
"responses": {
"200": {
@ -131,7 +131,7 @@
},
"/v1/channels/abandon/{channel_point.funding_txid_str}/{channel_point.output_index}": {
"delete": {
"summary": "* lncli: `abandonchannel`\nAbandonChannel removes all channel state from the database except for a\nclose summary. This method can be used to get rid of permanently unusable\nchannels due to bugs fixed in newer versions of lnd. Only available\nwhen in debug builds of lnd.",
"summary": "lncli: `abandonchannel`\nAbandonChannel removes all channel state from the database except for a\nclose summary. This method can be used to get rid of permanently unusable\nchannels due to bugs fixed in newer versions of lnd. Only available\nwhen in debug builds of lnd.",
"operationId": "AbandonChannel",
"responses": {
"200": {
@ -144,14 +144,14 @@
"parameters": [
{
"name": "channel_point.funding_txid_str",
"description": "*\nHex-encoded string representing the byte-reversed hash of the funding\ntransaction.",
"description": "Hex-encoded string representing the byte-reversed hash of the funding\ntransaction.",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "channel_point.output_index",
"description": "/ The index of the output of the funding transaction",
"description": "The index of the output of the funding transaction",
"in": "path",
"required": true,
"type": "integer",
@ -159,7 +159,7 @@
},
{
"name": "channel_point.funding_txid_bytes",
"description": "*\nTxid of the funding transaction. When using REST, this field must be\nencoded as base64.",
"description": "Txid of the funding transaction. When using REST, this field must be\nencoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -173,7 +173,7 @@
},
"/v1/channels/backup": {
"get": {
"summary": "*\nExportAllChannelBackups returns static channel backups for all existing\nchannels known to lnd. A set of regular singular static channel backups for\neach channel are returned. Additionally, a multi-channel backup is returned\nas well, which contains a single encrypted blob containing the backups of\neach channel.",
"summary": "ExportAllChannelBackups returns static channel backups for all existing\nchannels known to lnd. A set of regular singular static channel backups for\neach channel are returned. Additionally, a multi-channel backup is returned\nas well, which contains a single encrypted blob containing the backups of\neach channel.",
"operationId": "ExportAllChannelBackups",
"responses": {
"200": {
@ -190,7 +190,7 @@
},
"/v1/channels/backup/restore": {
"post": {
"summary": "* lncli: `restorechanbackup`\nRestoreChannelBackups accepts a set of singular channel backups, or a\nsingle encrypted multi-chan backup and attempts to recover any funds\nremaining within the channel. If we are able to unpack the backup, then the\nnew channel will be shown under listchannels, as well as pending channels.",
"summary": "lncli: `restorechanbackup`\nRestoreChannelBackups accepts a set of singular channel backups, or a\nsingle encrypted multi-chan backup and attempts to recover any funds\nremaining within the channel. If we are able to unpack the backup, then the\nnew channel will be shown under listchannels, as well as pending channels.",
"operationId": "RestoreChannelBackups",
"responses": {
"200": {
@ -217,7 +217,7 @@
},
"/v1/channels/backup/verify": {
"post": {
"summary": "*\nVerifyChanBackup allows a caller to verify the integrity of a channel backup\nsnapshot. This method will accept either a packed Single or a packed Multi.\nSpecifying both will result in an error.",
"summary": "VerifyChanBackup allows a caller to verify the integrity of a channel backup\nsnapshot. This method will accept either a packed Single or a packed Multi.\nSpecifying both will result in an error.",
"operationId": "VerifyChanBackup",
"responses": {
"200": {
@ -244,7 +244,7 @@
},
"/v1/channels/backup/{chan_point.funding_txid_str}/{chan_point.output_index}": {
"get": {
"summary": "* lncli: `exportchanbackup`\nExportChannelBackup attempts to return an encrypted static channel backup\nfor the target channel identified by it channel point. The backup is\nencrypted with a key generated from the aezeed seed of the user. The\nreturned backup can either be restored using the RestoreChannelBackup\nmethod once lnd is running, or via the InitWallet and UnlockWallet methods\nfrom the WalletUnlocker service.",
"summary": "lncli: `exportchanbackup`\nExportChannelBackup attempts to return an encrypted static channel backup\nfor the target channel identified by it channel point. The backup is\nencrypted with a key generated from the aezeed seed of the user. The\nreturned backup can either be restored using the RestoreChannelBackup\nmethod once lnd is running, or via the InitWallet and UnlockWallet methods\nfrom the WalletUnlocker service.",
"operationId": "ExportChannelBackup",
"responses": {
"200": {
@ -257,14 +257,14 @@
"parameters": [
{
"name": "chan_point.funding_txid_str",
"description": "*\nHex-encoded string representing the byte-reversed hash of the funding\ntransaction.",
"description": "Hex-encoded string representing the byte-reversed hash of the funding\ntransaction.",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "chan_point.output_index",
"description": "/ The index of the output of the funding transaction",
"description": "The index of the output of the funding transaction",
"in": "path",
"required": true,
"type": "integer",
@ -272,7 +272,7 @@
},
{
"name": "chan_point.funding_txid_bytes",
"description": "*\nTxid of the funding transaction. When using REST, this field must be\nencoded as base64.",
"description": "Txid of the funding transaction. When using REST, this field must be\nencoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -286,7 +286,7 @@
},
"/v1/channels/closed": {
"get": {
"summary": "* lncli: `closedchannels`\nClosedChannels returns a description of all the closed channels that\nthis node was a participant in.",
"summary": "lncli: `closedchannels`\nClosedChannels returns a description of all the closed channels that\nthis node was a participant in.",
"operationId": "ClosedChannels",
"responses": {
"200": {
@ -347,7 +347,7 @@
},
"/v1/channels/pending": {
"get": {
"summary": "* lncli: `pendingchannels`\nPendingChannels returns a list of all the channels that are currently\nconsidered \"pending\". A channel is pending if it has finished the funding\nworkflow and is waiting for confirmations for the funding txn, or is in the\nprocess of closure, either initiated cooperatively or non-cooperatively.",
"summary": "lncli: `pendingchannels`\nPendingChannels returns a list of all the channels that are currently\nconsidered \"pending\". A channel is pending if it has finished the funding\nworkflow and is waiting for confirmations for the funding txn, or is in the\nprocess of closure, either initiated cooperatively or non-cooperatively.",
"operationId": "PendingChannels",
"responses": {
"200": {
@ -364,7 +364,7 @@
},
"/v1/channels/transactions": {
"post": {
"summary": "*\nSendPaymentSync is the synchronous non-streaming version of SendPayment.\nThis RPC is intended to be consumed by clients of the REST proxy.\nAdditionally, this RPC expects the destination's public key and the payment\nhash (if any) to be encoded as hex strings.",
"summary": "SendPaymentSync is the synchronous non-streaming version of SendPayment.\nThis RPC is intended to be consumed by clients of the REST proxy.\nAdditionally, this RPC expects the destination's public key and the payment\nhash (if any) to be encoded as hex strings.",
"operationId": "SendPaymentSync",
"responses": {
"200": {
@ -391,7 +391,7 @@
},
"/v1/channels/transactions/route": {
"post": {
"summary": "*\nSendToRouteSync is a synchronous version of SendToRoute. It Will block\nuntil the payment either fails or succeeds.",
"summary": "SendToRouteSync is a synchronous version of SendToRoute. It Will block\nuntil the payment either fails or succeeds.",
"operationId": "SendToRouteSync",
"responses": {
"200": {
@ -418,7 +418,7 @@
},
"/v1/channels/{channel_point.funding_txid_str}/{channel_point.output_index}": {
"delete": {
"summary": "* lncli: `closechannel`\nCloseChannel attempts to close an active channel identified by its channel\noutpoint (ChannelPoint). The actions of this method can additionally be\naugmented to attempt a force close after a timeout period in the case of an\ninactive peer. If a non-force close (cooperative closure) is requested,\nthen the user can specify either a target number of blocks until the\nclosure transaction is confirmed, or a manual fee rate. If neither are\nspecified, then a default lax, block confirmation target is used.",
"summary": "lncli: `closechannel`\nCloseChannel attempts to close an active channel identified by its channel\noutpoint (ChannelPoint). The actions of this method can additionally be\naugmented to attempt a force close after a timeout period in the case of an\ninactive peer. If a non-force close (cooperative closure) is requested,\nthen the user can specify either a target number of blocks until the\nclosure transaction is confirmed, or a manual fee rate. If neither are\nspecified, then a default lax, block confirmation target is used.",
"operationId": "CloseChannel",
"responses": {
"200": {
@ -431,14 +431,14 @@
"parameters": [
{
"name": "channel_point.funding_txid_str",
"description": "*\nHex-encoded string representing the byte-reversed hash of the funding\ntransaction.",
"description": "Hex-encoded string representing the byte-reversed hash of the funding\ntransaction.",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "channel_point.output_index",
"description": "/ The index of the output of the funding transaction",
"description": "The index of the output of the funding transaction",
"in": "path",
"required": true,
"type": "integer",
@ -446,7 +446,7 @@
},
{
"name": "channel_point.funding_txid_bytes",
"description": "*\nTxid of the funding transaction. When using REST, this field must be\nencoded as base64.",
"description": "Txid of the funding transaction. When using REST, this field must be\nencoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -454,7 +454,7 @@
},
{
"name": "force",
"description": "/ If true, then the channel will be closed forcibly. This means the\n/ current commitment transaction will be signed and broadcast.",
"description": "If true, then the channel will be closed forcibly. This means the\ncurrent commitment transaction will be signed and broadcast.",
"in": "query",
"required": false,
"type": "boolean",
@ -462,7 +462,7 @@
},
{
"name": "target_conf",
"description": "/ The target number of blocks that the closure transaction should be\n/ confirmed by.",
"description": "The target number of blocks that the closure transaction should be\nconfirmed by.",
"in": "query",
"required": false,
"type": "integer",
@ -470,7 +470,7 @@
},
{
"name": "sat_per_byte",
"description": "/ A manual fee rate set in sat/byte that should be used when crafting the\n/ closure transaction.",
"description": "A manual fee rate set in sat/byte that should be used when crafting the\nclosure transaction.",
"in": "query",
"required": false,
"type": "string",
@ -491,7 +491,7 @@
},
"/v1/chanpolicy": {
"post": {
"summary": "* lncli: `updatechanpolicy`\nUpdateChannelPolicy allows the caller to update the fee schedule and\nchannel policies for all channels globally, or a particular channel.",
"summary": "lncli: `updatechanpolicy`\nUpdateChannelPolicy allows the caller to update the fee schedule and\nchannel policies for all channels globally, or a particular channel.",
"operationId": "UpdateChannelPolicy",
"responses": {
"200": {
@ -518,7 +518,7 @@
},
"/v1/fees": {
"get": {
"summary": "* lncli: `feereport`\nFeeReport allows the caller to obtain a report detailing the current fee\nschedule enforced by the node globally for each channel.",
"summary": "lncli: `feereport`\nFeeReport allows the caller to obtain a report detailing the current fee\nschedule enforced by the node globally for each channel.",
"operationId": "FeeReport",
"responses": {
"200": {
@ -535,7 +535,7 @@
},
"/v1/getinfo": {
"get": {
"summary": "* lncli: `getinfo`\nGetInfo returns general information concerning the lightning node including\nit's identity pubkey, alias, the chains it is connected to, and information\nconcerning the number of open+pending channels.",
"summary": "lncli: `getinfo`\nGetInfo returns general information concerning the lightning node including\nit's identity pubkey, alias, the chains it is connected to, and information\nconcerning the number of open+pending channels.",
"operationId": "GetInfo",
"responses": {
"200": {
@ -552,7 +552,7 @@
},
"/v1/graph": {
"get": {
"summary": "* lncli: `describegraph`\nDescribeGraph returns a description of the latest graph state from the\npoint of view of the node. The graph information is partitioned into two\ncomponents: all the nodes/vertexes, and all the edges that connect the\nvertexes themselves. As this is a directed graph, the edges also contain\nthe node directional specific routing policy which includes: the time lock\ndelta, fee information, etc.",
"summary": "lncli: `describegraph`\nDescribeGraph returns a description of the latest graph state from the\npoint of view of the node. The graph information is partitioned into two\ncomponents: all the nodes/vertexes, and all the edges that connect the\nvertexes themselves. As this is a directed graph, the edges also contain\nthe node directional specific routing policy which includes: the time lock\ndelta, fee information, etc.",
"operationId": "DescribeGraph",
"responses": {
"200": {
@ -565,7 +565,7 @@
"parameters": [
{
"name": "include_unannounced",
"description": "*\nWhether unannounced channels are included in the response or not. If set,\nunannounced channels are included. Unannounced channels are both private\nchannels, and public channels that are not yet announced to the network.",
"description": "Whether unannounced channels are included in the response or not. If set,\nunannounced channels are included. Unannounced channels are both private\nchannels, and public channels that are not yet announced to the network.",
"in": "query",
"required": false,
"type": "boolean",
@ -579,7 +579,7 @@
},
"/v1/graph/edge/{chan_id}": {
"get": {
"summary": "* lncli: `getchaninfo`\nGetChanInfo returns the latest authenticated network announcement for the\ngiven channel identified by its channel ID: an 8-byte integer which\nuniquely identifies the location of transaction's funding output within the\nblockchain.",
"summary": "lncli: `getchaninfo`\nGetChanInfo returns the latest authenticated network announcement for the\ngiven channel identified by its channel ID: an 8-byte integer which\nuniquely identifies the location of transaction's funding output within the\nblockchain.",
"operationId": "GetChanInfo",
"responses": {
"200": {
@ -592,7 +592,7 @@
"parameters": [
{
"name": "chan_id",
"description": "*\nThe unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel.",
"description": "The unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel.",
"in": "path",
"required": true,
"type": "string",
@ -606,7 +606,7 @@
},
"/v1/graph/info": {
"get": {
"summary": "* lncli: `getnetworkinfo`\nGetNetworkInfo returns some basic stats about the known channel graph from\nthe point of view of the node.",
"summary": "lncli: `getnetworkinfo`\nGetNetworkInfo returns some basic stats about the known channel graph from\nthe point of view of the node.",
"operationId": "GetNetworkInfo",
"responses": {
"200": {
@ -623,7 +623,7 @@
},
"/v1/graph/node/{pub_key}": {
"get": {
"summary": "* lncli: `getnodeinfo`\nGetNodeInfo returns the latest advertised, aggregated, and authenticated\nchannel information for the specified node identified by its public key.",
"summary": "lncli: `getnodeinfo`\nGetNodeInfo returns the latest advertised, aggregated, and authenticated\nchannel information for the specified node identified by its public key.",
"operationId": "GetNodeInfo",
"responses": {
"200": {
@ -636,14 +636,14 @@
"parameters": [
{
"name": "pub_key",
"description": "/ The 33-byte hex-encoded compressed public of the target node",
"description": "The 33-byte hex-encoded compressed public of the target node",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "include_channels",
"description": "/ If true, will include all known channels associated with the node.",
"description": "If true, will include all known channels associated with the node.",
"in": "query",
"required": false,
"type": "boolean",
@ -657,7 +657,7 @@
},
"/v1/graph/nodemetrics": {
"get": {
"summary": "* lncli: `getnodemetrics`\nGetNodeMetrics returns node metrics calculated from the graph. Currently\nthe only supported metric is betweenness centrality of individual nodes.",
"summary": "lncli: `getnodemetrics`\nGetNodeMetrics returns node metrics calculated from the graph. Currently\nthe only supported metric is betweenness centrality of individual nodes.",
"operationId": "GetNodeMetrics",
"responses": {
"200": {
@ -670,7 +670,7 @@
"parameters": [
{
"name": "types",
"description": "/ The requested node metrics.",
"description": "The requested node metrics.",
"in": "query",
"required": false,
"type": "array",
@ -691,7 +691,7 @@
},
"/v1/graph/routes/{pub_key}/{amt}": {
"get": {
"summary": "* lncli: `queryroutes`\nQueryRoutes attempts to query the daemon's Channel Router for a possible\nroute to a target destination capable of carrying a specific amount of\nsatoshis. The returned route contains the full details required to craft and\nsend an HTLC, also including the necessary information that should be\npresent within the Sphinx packet encapsulated within the HTLC.",
"summary": "lncli: `queryroutes`\nQueryRoutes attempts to query the daemon's Channel Router for a possible\nroute to a target destination capable of carrying a specific amount of\nsatoshis. The returned route contains the full details required to craft and\nsend an HTLC, also including the necessary information that should be\npresent within the Sphinx packet encapsulated within the HTLC.",
"operationId": "QueryRoutes",
"responses": {
"200": {
@ -704,14 +704,14 @@
"parameters": [
{
"name": "pub_key",
"description": "/ The 33-byte hex-encoded public key for the payment destination",
"description": "The 33-byte hex-encoded public key for the payment destination",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "amt",
"description": "*\nThe amount to send expressed in satoshis.\n\nThe fields amt and amt_msat are mutually exclusive.",
"description": "The amount to send expressed in satoshis.\n\nThe fields amt and amt_msat are mutually exclusive.",
"in": "path",
"required": true,
"type": "string",
@ -719,7 +719,7 @@
},
{
"name": "amt_msat",
"description": "*\nThe amount to send expressed in millisatoshis.\n\nThe fields amt and amt_msat are mutually exclusive.",
"description": "The amount to send expressed in millisatoshis.\n\nThe fields amt and amt_msat are mutually exclusive.",
"in": "query",
"required": false,
"type": "string",
@ -727,7 +727,7 @@
},
{
"name": "final_cltv_delta",
"description": "*\nAn optional CLTV delta from the current height that should be used for the\ntimelock of the final hop. Note that unlike SendPayment, QueryRoutes does\nnot add any additional block padding on top of final_ctlv_delta. This\npadding of a few blocks needs to be added manually or otherwise failures may\nhappen when a block comes in while the payment is in flight.",
"description": "An optional CLTV delta from the current height that should be used for the\ntimelock of the final hop. Note that unlike SendPayment, QueryRoutes does\nnot add any additional block padding on top of final_ctlv_delta. This\npadding of a few blocks needs to be added manually or otherwise failures may\nhappen when a block comes in while the payment is in flight.",
"in": "query",
"required": false,
"type": "integer",
@ -735,7 +735,7 @@
},
{
"name": "fee_limit.fixed",
"description": "*\nThe fee limit expressed as a fixed amount of satoshis.\n\nThe fields fixed and fixed_msat are mutually exclusive.",
"description": "The fee limit expressed as a fixed amount of satoshis.\n\nThe fields fixed and fixed_msat are mutually exclusive.",
"in": "query",
"required": false,
"type": "string",
@ -743,7 +743,7 @@
},
{
"name": "fee_limit.fixed_msat",
"description": "*\nThe fee limit expressed as a fixed amount of millisatoshis.\n\nThe fields fixed and fixed_msat are mutually exclusive.",
"description": "The fee limit expressed as a fixed amount of millisatoshis.\n\nThe fields fixed and fixed_msat are mutually exclusive.",
"in": "query",
"required": false,
"type": "string",
@ -751,7 +751,7 @@
},
{
"name": "fee_limit.percent",
"description": "/ The fee limit expressed as a percentage of the payment amount.",
"description": "The fee limit expressed as a percentage of the payment amount.",
"in": "query",
"required": false,
"type": "string",
@ -759,7 +759,7 @@
},
{
"name": "ignored_nodes",
"description": "*\nA list of nodes to ignore during path finding. When using REST, these fields\nmust be encoded as base64.",
"description": "A list of nodes to ignore during path finding. When using REST, these fields\nmust be encoded as base64.",
"in": "query",
"required": false,
"type": "array",
@ -771,14 +771,14 @@
},
{
"name": "source_pub_key",
"description": "*\nThe source node where the request route should originated from. If empty,\nself is assumed.",
"description": "The source node where the request route should originated from. If empty,\nself is assumed.",
"in": "query",
"required": false,
"type": "string"
},
{
"name": "use_mission_control",
"description": "*\nIf set to true, edge probabilities from mission control will be used to get\nthe optimal route.",
"description": "If set to true, edge probabilities from mission control will be used to get\nthe optimal route.",
"in": "query",
"required": false,
"type": "boolean",
@ -786,7 +786,7 @@
},
{
"name": "cltv_limit",
"description": "*\nAn optional maximum total time lock for the route. If the source is empty or\nourselves, this should not exceed lnd's `--max-cltv-expiry` setting. If\nzero, then the value of `--max-cltv-expiry` is used as the limit.",
"description": "An optional maximum total time lock for the route. If the source is empty or\nourselves, this should not exceed lnd's `--max-cltv-expiry` setting. If\nzero, then the value of `--max-cltv-expiry` is used as the limit.",
"in": "query",
"required": false,
"type": "integer",
@ -794,7 +794,7 @@
},
{
"name": "outgoing_chan_id",
"description": "*\nThe channel id of the channel that must be taken to the first hop. If zero,\nany channel may be used.",
"description": "The channel id of the channel that must be taken to the first hop. If zero,\nany channel may be used.",
"in": "query",
"required": false,
"type": "string",
@ -802,7 +802,7 @@
},
{
"name": "last_hop_pubkey",
"description": "*\nThe pubkey of the last hop of the route. If empty, any hop may be used.",
"description": "The pubkey of the last hop of the route. If empty, any hop may be used.",
"in": "query",
"required": false,
"type": "string",
@ -810,7 +810,7 @@
},
{
"name": "dest_features",
"description": "*\nFeatures assumed to be supported by the final node. All transitive feature\ndependencies must also be set properly. For a given feature bit pair, either\noptional or remote may be set, but not both. If this field is nil or empty,\nthe router will try to load destination features from the graph as a\nfallback.",
"description": "Features assumed to be supported by the final node. All transitive feature\ndependencies must also be set properly. For a given feature bit pair, either\noptional or remote may be set, but not both. If this field is nil or empty,\nthe router will try to load destination features from the graph as a\nfallback.",
"in": "query",
"required": false,
"type": "array",
@ -846,7 +846,7 @@
},
"/v1/invoice/{r_hash_str}": {
"get": {
"summary": "* lncli: `lookupinvoice`\nLookupInvoice attempts to look up an invoice according to its payment hash.\nThe passed payment hash *must* be exactly 32 bytes, if not, an error is\nreturned.",
"summary": "lncli: `lookupinvoice`\nLookupInvoice attempts to look up an invoice according to its payment hash.\nThe passed payment hash *must* be exactly 32 bytes, if not, an error is\nreturned.",
"operationId": "LookupInvoice",
"responses": {
"200": {
@ -859,14 +859,14 @@
"parameters": [
{
"name": "r_hash_str",
"description": "*\nThe hex-encoded payment hash of the invoice to be looked up. The passed\npayment hash must be exactly 32 bytes, otherwise an error is returned.\nDeprecated now that the REST gateway supports base64 encoding of bytes\nfields.",
"description": "The hex-encoded payment hash of the invoice to be looked up. The passed\npayment hash must be exactly 32 bytes, otherwise an error is returned.\nDeprecated now that the REST gateway supports base64 encoding of bytes\nfields.",
"in": "path",
"required": true,
"type": "string"
},
{
"name": "r_hash",
"description": "*\nThe payment hash of the invoice to be looked up. When using REST, this field\nmust be encoded as base64.",
"description": "The payment hash of the invoice to be looked up. When using REST, this field\nmust be encoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -880,7 +880,7 @@
},
"/v1/invoices": {
"get": {
"summary": "* lncli: `listinvoices`\nListInvoices returns a list of all the invoices currently stored within the\ndatabase. Any active debug invoices are ignored. It has full support for\npaginated responses, allowing users to query for specific invoices through\ntheir add_index. This can be done by using either the first_index_offset or\nlast_index_offset fields included in the response as the index_offset of the\nnext request. By default, the first 100 invoices created will be returned.\nBackwards pagination is also supported through the Reversed flag.",
"summary": "lncli: `listinvoices`\nListInvoices returns a list of all the invoices currently stored within the\ndatabase. Any active debug invoices are ignored. It has full support for\npaginated responses, allowing users to query for specific invoices through\ntheir add_index. This can be done by using either the first_index_offset or\nlast_index_offset fields included in the response as the index_offset of the\nnext request. By default, the first 100 invoices created will be returned.\nBackwards pagination is also supported through the Reversed flag.",
"operationId": "ListInvoices",
"responses": {
"200": {
@ -893,7 +893,7 @@
"parameters": [
{
"name": "pending_only",
"description": "*\nIf set, only invoices that are not settled and not canceled will be returned\nin the response.",
"description": "If set, only invoices that are not settled and not canceled will be returned\nin the response.",
"in": "query",
"required": false,
"type": "boolean",
@ -901,7 +901,7 @@
},
{
"name": "index_offset",
"description": "*\nThe index of an invoice that will be used as either the start or end of a\nquery to determine which invoices should be returned in the response.",
"description": "The index of an invoice that will be used as either the start or end of a\nquery to determine which invoices should be returned in the response.",
"in": "query",
"required": false,
"type": "string",
@ -909,7 +909,7 @@
},
{
"name": "num_max_invoices",
"description": "/ The max number of invoices to return in the response to this query.",
"description": "The max number of invoices to return in the response to this query.",
"in": "query",
"required": false,
"type": "string",
@ -917,7 +917,7 @@
},
{
"name": "reversed",
"description": "*\nIf set, the invoices returned will result from seeking backwards from the\nspecified index offset. This can be used to paginate backwards.",
"description": "If set, the invoices returned will result from seeking backwards from the\nspecified index offset. This can be used to paginate backwards.",
"in": "query",
"required": false,
"type": "boolean",
@ -929,7 +929,7 @@
]
},
"post": {
"summary": "* lncli: `addinvoice`\nAddInvoice attempts to add a new invoice to the invoice database. Any\nduplicated invoices are rejected, therefore all invoices *must* have a\nunique payment preimage.",
"summary": "lncli: `addinvoice`\nAddInvoice attempts to add a new invoice to the invoice database. Any\nduplicated invoices are rejected, therefore all invoices *must* have a\nunique payment preimage.",
"operationId": "AddInvoice",
"responses": {
"200": {
@ -956,7 +956,7 @@
},
"/v1/invoices/subscribe": {
"get": {
"summary": "*\nSubscribeInvoices returns a uni-directional stream (server -\u003e client) for\nnotifying the client of newly added/settled invoices. The caller can\noptionally specify the add_index and/or the settle_index. If the add_index\nis specified, then we'll first start by sending add invoice events for all\ninvoices with an add_index greater than the specified value. If the\nsettle_index is specified, the next, we'll send out all settle events for\ninvoices with a settle_index greater than the specified value. One or both\nof these fields can be set. If no fields are set, then we'll only send out\nthe latest add/settle events.",
"summary": "SubscribeInvoices returns a uni-directional stream (server -\u003e client) for\nnotifying the client of newly added/settled invoices. The caller can\noptionally specify the add_index and/or the settle_index. If the add_index\nis specified, then we'll first start by sending add invoice events for all\ninvoices with an add_index greater than the specified value. If the\nsettle_index is specified, the next, we'll send out all settle events for\ninvoices with a settle_index greater than the specified value. One or both\nof these fields can be set. If no fields are set, then we'll only send out\nthe latest add/settle events.",
"operationId": "SubscribeInvoices",
"responses": {
"200": {
@ -969,7 +969,7 @@
"parameters": [
{
"name": "add_index",
"description": "*\nIf specified (non-zero), then we'll first start by sending out\nnotifications for all added indexes with an add_index greater than this\nvalue. This allows callers to catch up on any events they missed while they\nweren't connected to the streaming RPC.",
"description": "If specified (non-zero), then we'll first start by sending out\nnotifications for all added indexes with an add_index greater than this\nvalue. This allows callers to catch up on any events they missed while they\nweren't connected to the streaming RPC.",
"in": "query",
"required": false,
"type": "string",
@ -977,7 +977,7 @@
},
{
"name": "settle_index",
"description": "*\nIf specified (non-zero), then we'll first start by sending out\nnotifications for all settled indexes with an settle_index greater than\nthis value. This allows callers to catch up on any events they missed while\nthey weren't connected to the streaming RPC.",
"description": "If specified (non-zero), then we'll first start by sending out\nnotifications for all settled indexes with an settle_index greater than\nthis value. This allows callers to catch up on any events they missed while\nthey weren't connected to the streaming RPC.",
"in": "query",
"required": false,
"type": "string",
@ -991,7 +991,7 @@
},
"/v1/macaroon": {
"post": {
"summary": "* lncli: `bakemacaroon`\nBakeMacaroon allows the creation of a new macaroon with custom read and\nwrite permissions. No first-party caveats are added since this can be done\noffline.",
"summary": "lncli: `bakemacaroon`\nBakeMacaroon allows the creation of a new macaroon with custom read and\nwrite permissions. No first-party caveats are added since this can be done\noffline.",
"operationId": "BakeMacaroon",
"responses": {
"200": {
@ -1018,7 +1018,7 @@
},
"/v1/newaddress": {
"get": {
"summary": "* lncli: `newaddress`\nNewAddress creates a new address under control of the local wallet.",
"summary": "lncli: `newaddress`\nNewAddress creates a new address under control of the local wallet.",
"operationId": "NewAddress",
"responses": {
"200": {
@ -1031,7 +1031,7 @@
"parameters": [
{
"name": "type",
"description": "/ The address type.",
"description": "The address type.",
"in": "query",
"required": false,
"type": "string",
@ -1051,7 +1051,7 @@
},
"/v1/payments": {
"get": {
"summary": "* lncli: `listpayments`\nListPayments returns a list of all outgoing payments.",
"summary": "lncli: `listpayments`\nListPayments returns a list of all outgoing payments.",
"operationId": "ListPayments",
"responses": {
"200": {
@ -1064,7 +1064,7 @@
"parameters": [
{
"name": "include_incomplete",
"description": "*\nIf true, then return payments that have not yet fully completed. This means\nthat pending payments, as well as failed payments will show up if this\nfield is set to true. This flag doesn't change the meaning of the indices,\nwhich are tied to individual payments.",
"description": "If true, then return payments that have not yet fully completed. This means\nthat pending payments, as well as failed payments will show up if this\nfield is set to true. This flag doesn't change the meaning of the indices,\nwhich are tied to individual payments.",
"in": "query",
"required": false,
"type": "boolean",
@ -1072,7 +1072,7 @@
},
{
"name": "index_offset",
"description": "*\nThe index of a payment that will be used as either the start or end of a\nquery to determine which payments should be returned in the response. The\nindex_offset is exclusive. In the case of a zero index_offset, the query\nwill start with the oldest payment when paginating forwards, or will end\nwith the most recent payment when paginating backwards.",
"description": "The index of a payment that will be used as either the start or end of a\nquery to determine which payments should be returned in the response. The\nindex_offset is exclusive. In the case of a zero index_offset, the query\nwill start with the oldest payment when paginating forwards, or will end\nwith the most recent payment when paginating backwards.",
"in": "query",
"required": false,
"type": "string",
@ -1080,7 +1080,7 @@
},
{
"name": "max_payments",
"description": "/ The maximal number of payments returned in the response to this query.",
"description": "The maximal number of payments returned in the response to this query.",
"in": "query",
"required": false,
"type": "string",
@ -1088,7 +1088,7 @@
},
{
"name": "reversed",
"description": "*\nIf set, the payments returned will result from seeking backwards from the\nspecified index offset. This can be used to paginate backwards. The order\nof the returned payments is always oldest first (ascending index order).",
"description": "If set, the payments returned will result from seeking backwards from the\nspecified index offset. This can be used to paginate backwards. The order\nof the returned payments is always oldest first (ascending index order).",
"in": "query",
"required": false,
"type": "boolean",
@ -1100,7 +1100,7 @@
]
},
"delete": {
"summary": "*\nDeleteAllPayments deletes all outgoing payments from DB.",
"summary": "DeleteAllPayments deletes all outgoing payments from DB.",
"operationId": "DeleteAllPayments",
"responses": {
"200": {
@ -1117,7 +1117,7 @@
},
"/v1/payreq/{pay_req}": {
"get": {
"summary": "* lncli: `decodepayreq`\nDecodePayReq takes an encoded payment request string and attempts to decode\nit, returning a full description of the conditions encoded within the\npayment request.",
"summary": "lncli: `decodepayreq`\nDecodePayReq takes an encoded payment request string and attempts to decode\nit, returning a full description of the conditions encoded within the\npayment request.",
"operationId": "DecodePayReq",
"responses": {
"200": {
@ -1130,7 +1130,7 @@
"parameters": [
{
"name": "pay_req",
"description": "/ The payment request string to be decoded",
"description": "The payment request string to be decoded",
"in": "path",
"required": true,
"type": "string"
@ -1143,7 +1143,7 @@
},
"/v1/peers": {
"get": {
"summary": "* lncli: `listpeers`\nListPeers returns a verbose listing of all currently active peers.",
"summary": "lncli: `listpeers`\nListPeers returns a verbose listing of all currently active peers.",
"operationId": "ListPeers",
"responses": {
"200": {
@ -1168,7 +1168,7 @@
]
},
"post": {
"summary": "* lncli: `connect`\nConnectPeer attempts to establish a connection to a remote peer. This is at\nthe networking level, and is used for communication between nodes. This is\ndistinct from establishing a channel with a peer.",
"summary": "lncli: `connect`\nConnectPeer attempts to establish a connection to a remote peer. This is at\nthe networking level, and is used for communication between nodes. This is\ndistinct from establishing a channel with a peer.",
"operationId": "ConnectPeer",
"responses": {
"200": {
@ -1195,7 +1195,7 @@
},
"/v1/peers/{pub_key}": {
"delete": {
"summary": "* lncli: `disconnect`\nDisconnectPeer attempts to disconnect one peer from another identified by a\ngiven pubKey. In the case that we currently have a pending or active channel\nwith the target peer, then this action will be not be allowed.",
"summary": "lncli: `disconnect`\nDisconnectPeer attempts to disconnect one peer from another identified by a\ngiven pubKey. In the case that we currently have a pending or active channel\nwith the target peer, then this action will be not be allowed.",
"operationId": "DisconnectPeer",
"responses": {
"200": {
@ -1208,7 +1208,7 @@
"parameters": [
{
"name": "pub_key",
"description": "/ The pubkey of the node to disconnect from",
"description": "The pubkey of the node to disconnect from",
"in": "path",
"required": true,
"type": "string"
@ -1221,7 +1221,7 @@
},
"/v1/signmessage": {
"post": {
"summary": "* lncli: `signmessage`\nSignMessage signs a message with this node's private key. The returned\nsignature string is `zbase32` encoded and pubkey recoverable, meaning that\nonly the message digest and signature are needed for verification.",
"summary": "lncli: `signmessage`\nSignMessage signs a message with this node's private key. The returned\nsignature string is `zbase32` encoded and pubkey recoverable, meaning that\nonly the message digest and signature are needed for verification.",
"operationId": "SignMessage",
"responses": {
"200": {
@ -1248,7 +1248,7 @@
},
"/v1/switch": {
"post": {
"summary": "* lncli: `fwdinghistory`\nForwardingHistory allows the caller to query the htlcswitch for a record of\nall HTLCs forwarded within the target time range, and integer offset\nwithin that time range. If no time-range is specified, then the first chunk\nof the past 24 hrs of forwarding history are returned.",
"summary": "lncli: `fwdinghistory`\nForwardingHistory allows the caller to query the htlcswitch for a record of\nall HTLCs forwarded within the target time range, and integer offset\nwithin that time range. If no time-range is specified, then the first chunk\nof the past 24 hrs of forwarding history are returned.",
"description": "A list of forwarding events are returned. The size of each forwarding event\nis 40 bytes, and the max message size able to be returned in gRPC is 4 MiB.\nAs a result each message can only contain 50k entries. Each response has\nthe index offset of the last entry. The index offset can be provided to the\nrequest to allow the caller to skip a series of records.",
"operationId": "ForwardingHistory",
"responses": {
@ -1276,7 +1276,7 @@
},
"/v1/transactions": {
"get": {
"summary": "* lncli: `listchaintxns`\nGetTransactions returns a list describing all the known transactions\nrelevant to the wallet.",
"summary": "lncli: `listchaintxns`\nGetTransactions returns a list describing all the known transactions\nrelevant to the wallet.",
"operationId": "GetTransactions",
"responses": {
"200": {
@ -1309,7 +1309,7 @@
]
},
"post": {
"summary": "* lncli: `sendcoins`\nSendCoins executes a request to send coins to a particular address. Unlike\nSendMany, this RPC call only allows creating a single output at a time. If\nneither target_conf, or sat_per_byte are set, then the internal wallet will\nconsult its fee model to determine a fee for the default confirmation\ntarget.",
"summary": "lncli: `sendcoins`\nSendCoins executes a request to send coins to a particular address. Unlike\nSendMany, this RPC call only allows creating a single output at a time. If\nneither target_conf, or sat_per_byte are set, then the internal wallet will\nconsult its fee model to determine a fee for the default confirmation\ntarget.",
"operationId": "SendCoins",
"responses": {
"200": {
@ -1336,7 +1336,7 @@
},
"/v1/transactions/fee": {
"get": {
"summary": "* lncli: `estimatefee`\nEstimateFee asks the chain backend to estimate the fee rate and total fees\nfor a transaction that pays to multiple specified outputs.",
"summary": "lncli: `estimatefee`\nEstimateFee asks the chain backend to estimate the fee rate and total fees\nfor a transaction that pays to multiple specified outputs.",
"operationId": "EstimateFee",
"responses": {
"200": {
@ -1349,7 +1349,7 @@
"parameters": [
{
"name": "target_conf",
"description": "/ The target number of blocks that this transaction should be confirmed\n/ by.",
"description": "The target number of blocks that this transaction should be confirmed\nby.",
"in": "query",
"required": false,
"type": "integer",
@ -1363,7 +1363,7 @@
},
"/v1/utxos": {
"get": {
"summary": "* lncli: `listunspent`\nListUnspent returns a list of all utxos spendable by the wallet with a\nnumber of confirmations between the specified minimum and maximum.",
"summary": "lncli: `listunspent`\nListUnspent returns a list of all utxos spendable by the wallet with a\nnumber of confirmations between the specified minimum and maximum.",
"operationId": "ListUnspent",
"responses": {
"200": {
@ -1376,7 +1376,7 @@
"parameters": [
{
"name": "min_confs",
"description": "/ The minimum number of confirmations to be included.",
"description": "The minimum number of confirmations to be included.",
"in": "query",
"required": false,
"type": "integer",
@ -1384,7 +1384,7 @@
},
{
"name": "max_confs",
"description": "/ The maximum number of confirmations to be included.",
"description": "The maximum number of confirmations to be included.",
"in": "query",
"required": false,
"type": "integer",
@ -1398,7 +1398,7 @@
},
"/v1/verifymessage": {
"post": {
"summary": "* lncli: `verifymessage`\nVerifyMessage verifies a signature over a msg. The signature must be\nzbase32 encoded and signed by an active node in the resident node's\nchannel database. In addition to returning the validity of the signature,\nVerifyMessage also returns the recovered pubkey from the signature.",
"summary": "lncli: `verifymessage`\nVerifyMessage verifies a signature over a msg. The signature must be\nzbase32 encoded and signed by an active node in the resident node's\nchannel database. In addition to returning the validity of the signature,\nVerifyMessage also returns the recovered pubkey from the signature.",
"operationId": "VerifyMessage",
"responses": {
"200": {
@ -1480,7 +1480,7 @@
"UNREADABLE_FAILURE"
],
"default": "RESERVED",
"description": " - RESERVED: *\nThe numbers assigned in this enumeration match the failure codes as\ndefined in BOLT #4. Because protobuf 3 requires enums to start with 0,\na RESERVED value is added.\n - INTERNAL_FAILURE: *\nAn internal error occurred.\n - UNKNOWN_FAILURE: *\nThe error source is known, but the failure itself couldn't be decoded.\n - UNREADABLE_FAILURE: *\nAn unreadable failure result is returned if the received failure message\ncannot be decrypted. In that case the error source is unknown."
"description": " - RESERVED: The numbers assigned in this enumeration match the failure codes as\ndefined in BOLT #4. Because protobuf 3 requires enums to start with 0,\na RESERVED value is added.\n - INTERNAL_FAILURE: An internal error occurred.\n - UNKNOWN_FAILURE: The error source is known, but the failure itself couldn't be decoded.\n - UNREADABLE_FAILURE: An unreadable failure result is returned if the received failure message\ncannot be decrypted. In that case the error source is unknown."
},
"ForceClosedChannelAnchorState": {
"type": "string",
@ -1536,18 +1536,18 @@
"PASSIVE_SYNC"
],
"default": "UNKNOWN_SYNC",
"description": " - UNKNOWN_SYNC: *\nDenotes that we cannot determine the peer's current sync type.\n - ACTIVE_SYNC: *\nDenotes that we are actively receiving new graph updates from the peer.\n - PASSIVE_SYNC: *\nDenotes that we are not receiving new graph updates from the peer."
"description": " - UNKNOWN_SYNC: Denotes that we cannot determine the peer's current sync type.\n - ACTIVE_SYNC: Denotes that we are actively receiving new graph updates from the peer.\n - PASSIVE_SYNC: Denotes that we are not receiving new graph updates from the peer."
},
"PendingChannelsResponseClosedChannel": {
"type": "object",
"properties": {
"channel": {
"$ref": "#/definitions/PendingChannelsResponsePendingChannel",
"title": "/ The pending channel to be closed"
"title": "The pending channel to be closed"
},
"closing_txid": {
"type": "string",
"title": "/ The transaction id of the closing transaction"
"title": "The transaction id of the closing transaction"
}
}
},
@ -1556,15 +1556,15 @@
"properties": {
"local_txid": {
"type": "string",
"description": "/ Hash of the local version of the commitment tx."
"description": "Hash of the local version of the commitment tx."
},
"remote_txid": {
"type": "string",
"description": "/ Hash of the remote version of the commitment tx."
"description": "Hash of the remote version of the commitment tx."
},
"remote_pending_txid": {
"type": "string",
"description": "/ Hash of the remote pending version of the commitment tx."
"description": "Hash of the remote pending version of the commitment tx."
},
"local_commit_fee_sat": {
"type": "string",
@ -1588,21 +1588,21 @@
"properties": {
"channel": {
"$ref": "#/definitions/PendingChannelsResponsePendingChannel",
"title": "/ The pending channel to be force closed"
"title": "The pending channel to be force closed"
},
"closing_txid": {
"type": "string",
"title": "/ The transaction id of the closing transaction"
"title": "The transaction id of the closing transaction"
},
"limbo_balance": {
"type": "string",
"format": "int64",
"title": "/ The balance in satoshis encumbered in this pending channel"
"title": "The balance in satoshis encumbered in this pending channel"
},
"maturity_height": {
"type": "integer",
"format": "int64",
"title": "/ The height at which funds can be swept into the wallet"
"title": "The height at which funds can be swept into the wallet"
},
"blocks_til_maturity": {
"type": "integer",
@ -1612,7 +1612,7 @@
"recovered_balance": {
"type": "string",
"format": "int64",
"title": "/ The total value of funds successfully recovered from this channel"
"title": "The total value of funds successfully recovered from this channel"
},
"pending_htlcs": {
"type": "array",
@ -1649,12 +1649,12 @@
"local_chan_reserve_sat": {
"type": "string",
"format": "int64",
"description": "/ The minimum satoshis this node is required to reserve in its\n/ balance."
"description": "The minimum satoshis this node is required to reserve in its\nbalance."
},
"remote_chan_reserve_sat": {
"type": "string",
"format": "int64",
"description": "*\nThe minimum satoshis the other node is required to reserve in its\nbalance."
"description": "The minimum satoshis the other node is required to reserve in its\nbalance."
},
"initiator": {
"$ref": "#/definitions/lnrpcInitiator",
@ -1662,7 +1662,7 @@
},
"commitment_type": {
"$ref": "#/definitions/lnrpcCommitmentType",
"description": "/ The commitment type used by this channel."
"description": "The commitment type used by this channel."
}
}
},
@ -1671,27 +1671,27 @@
"properties": {
"channel": {
"$ref": "#/definitions/PendingChannelsResponsePendingChannel",
"title": "/ The pending channel"
"title": "The pending channel"
},
"confirmation_height": {
"type": "integer",
"format": "int64",
"title": "/ The height at which this channel will be confirmed"
"title": "The height at which this channel will be confirmed"
},
"commit_fee": {
"type": "string",
"format": "int64",
"description": "*\nThe amount calculated to be paid in fees for the current set of\ncommitment transactions. The fee amount is persisted with the channel\nin order to allow the fee amount to be removed and recalculated with\neach channel state update, including updates that happen after a system\nrestart."
"description": "The amount calculated to be paid in fees for the current set of\ncommitment transactions. The fee amount is persisted with the channel\nin order to allow the fee amount to be removed and recalculated with\neach channel state update, including updates that happen after a system\nrestart."
},
"commit_weight": {
"type": "string",
"format": "int64",
"title": "/ The weight of the commitment transaction"
"title": "The weight of the commitment transaction"
},
"fee_per_kw": {
"type": "string",
"format": "int64",
"description": "*\nThe required number of satoshis per kilo-weight that the requester will\npay at all times, for both the funding transaction and commitment\ntransaction. This value can later be updated once the channel is open."
"description": "The required number of satoshis per kilo-weight that the requester will\npay at all times, for both the funding transaction and commitment\ntransaction. This value can later be updated once the channel is open."
}
}
},
@ -1700,16 +1700,16 @@
"properties": {
"channel": {
"$ref": "#/definitions/PendingChannelsResponsePendingChannel",
"title": "/ The pending channel waiting for closing tx to confirm"
"title": "The pending channel waiting for closing tx to confirm"
},
"limbo_balance": {
"type": "string",
"format": "int64",
"title": "/ The balance in satoshis encumbered in this channel"
"title": "The balance in satoshis encumbered in this channel"
},
"commitments": {
"$ref": "#/definitions/PendingChannelsResponseCommitments",
"description": "*\nA list of valid commitment transactions. Any of these can confirm at\nthis point."
"description": "A list of valid commitment transactions. Any of these can confirm at\nthis point."
}
}
},
@ -1725,12 +1725,12 @@
},
"payment_request": {
"type": "string",
"description": "*\nA bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
"description": "A bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
},
"add_index": {
"type": "string",
"format": "uint64",
"description": "*\nThe \"add\" index of this invoice. Each newly created invoice will increment\nthis index making it monotonically increasing. Callers to the\nSubscribeInvoices call can use this to instantly get notified of all added\ninvoices with an add_index greater than this one."
"description": "The \"add\" index of this invoice. Each newly created invoice will increment\nthis index making it monotonically increasing. Callers to the\nSubscribeInvoices call can use this to instantly get notified of all added\ninvoices with an add_index greater than this one."
}
}
},
@ -1744,7 +1744,7 @@
],
"default": "WITNESS_PUBKEY_HASH",
"description": "- `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0)\n- `np2wkh`: Pay to nested witness key hash (`NESTED_PUBKEY_HASH` = 1)",
"title": "*\n`AddressType` has to be one of:"
"title": "`AddressType` has to be one of:"
},
"lnrpcBakeMacaroonRequest": {
"type": "object",
@ -1754,7 +1754,7 @@
"items": {
"$ref": "#/definitions/lnrpcMacaroonPermission"
},
"description": "/ The list of permissions the new macaroon should grant."
"description": "The list of permissions the new macaroon should grant."
}
}
},
@ -1763,7 +1763,7 @@
"properties": {
"macaroon": {
"type": "string",
"description": "/ The hex encoded macaroon, serialized in binary format."
"description": "The hex encoded macaroon, serialized in binary format."
}
}
},
@ -1772,11 +1772,11 @@
"properties": {
"chain": {
"type": "string",
"title": "/ The blockchain the node is on (eg bitcoin, litecoin)"
"title": "The blockchain the node is on (eg bitcoin, litecoin)"
},
"network": {
"type": "string",
"title": "/ The network the node is on (eg regtest, testnet, mainnet)"
"title": "The network the node is on (eg regtest, testnet, mainnet)"
}
}
},
@ -1785,11 +1785,11 @@
"properties": {
"single_chan_backups": {
"$ref": "#/definitions/lnrpcChannelBackups",
"description": "*\nThe set of new channels that have been added since the last channel backup\nsnapshot was requested."
"description": "The set of new channels that have been added since the last channel backup\nsnapshot was requested."
},
"multi_chan_backup": {
"$ref": "#/definitions/lnrpcMultiChanBackup",
"description": "*\nA multi-channel backup that covers all open channels currently known to\nlnd."
"description": "A multi-channel backup that covers all open channels currently known to\nlnd."
}
}
},
@ -1799,30 +1799,30 @@
"amt": {
"type": "string",
"format": "int64",
"description": "*\nThe size of the pre-crafted output to be used as the channel point for this\nchannel funding."
"description": "The size of the pre-crafted output to be used as the channel point for this\nchannel funding."
},
"chan_point": {
"$ref": "#/definitions/lnrpcChannelPoint",
"description": "/ The target channel point to refrence in created commitment transactions."
"description": "The target channel point to refrence in created commitment transactions."
},
"local_key": {
"$ref": "#/definitions/lnrpcKeyDescriptor",
"description": "/ Our local key to use when creating the multi-sig output."
"description": "Our local key to use when creating the multi-sig output."
},
"remote_key": {
"type": "string",
"format": "byte",
"description": "/ The key of the remote party to use when creating the multi-sig output."
"description": "The key of the remote party to use when creating the multi-sig output."
},
"pending_chan_id": {
"type": "string",
"format": "byte",
"description": "*\nIf non-zero, then this will be used as the pending channel ID on the wire\nprotocol to initate the funding request. This is an optional field, and\nshould only be set if the responder is already expecting a specific pending\nchannel ID."
"description": "If non-zero, then this will be used as the pending channel ID on the wire\nprotocol to initate the funding request. This is an optional field, and\nshould only be set if the responder is already expecting a specific pending\nchannel ID."
},
"thaw_height": {
"type": "integer",
"format": "int64",
"description": "*\nThis uint32 indicates if this channel is to be considered 'frozen'. A\nfrozen channel does not allow a cooperative channel close by the\ninitiator. The thaw_height is the height that this restriction stops\napplying to the channel."
"description": "This uint32 indicates if this channel is to be considered 'frozen'. A\nfrozen channel does not allow a cooperative channel close by the\ninitiator. The thaw_height is the height that this restriction stops\napplying to the channel."
}
}
},
@ -1832,129 +1832,129 @@
"active": {
"type": "boolean",
"format": "boolean",
"title": "/ Whether this channel is active or not"
"title": "Whether this channel is active or not"
},
"remote_pubkey": {
"type": "string",
"title": "/ The identity pubkey of the remote node"
"title": "The identity pubkey of the remote node"
},
"channel_point": {
"type": "string",
"description": "*\nThe outpoint (txid:index) of the funding transaction. With this value, Bob\nwill be able to generate a signature for Alice's version of the commitment\ntransaction."
"description": "The outpoint (txid:index) of the funding transaction. With this value, Bob\nwill be able to generate a signature for Alice's version of the commitment\ntransaction."
},
"chan_id": {
"type": "string",
"format": "uint64",
"description": "*\nThe unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
"description": "The unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
},
"capacity": {
"type": "string",
"format": "int64",
"title": "/ The total amount of funds held in this channel"
"title": "The total amount of funds held in this channel"
},
"local_balance": {
"type": "string",
"format": "int64",
"title": "/ This node's current balance in this channel"
"title": "This node's current balance in this channel"
},
"remote_balance": {
"type": "string",
"format": "int64",
"title": "/ The counterparty's current balance in this channel"
"title": "The counterparty's current balance in this channel"
},
"commit_fee": {
"type": "string",
"format": "int64",
"description": "*\nThe amount calculated to be paid in fees for the current set of commitment\ntransactions. The fee amount is persisted with the channel in order to\nallow the fee amount to be removed and recalculated with each channel state\nupdate, including updates that happen after a system restart."
"description": "The amount calculated to be paid in fees for the current set of commitment\ntransactions. The fee amount is persisted with the channel in order to\nallow the fee amount to be removed and recalculated with each channel state\nupdate, including updates that happen after a system restart."
},
"commit_weight": {
"type": "string",
"format": "int64",
"title": "/ The weight of the commitment transaction"
"title": "The weight of the commitment transaction"
},
"fee_per_kw": {
"type": "string",
"format": "int64",
"description": "*\nThe required number of satoshis per kilo-weight that the requester will pay\nat all times, for both the funding transaction and commitment transaction.\nThis value can later be updated once the channel is open."
"description": "The required number of satoshis per kilo-weight that the requester will pay\nat all times, for both the funding transaction and commitment transaction.\nThis value can later be updated once the channel is open."
},
"unsettled_balance": {
"type": "string",
"format": "int64",
"title": "/ The unsettled balance in this channel"
"title": "The unsettled balance in this channel"
},
"total_satoshis_sent": {
"type": "string",
"format": "int64",
"description": "*\nThe total number of satoshis we've sent within this channel."
"description": "The total number of satoshis we've sent within this channel."
},
"total_satoshis_received": {
"type": "string",
"format": "int64",
"description": "*\nThe total number of satoshis we've received within this channel."
"description": "The total number of satoshis we've received within this channel."
},
"num_updates": {
"type": "string",
"format": "uint64",
"description": "*\nThe total number of updates conducted within this channel."
"description": "The total number of updates conducted within this channel."
},
"pending_htlcs": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcHTLC"
},
"description": "*\nThe list of active, uncleared HTLCs currently pending within the channel."
"description": "The list of active, uncleared HTLCs currently pending within the channel."
},
"csv_delay": {
"type": "integer",
"format": "int64",
"description": "*\nThe CSV delay expressed in relative blocks. If the channel is force closed,\nwe will need to wait for this many blocks before we can regain our funds."
"description": "The CSV delay expressed in relative blocks. If the channel is force closed,\nwe will need to wait for this many blocks before we can regain our funds."
},
"private": {
"type": "boolean",
"format": "boolean",
"description": "/ Whether this channel is advertised to the network or not."
"description": "Whether this channel is advertised to the network or not."
},
"initiator": {
"type": "boolean",
"format": "boolean",
"description": "/ True if we were the ones that created the channel."
"description": "True if we were the ones that created the channel."
},
"chan_status_flags": {
"type": "string",
"description": "/ A set of flags showing the current state of the channel."
"description": "A set of flags showing the current state of the channel."
},
"local_chan_reserve_sat": {
"type": "string",
"format": "int64",
"description": "/ The minimum satoshis this node is required to reserve in its balance."
"description": "The minimum satoshis this node is required to reserve in its balance."
},
"remote_chan_reserve_sat": {
"type": "string",
"format": "int64",
"description": "*\nThe minimum satoshis the other node is required to reserve in its balance."
"description": "The minimum satoshis the other node is required to reserve in its balance."
},
"static_remote_key": {
"type": "boolean",
"format": "boolean",
"description": "/ Deprecated. Use commitment_type."
"description": "Deprecated. Use commitment_type."
},
"commitment_type": {
"$ref": "#/definitions/lnrpcCommitmentType",
"description": "/ The commitment type used by this channel."
"description": "The commitment type used by this channel."
},
"lifetime": {
"type": "string",
"format": "int64",
"description": "*\nThe number of seconds that the channel has been monitored by the channel\nscoring system. Scores are currently not persisted, so this value may be\nless than the lifetime of the channel [EXPERIMENTAL]."
"description": "The number of seconds that the channel has been monitored by the channel\nscoring system. Scores are currently not persisted, so this value may be\nless than the lifetime of the channel [EXPERIMENTAL]."
},
"uptime": {
"type": "string",
"format": "int64",
"description": "*\nThe number of seconds that the remote peer has been observed as being online\nby the channel scoring system over the lifetime of the channel\n[EXPERIMENTAL]."
"description": "The number of seconds that the remote peer has been observed as being online\nby the channel scoring system over the lifetime of the channel\n[EXPERIMENTAL]."
},
"close_address": {
"type": "string",
"description": "*\nClose address is the address that we will enforce payout to on cooperative\nclose if the channel was opened utilizing option upfront shutdown. This\nvalue can be set on channel open by setting close_address in an open channel\nrequest. If this value is not set, you can still choose a payout address by\ncooperatively closing with the delivery_address field set."
"description": "Close address is the address that we will enforce payout to on cooperative\nclose if the channel was opened utilizing option upfront shutdown. This\nvalue can be set on channel open by setting close_address in an open channel\nrequest. If this value is not set, you can still choose a payout address by\ncooperatively closing with the delivery_address field set."
},
"push_amount_sat": {
"type": "string",
@ -1964,7 +1964,7 @@
"thaw_height": {
"type": "integer",
"format": "int64",
"description": "*\nThis uint32 indicates if this channel is to be considered 'frozen'. A\nfrozen channel doest not allow a cooperative channel close by the\ninitiator. The thaw_height is the height that this restriction stops\napplying to the channel. This field is optional, not setting it or using a\nvalue of zero will mean the channel has no additional restrictions."
"description": "This uint32 indicates if this channel is to be considered 'frozen'. A\nfrozen channel doest not allow a cooperative channel close by the\ninitiator. The thaw_height is the height that this restriction stops\napplying to the channel. This field is optional, not setting it or using a\nvalue of zero will mean the channel has no additional restrictions."
}
}
},
@ -1974,67 +1974,67 @@
"node_pubkey": {
"type": "string",
"format": "byte",
"description": "/ The pubkey of the node that wishes to open an inbound channel."
"description": "The pubkey of the node that wishes to open an inbound channel."
},
"chain_hash": {
"type": "string",
"format": "byte",
"description": "/ The hash of the genesis block that the proposed channel resides in."
"description": "The hash of the genesis block that the proposed channel resides in."
},
"pending_chan_id": {
"type": "string",
"format": "byte",
"description": "/ The pending channel id."
"description": "The pending channel id."
},
"funding_amt": {
"type": "string",
"format": "uint64",
"description": "/ The funding amount in satoshis that initiator wishes to use in the\n/ channel."
"description": "The funding amount in satoshis that initiator wishes to use in the\nchannel."
},
"push_amt": {
"type": "string",
"format": "uint64",
"description": "/ The push amount of the proposed channel in millisatoshis."
"description": "The push amount of the proposed channel in millisatoshis."
},
"dust_limit": {
"type": "string",
"format": "uint64",
"description": "/ The dust limit of the initiator's commitment tx."
"description": "The dust limit of the initiator's commitment tx."
},
"max_value_in_flight": {
"type": "string",
"format": "uint64",
"description": "/ The maximum amount of coins in millisatoshis that can be pending in this\n/ channel."
"description": "The maximum amount of coins in millisatoshis that can be pending in this\nchannel."
},
"channel_reserve": {
"type": "string",
"format": "uint64",
"description": "/ The minimum amount of satoshis the initiator requires us to have at all\n/ times."
"description": "The minimum amount of satoshis the initiator requires us to have at all\ntimes."
},
"min_htlc": {
"type": "string",
"format": "uint64",
"description": "/ The smallest HTLC in millisatoshis that the initiator will accept."
"description": "The smallest HTLC in millisatoshis that the initiator will accept."
},
"fee_per_kw": {
"type": "string",
"format": "uint64",
"description": "/ The initial fee rate that the initiator suggests for both commitment\n/ transactions."
"description": "The initial fee rate that the initiator suggests for both commitment\ntransactions."
},
"csv_delay": {
"type": "integer",
"format": "int64",
"description": "*\nThe number of blocks to use for the relative time lock in the pay-to-self\noutput of both commitment transactions."
"description": "The number of blocks to use for the relative time lock in the pay-to-self\noutput of both commitment transactions."
},
"max_accepted_htlcs": {
"type": "integer",
"format": "int64",
"description": "/ The total number of incoming HTLC's that the initiator will accept."
"description": "The total number of incoming HTLC's that the initiator will accept."
},
"channel_flags": {
"type": "integer",
"format": "int64",
"description": "/ A bit-field which the initiator uses to specify proposed channel\n/ behavior."
"description": "A bit-field which the initiator uses to specify proposed channel\nbehavior."
}
}
},
@ -2043,12 +2043,12 @@
"properties": {
"chan_point": {
"$ref": "#/definitions/lnrpcChannelPoint",
"description": "*\nIdentifies the channel that this backup belongs to."
"description": "Identifies the channel that this backup belongs to."
},
"chan_backup": {
"type": "string",
"format": "byte",
"description": "*\nIs an encrypted single-chan backup. this can be passed to\nRestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in\norder to trigger the recovery protocol. When using REST, this field must be\nencoded as base64."
"description": "Is an encrypted single-chan backup. this can be passed to\nRestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in\norder to trigger the recovery protocol. When using REST, this field must be\nencoded as base64."
}
}
},
@ -2060,7 +2060,7 @@
"items": {
"$ref": "#/definitions/lnrpcChannelBackup"
},
"description": "*\nA set of single-chan static channel backups."
"description": "A set of single-chan static channel backups."
}
}
},
@ -2070,12 +2070,12 @@
"balance": {
"type": "string",
"format": "int64",
"title": "/ Sum of channels balances denominated in satoshis"
"title": "Sum of channels balances denominated in satoshis"
},
"pending_open_balance": {
"type": "string",
"format": "int64",
"title": "/ Sum of channels pending balances denominated in satoshis"
"title": "Sum of channels pending balances denominated in satoshis"
}
}
},
@ -2084,56 +2084,56 @@
"properties": {
"channel_point": {
"type": "string",
"description": "/ The outpoint (txid:index) of the funding transaction."
"description": "The outpoint (txid:index) of the funding transaction."
},
"chan_id": {
"type": "string",
"format": "uint64",
"description": "/ The unique channel ID for the channel."
"description": "The unique channel ID for the channel."
},
"chain_hash": {
"type": "string",
"description": "/ The hash of the genesis block that this channel resides within."
"description": "The hash of the genesis block that this channel resides within."
},
"closing_tx_hash": {
"type": "string",
"description": "/ The txid of the transaction which ultimately closed this channel."
"description": "The txid of the transaction which ultimately closed this channel."
},
"remote_pubkey": {
"type": "string",
"description": "/ Public key of the remote peer that we formerly had a channel with."
"description": "Public key of the remote peer that we formerly had a channel with."
},
"capacity": {
"type": "string",
"format": "int64",
"description": "/ Total capacity of the channel."
"description": "Total capacity of the channel."
},
"close_height": {
"type": "integer",
"format": "int64",
"description": "/ Height at which the funding transaction was spent."
"description": "Height at which the funding transaction was spent."
},
"settled_balance": {
"type": "string",
"format": "int64",
"title": "/ Settled balance at the time of channel closure"
"title": "Settled balance at the time of channel closure"
},
"time_locked_balance": {
"type": "string",
"format": "int64",
"title": "/ The sum of all the time-locked outputs at the time of channel closure"
"title": "The sum of all the time-locked outputs at the time of channel closure"
},
"close_type": {
"$ref": "#/definitions/ChannelCloseSummaryClosureType",
"description": "/ Details on how the channel was closed."
"description": "Details on how the channel was closed."
},
"open_initiator": {
"$ref": "#/definitions/lnrpcInitiator",
"description": "*\nOpen initiator is the party that initiated opening the channel. Note that\nthis value may be unknown if the channel was closed before we migrated to\nstore open channel information after close."
"description": "Open initiator is the party that initiated opening the channel. Note that\nthis value may be unknown if the channel was closed before we migrated to\nstore open channel information after close."
},
"close_initiator": {
"$ref": "#/definitions/lnrpcInitiator",
"description": "*\nClose initiator indicates which party initiated the close. This value will\nbe unknown for channels that were cooperatively closed before we started\ntracking cooperative close initiators. Note that this indicates which party\ninitiated a close, and it is possible for both to initiate cooperative or\nforce closes, although only one party's close will be confirmed on chain."
"description": "Close initiator indicates which party initiated the close. This value will\nbe unknown for channels that were cooperatively closed before we started\ntracking cooperative close initiators. Note that this indicates which party\ninitiated a close, and it is possible for both to initiate cooperative or\nforce closes, although only one party's close will be confirmed on chain."
}
}
},
@ -2156,7 +2156,7 @@
"channel_id": {
"type": "string",
"format": "uint64",
"description": "*\nThe unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
"description": "The unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
},
"chan_point": {
"type": "string"
@ -2182,7 +2182,7 @@
"$ref": "#/definitions/lnrpcRoutingPolicy"
}
},
"description": "*\nA fully authenticated channel along with all its unique attributes.\nOnce an authenticated channel announcement has been processed on the network,\nthen an instance of ChannelEdgeInfo encapsulating the channels attributes is\nstored. The other portions relevant to routing policy of a channel are stored\nwithin a ChannelEdgePolicy for each direction of the channel."
"description": "A fully authenticated channel along with all its unique attributes.\nOnce an authenticated channel announcement has been processed on the network,\nthen an instance of ChannelEdgeInfo encapsulating the channels attributes is\nstored. The other portions relevant to routing policy of a channel are stored\nwithin a ChannelEdgePolicy for each direction of the channel."
},
"lnrpcChannelEdgeUpdate": {
"type": "object",
@ -2190,7 +2190,7 @@
"chan_id": {
"type": "string",
"format": "uint64",
"description": "*\nThe unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
"description": "The unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
},
"chan_point": {
"$ref": "#/definitions/lnrpcChannelPoint"
@ -2239,26 +2239,26 @@
"chan_id": {
"type": "string",
"format": "uint64",
"description": "/ The short channel id that this fee report belongs to."
"description": "The short channel id that this fee report belongs to."
},
"channel_point": {
"type": "string",
"description": "/ The channel that this fee report belongs to."
"description": "The channel that this fee report belongs to."
},
"base_fee_msat": {
"type": "string",
"format": "int64",
"description": "/ The base fee charged regardless of the number of milli-satoshis sent."
"description": "The base fee charged regardless of the number of milli-satoshis sent."
},
"fee_per_mil": {
"type": "string",
"format": "int64",
"description": "/ The amount charged per milli-satoshis transferred expressed in\n/ millionths of a satoshi."
"description": "The amount charged per milli-satoshis transferred expressed in\nmillionths of a satoshi."
},
"fee_rate": {
"type": "number",
"format": "double",
"description": "/ The effective fee rate in milli-satoshis. Computed by dividing the\n/ fee_per_mil value by 1 million."
"description": "The effective fee rate in milli-satoshis. Computed by dividing the\nfee_per_mil value by 1 million."
}
}
},
@ -2270,17 +2270,17 @@
"items": {
"$ref": "#/definitions/lnrpcLightningNode"
},
"title": "/ The list of `LightningNode`s in this channel graph"
"title": "The list of `LightningNode`s in this channel graph"
},
"edges": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcChannelEdge"
},
"title": "/ The list of `ChannelEdge`s in this channel graph"
"title": "The list of `ChannelEdge`s in this channel graph"
}
},
"description": "/ Returns a new instance of the directed channel graph."
"description": "Returns a new instance of the directed channel graph."
},
"lnrpcChannelOpenUpdate": {
"type": "object",
@ -2296,16 +2296,16 @@
"funding_txid_bytes": {
"type": "string",
"format": "byte",
"description": "*\nTxid of the funding transaction. When using REST, this field must be\nencoded as base64."
"description": "Txid of the funding transaction. When using REST, this field must be\nencoded as base64."
},
"funding_txid_str": {
"type": "string",
"description": "*\nHex-encoded string representing the byte-reversed hash of the funding\ntransaction."
"description": "Hex-encoded string representing the byte-reversed hash of the funding\ntransaction."
},
"output_index": {
"type": "integer",
"format": "int64",
"title": "/ The index of the output of the funding transaction"
"title": "The index of the output of the funding transaction"
}
}
},
@ -2315,62 +2315,62 @@
"signature": {
"type": "string",
"format": "byte",
"description": "*\nThe signature that validates the announced data and proves the ownership\nof node id."
"description": "The signature that validates the announced data and proves the ownership\nof node id."
},
"chain_hash": {
"type": "string",
"format": "byte",
"description": "*\nThe target chain that this channel was opened within. This value\nshould be the genesis hash of the target chain. Along with the short\nchannel ID, this uniquely identifies the channel globally in a\nblockchain."
"description": "The target chain that this channel was opened within. This value\nshould be the genesis hash of the target chain. Along with the short\nchannel ID, this uniquely identifies the channel globally in a\nblockchain."
},
"chan_id": {
"type": "string",
"format": "uint64",
"description": "*\nThe unique description of the funding transaction."
"description": "The unique description of the funding transaction."
},
"timestamp": {
"type": "integer",
"format": "int64",
"description": "*\nA timestamp that allows ordering in the case of multiple announcements.\nWe should ignore the message if timestamp is not greater than the\nlast-received."
"description": "A timestamp that allows ordering in the case of multiple announcements.\nWe should ignore the message if timestamp is not greater than the\nlast-received."
},
"message_flags": {
"type": "integer",
"format": "int64",
"description": "*\nThe bitfield that describes whether optional fields are present in this\nupdate. Currently, the least-significant bit must be set to 1 if the\noptional field MaxHtlc is present."
"description": "The bitfield that describes whether optional fields are present in this\nupdate. Currently, the least-significant bit must be set to 1 if the\noptional field MaxHtlc is present."
},
"channel_flags": {
"type": "integer",
"format": "int64",
"description": "*\nThe bitfield that describes additional meta-data concerning how the\nupdate is to be interpreted. Currently, the least-significant bit must be\nset to 0 if the creating node corresponds to the first node in the\npreviously sent channel announcement and 1 otherwise. If the second bit\nis set, then the channel is set to be disabled."
"description": "The bitfield that describes additional meta-data concerning how the\nupdate is to be interpreted. Currently, the least-significant bit must be\nset to 0 if the creating node corresponds to the first node in the\npreviously sent channel announcement and 1 otherwise. If the second bit\nis set, then the channel is set to be disabled."
},
"time_lock_delta": {
"type": "integer",
"format": "int64",
"description": "*\nThe minimum number of blocks this node requires to be added to the expiry\nof HTLCs. This is a security parameter determined by the node operator.\nThis value represents the required gap between the time locks of the\nincoming and outgoing HTLC's set to this node."
"description": "The minimum number of blocks this node requires to be added to the expiry\nof HTLCs. This is a security parameter determined by the node operator.\nThis value represents the required gap between the time locks of the\nincoming and outgoing HTLC's set to this node."
},
"htlc_minimum_msat": {
"type": "string",
"format": "uint64",
"description": "*\nThe minimum HTLC value which will be accepted."
"description": "The minimum HTLC value which will be accepted."
},
"base_fee": {
"type": "integer",
"format": "int64",
"description": "*\nThe base fee that must be used for incoming HTLC's to this particular\nchannel. This value will be tacked onto the required for a payment\nindependent of the size of the payment."
"description": "The base fee that must be used for incoming HTLC's to this particular\nchannel. This value will be tacked onto the required for a payment\nindependent of the size of the payment."
},
"fee_rate": {
"type": "integer",
"format": "int64",
"description": "*\nThe fee rate that will be charged per millionth of a satoshi."
"description": "The fee rate that will be charged per millionth of a satoshi."
},
"htlc_maximum_msat": {
"type": "string",
"format": "uint64",
"description": "*\nThe maximum HTLC value which will be accepted."
"description": "The maximum HTLC value which will be accepted."
},
"extra_opaque_data": {
"type": "string",
"format": "byte",
"description": "*\nThe set of data that was appended to this message, some of which we may\nnot actually know how to iterate or parse. By holding onto this data, we\nensure that we're able to properly validate the set of signatures that\ncover these new fields, and ensure we're able to make upgrades to the\nnetwork in a forwards compatible manner."
"description": "The set of data that was appended to this message, some of which we may\nnot actually know how to iterate or parse. By holding onto this data, we\nensure that we're able to properly validate the set of signatures that\ncover these new fields, and ensure we're able to make upgrades to the\nnetwork in a forwards compatible manner."
}
}
},
@ -2391,7 +2391,7 @@
"chan_id": {
"type": "string",
"format": "uint64",
"description": "*\nThe unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
"description": "The unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
},
"capacity": {
"type": "string",
@ -2426,19 +2426,19 @@
"UNKNOWN_COMMITMENT_TYPE"
],
"default": "LEGACY",
"description": " - LEGACY: *\nA channel using the legacy commitment format having tweaked to_remote\nkeys.\n - STATIC_REMOTE_KEY: *\nA channel that uses the modern commitment format where the key in the\noutput of the remote party does not change each state. This makes back\nup and recovery easier as when the channel is closed, the funds go\ndirectly to that key.\n - ANCHORS: *\nA channel that uses a commitment format that has anchor outputs on the\ncommitments, allowing fee bumping after a force close transaction has\nbeen broadcast.\n - UNKNOWN_COMMITMENT_TYPE: *\nReturned when the commitment type isn't known or unavailable."
"description": " - LEGACY: A channel using the legacy commitment format having tweaked to_remote\nkeys.\n - STATIC_REMOTE_KEY: A channel that uses the modern commitment format where the key in the\noutput of the remote party does not change each state. This makes back\nup and recovery easier as when the channel is closed, the funds go\ndirectly to that key.\n - ANCHORS: A channel that uses a commitment format that has anchor outputs on the\ncommitments, allowing fee bumping after a force close transaction has\nbeen broadcast.\n - UNKNOWN_COMMITMENT_TYPE: Returned when the commitment type isn't known or unavailable."
},
"lnrpcConnectPeerRequest": {
"type": "object",
"properties": {
"addr": {
"$ref": "#/definitions/lnrpcLightningAddress",
"title": "/ Lightning address of the peer, in the format `\u003cpubkey\u003e@host`"
"title": "Lightning address of the peer, in the format `\u003cpubkey\u003e@host`"
},
"perm": {
"type": "boolean",
"format": "boolean",
"description": "* If set, the daemon will attempt to persistently connect to the target\npeer. Otherwise, the call will be synchronous."
"description": "If set, the daemon will attempt to persistently connect to the target\npeer. Otherwise, the call will be synchronous."
}
}
},
@ -2465,12 +2465,12 @@
"channel_id": {
"type": "string",
"format": "uint64",
"description": "/ The short channel id of this edge."
"description": "The short channel id of this edge."
},
"direction_reverse": {
"type": "boolean",
"format": "boolean",
"description": "*\nThe direction of this edge. If direction_reverse is false, the direction\nof this edge is from the channel endpoint with the lexicographically smaller\npub key to the endpoint with the larger pub key. If direction_reverse is\nis true, the edge goes the other way."
"description": "The direction of this edge. If direction_reverse is false, the direction\nof this edge is from the channel endpoint with the lexicographically smaller\npub key to the endpoint with the larger pub key. If direction_reverse is\nis true, the edge goes the other way."
}
}
},
@ -2480,12 +2480,12 @@
"fee_sat": {
"type": "string",
"format": "int64",
"description": "/ The total fee in satoshis."
"description": "The total fee in satoshis."
},
"feerate_sat_per_byte": {
"type": "string",
"format": "int64",
"description": "/ The fee rate in satoshi/byte."
"description": "The fee rate in satoshi/byte."
}
}
},
@ -2494,41 +2494,41 @@
"properties": {
"code": {
"$ref": "#/definitions/FailureFailureCode",
"title": "/ Failure code as defined in the Lightning spec"
"title": "Failure code as defined in the Lightning spec"
},
"channel_update": {
"$ref": "#/definitions/lnrpcChannelUpdate",
"description": "/ An optional channel update message."
"description": "An optional channel update message."
},
"htlc_msat": {
"type": "string",
"format": "uint64",
"description": "/ A failure type-dependent htlc value."
"description": "A failure type-dependent htlc value."
},
"onion_sha_256": {
"type": "string",
"format": "byte",
"description": "/ The sha256 sum of the onion payload."
"description": "The sha256 sum of the onion payload."
},
"cltv_expiry": {
"type": "integer",
"format": "int64",
"description": "/ A failure type-dependent cltv expiry value."
"description": "A failure type-dependent cltv expiry value."
},
"flags": {
"type": "integer",
"format": "int64",
"description": "/ A failure type-dependent flags value."
"description": "A failure type-dependent flags value."
},
"failure_source_index": {
"type": "integer",
"format": "int64",
"description": "*\nThe position in the path of the intermediate or final node that generated\nthe failure message. Position zero is the sender node."
"description": "The position in the path of the intermediate or final node that generated\nthe failure message. Position zero is the sender node."
},
"height": {
"type": "integer",
"format": "int64",
"description": "/ A failure type-dependent block height."
"description": "A failure type-dependent block height."
}
}
},
@ -2577,17 +2577,17 @@
"fixed": {
"type": "string",
"format": "int64",
"description": "*\nThe fee limit expressed as a fixed amount of satoshis.\n\nThe fields fixed and fixed_msat are mutually exclusive."
"description": "The fee limit expressed as a fixed amount of satoshis.\n\nThe fields fixed and fixed_msat are mutually exclusive."
},
"fixed_msat": {
"type": "string",
"format": "int64",
"description": "*\nThe fee limit expressed as a fixed amount of millisatoshis.\n\nThe fields fixed and fixed_msat are mutually exclusive."
"description": "The fee limit expressed as a fixed amount of millisatoshis.\n\nThe fields fixed and fixed_msat are mutually exclusive."
},
"percent": {
"type": "string",
"format": "int64",
"description": "/ The fee limit expressed as a percentage of the payment amount."
"description": "The fee limit expressed as a percentage of the payment amount."
}
}
},
@ -2599,22 +2599,22 @@
"items": {
"$ref": "#/definitions/lnrpcChannelFeeReport"
},
"description": "/ An array of channel fee reports which describes the current fee schedule\n/ for each channel."
"description": "An array of channel fee reports which describes the current fee schedule\nfor each channel."
},
"day_fee_sum": {
"type": "string",
"format": "uint64",
"description": "/ The total amount of fee revenue (in satoshis) the switch has collected\n/ over the past 24 hrs."
"description": "The total amount of fee revenue (in satoshis) the switch has collected\nover the past 24 hrs."
},
"week_fee_sum": {
"type": "string",
"format": "uint64",
"description": "/ The total amount of fee revenue (in satoshis) the switch has collected\n/ over the past 1 week."
"description": "The total amount of fee revenue (in satoshis) the switch has collected\nover the past 1 week."
},
"month_fee_sum": {
"type": "string",
"format": "uint64",
"description": "/ The total amount of fee revenue (in satoshis) the switch has collected\n/ over the past 1 month."
"description": "The total amount of fee revenue (in satoshis) the switch has collected\nover the past 1 month."
}
}
},
@ -2624,12 +2624,12 @@
"value": {
"type": "number",
"format": "double",
"description": "/ Arbitrary float value."
"description": "Arbitrary float value."
},
"normalized_value": {
"type": "number",
"format": "double",
"description": "/ The value normalized to [0,1] or [-1,1]."
"description": "The value normalized to [0,1] or [-1,1]."
}
}
},
@ -2639,47 +2639,47 @@
"timestamp": {
"type": "string",
"format": "uint64",
"description": "/ Timestamp is the time (unix epoch offset) that this circuit was\n/ completed."
"description": "Timestamp is the time (unix epoch offset) that this circuit was\ncompleted."
},
"chan_id_in": {
"type": "string",
"format": "uint64",
"description": "/ The incoming channel ID that carried the HTLC that created the circuit."
"description": "The incoming channel ID that carried the HTLC that created the circuit."
},
"chan_id_out": {
"type": "string",
"format": "uint64",
"description": "/ The outgoing channel ID that carried the preimage that completed the\n/ circuit."
"description": "The outgoing channel ID that carried the preimage that completed the\ncircuit."
},
"amt_in": {
"type": "string",
"format": "uint64",
"description": "/ The total amount (in satoshis) of the incoming HTLC that created half\n/ the circuit."
"description": "The total amount (in satoshis) of the incoming HTLC that created half\nthe circuit."
},
"amt_out": {
"type": "string",
"format": "uint64",
"description": "/ The total amount (in satoshis) of the outgoing HTLC that created the\n/ second half of the circuit."
"description": "The total amount (in satoshis) of the outgoing HTLC that created the\nsecond half of the circuit."
},
"fee": {
"type": "string",
"format": "uint64",
"description": "/ The total fee (in satoshis) that this payment circuit carried."
"description": "The total fee (in satoshis) that this payment circuit carried."
},
"fee_msat": {
"type": "string",
"format": "uint64",
"description": "/ The total fee (in milli-satoshis) that this payment circuit carried."
"description": "The total fee (in milli-satoshis) that this payment circuit carried."
},
"amt_in_msat": {
"type": "string",
"format": "uint64",
"description": "/ The total amount (in milli-satoshis) of the incoming HTLC that created\n/ half the circuit."
"description": "The total amount (in milli-satoshis) of the incoming HTLC that created\nhalf the circuit."
},
"amt_out_msat": {
"type": "string",
"format": "uint64",
"description": "/ The total amount (in milli-satoshis) of the outgoing HTLC that created\n/ the second half of the circuit."
"description": "The total amount (in milli-satoshis) of the outgoing HTLC that created\nthe second half of the circuit."
}
}
},
@ -2689,22 +2689,22 @@
"start_time": {
"type": "string",
"format": "uint64",
"description": "/ Start time is the starting point of the forwarding history request. All\n/ records beyond this point will be included, respecting the end time, and\n/ the index offset."
"description": "Start time is the starting point of the forwarding history request. All\nrecords beyond this point will be included, respecting the end time, and\nthe index offset."
},
"end_time": {
"type": "string",
"format": "uint64",
"description": "/ End time is the end point of the forwarding history request. The\n/ response will carry at most 50k records between the start time and the\n/ end time. The index offset can be used to implement pagination."
"description": "End time is the end point of the forwarding history request. The\nresponse will carry at most 50k records between the start time and the\nend time. The index offset can be used to implement pagination."
},
"index_offset": {
"type": "integer",
"format": "int64",
"description": "/ Index offset is the offset in the time series to start at. As each\n/ response can only contain 50k records, callers can use this to skip\n/ around within a packed time series."
"description": "Index offset is the offset in the time series to start at. As each\nresponse can only contain 50k records, callers can use this to skip\naround within a packed time series."
},
"num_max_events": {
"type": "integer",
"format": "int64",
"description": "/ The max number of events to return in the response to this query."
"description": "The max number of events to return in the response to this query."
}
}
},
@ -2716,12 +2716,12 @@
"items": {
"$ref": "#/definitions/lnrpcForwardingEvent"
},
"description": "/ A list of forwarding events from the time slice of the time series\n/ specified in the request."
"description": "A list of forwarding events from the time slice of the time series\nspecified in the request."
},
"last_offset_index": {
"type": "integer",
"format": "int64",
"description": "/ The index of the last time in the set of returned forwarding events. Can\n/ be used to seek further, pagination style."
"description": "The index of the last time in the set of returned forwarding events. Can\nbe used to seek further, pagination style."
}
}
},
@ -2731,12 +2731,12 @@
"signed_psbt": {
"type": "string",
"format": "byte",
"description": "*\nThe funded PSBT that contains all witness data to send the exact channel\ncapacity amount to the PK script returned in the open channel message in a\nprevious step."
"description": "The funded PSBT that contains all witness data to send the exact channel\ncapacity amount to the PK script returned in the open channel message in a\nprevious step."
},
"pending_chan_id": {
"type": "string",
"format": "byte",
"description": "/ The pending channel ID of the channel to get the PSBT for."
"description": "The pending channel ID of the channel to get the PSBT for."
}
}
},
@ -2746,12 +2746,12 @@
"funded_psbt": {
"type": "string",
"format": "byte",
"description": "*\nThe funded but not yet signed PSBT that sends the exact channel capacity\namount to the PK script returned in the open channel message in a previous\nstep."
"description": "The funded but not yet signed PSBT that sends the exact channel capacity\namount to the PK script returned in the open channel message in a previous\nstep."
},
"pending_chan_id": {
"type": "string",
"format": "byte",
"description": "/ The pending channel ID of the channel to get the PSBT for."
"description": "The pending channel ID of the channel to get the PSBT for."
}
}
},
@ -2760,11 +2760,11 @@
"properties": {
"chan_point_shim": {
"$ref": "#/definitions/lnrpcChanPointShim",
"description": "*\nA channel shim where the channel point was fully constructed outside\nof lnd's wallet and the transaction might already be published."
"description": "A channel shim where the channel point was fully constructed outside\nof lnd's wallet and the transaction might already be published."
},
"psbt_shim": {
"$ref": "#/definitions/lnrpcPsbtShim",
"description": "*\nA channel shim that uses a PSBT to fund and sign the channel funding\ntransaction."
"description": "A channel shim that uses a PSBT to fund and sign the channel funding\ntransaction."
}
}
},
@ -2774,7 +2774,7 @@
"pending_chan_id": {
"type": "string",
"format": "byte",
"description": "/ The pending channel ID of the channel to cancel the funding shim for."
"description": "The pending channel ID of the channel to cancel the funding shim for."
}
}
},
@ -2786,62 +2786,62 @@
"properties": {
"version": {
"type": "string",
"description": "/ The version of the LND software that the node is running."
"description": "The version of the LND software that the node is running."
},
"commit_hash": {
"type": "string",
"description": "/ The SHA1 commit hash that the daemon is compiled with."
"description": "The SHA1 commit hash that the daemon is compiled with."
},
"identity_pubkey": {
"type": "string",
"description": "/ The identity pubkey of the current node."
"description": "The identity pubkey of the current node."
},
"alias": {
"type": "string",
"title": "/ If applicable, the alias of the current node, e.g. \"bob\""
"title": "If applicable, the alias of the current node, e.g. \"bob\""
},
"color": {
"type": "string",
"title": "/ The color of the current node in hex code format"
"title": "The color of the current node in hex code format"
},
"num_pending_channels": {
"type": "integer",
"format": "int64",
"title": "/ Number of pending channels"
"title": "Number of pending channels"
},
"num_active_channels": {
"type": "integer",
"format": "int64",
"title": "/ Number of active channels"
"title": "Number of active channels"
},
"num_inactive_channels": {
"type": "integer",
"format": "int64",
"title": "/ Number of inactive channels"
"title": "Number of inactive channels"
},
"num_peers": {
"type": "integer",
"format": "int64",
"title": "/ Number of peers"
"title": "Number of peers"
},
"block_height": {
"type": "integer",
"format": "int64",
"title": "/ The node's current view of the height of the best block"
"title": "The node's current view of the height of the best block"
},
"block_hash": {
"type": "string",
"title": "/ The node's current view of the hash of the best block"
"title": "The node's current view of the hash of the best block"
},
"best_header_timestamp": {
"type": "string",
"format": "int64",
"title": "/ Timestamp of the block best known to the wallet"
"title": "Timestamp of the block best known to the wallet"
},
"synced_to_chain": {
"type": "boolean",
"format": "boolean",
"title": "/ Whether the wallet's view is synced to the main chain"
"title": "Whether the wallet's view is synced to the main chain"
},
"synced_to_graph": {
"type": "boolean",
@ -2851,21 +2851,21 @@
"testnet": {
"type": "boolean",
"format": "boolean",
"title": "*\nWhether the current node is connected to testnet. This field is\ndeprecated and the network field should be used instead"
"title": "Whether the current node is connected to testnet. This field is\ndeprecated and the network field should be used instead"
},
"chains": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcChain"
},
"title": "/ A list of active chains the node is connected to"
"title": "A list of active chains the node is connected to"
},
"uris": {
"type": "array",
"items": {
"type": "string"
},
"description": "/ The URIs of the current node."
"description": "The URIs of the current node."
},
"features": {
"type": "object",
@ -2925,21 +2925,21 @@
"properties": {
"status": {
"$ref": "#/definitions/HTLCAttemptHTLCStatus",
"description": "/ The status of the HTLC."
"description": "The status of the HTLC."
},
"route": {
"$ref": "#/definitions/lnrpcRoute",
"description": "/ The route taken by this HTLC."
"description": "The route taken by this HTLC."
},
"attempt_time_ns": {
"type": "string",
"format": "int64",
"description": "/ The time in UNIX nanoseconds at which this HTLC was sent."
"description": "The time in UNIX nanoseconds at which this HTLC was sent."
},
"resolve_time_ns": {
"type": "string",
"format": "int64",
"description": "*\nThe time in UNIX nanoseconds at which this HTLC was settled or failed.\nThis value will not be set if the HTLC is still IN_FLIGHT."
"description": "The time in UNIX nanoseconds at which this HTLC was settled or failed.\nThis value will not be set if the HTLC is still IN_FLIGHT."
},
"failure": {
"$ref": "#/definitions/lnrpcFailure",
@ -2953,7 +2953,7 @@
"chan_id": {
"type": "string",
"format": "uint64",
"description": "*\nThe unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
"description": "The unique channel ID for the channel. The first 3 bytes are the block\nheight, the next 3 the index within the block, and the last 2 bytes are the\noutput index for the channel."
},
"chan_capacity": {
"type": "string",
@ -2981,16 +2981,16 @@
},
"pub_key": {
"type": "string",
"description": "*\nAn optional public key of the hop. If the public key is given, the payment\ncan be executed without relying on a copy of the channel graph."
"description": "An optional public key of the hop. If the public key is given, the payment\ncan be executed without relying on a copy of the channel graph."
},
"tlv_payload": {
"type": "boolean",
"format": "boolean",
"description": "*\nIf set to true, then this hop will be encoded using the new variable length\nTLV format. Note that if any custom tlv_records below are specified, then\nthis field MUST be set to true for them to be encoded properly."
"description": "If set to true, then this hop will be encoded using the new variable length\nTLV format. Note that if any custom tlv_records below are specified, then\nthis field MUST be set to true for them to be encoded properly."
},
"mpp_record": {
"$ref": "#/definitions/lnrpcMPPRecord",
"description": "*\nAn optional TLV record that signals the use of an MPP payment. If present,\nthe receiver will enforce that that the same mpp_record is included in the\nfinal hop payload of all non-zero payments in the HTLC set. If empty, a\nregular single-shot payment is or was attempted."
"description": "An optional TLV record that signals the use of an MPP payment. If present,\nthe receiver will enforce that that the same mpp_record is included in the\nfinal hop payload of all non-zero payments in the HTLC set. If empty, a\nregular single-shot payment is or was attempted."
},
"custom_records": {
"type": "object",
@ -2998,7 +2998,7 @@
"type": "string",
"format": "byte"
},
"description": "*\nAn optional set of key-value TLV records. This is useful within the context\nof the SendToRoute call as it allows callers to specify arbitrary K-V pairs\nto drop off at each hop within the onion."
"description": "An optional set of key-value TLV records. This is useful within the context\nof the SendToRoute call as it allows callers to specify arbitrary K-V pairs\nto drop off at each hop within the onion."
}
}
},
@ -3007,27 +3007,27 @@
"properties": {
"node_id": {
"type": "string",
"description": "/ The public key of the node at the start of the channel."
"description": "The public key of the node at the start of the channel."
},
"chan_id": {
"type": "string",
"format": "uint64",
"description": "/ The unique identifier of the channel."
"description": "The unique identifier of the channel."
},
"fee_base_msat": {
"type": "integer",
"format": "int64",
"description": "/ The base fee of the channel denominated in millisatoshis."
"description": "The base fee of the channel denominated in millisatoshis."
},
"fee_proportional_millionths": {
"type": "integer",
"format": "int64",
"description": "*\nThe fee rate of the channel for sending one satoshi across it denominated in\nmillionths of a satoshi."
"description": "The fee rate of the channel for sending one satoshi across it denominated in\nmillionths of a satoshi."
},
"cltv_expiry_delta": {
"type": "integer",
"format": "int64",
"description": "/ The time-lock delta of the channel."
"description": "The time-lock delta of the channel."
}
}
},
@ -3046,127 +3046,127 @@
"properties": {
"memo": {
"type": "string",
"description": "*\nAn optional memo to attach along with the invoice. Used for record keeping\npurposes for the invoice's creator, and will also be set in the description\nfield of the encoded payment request if the description_hash field is not\nbeing used."
"description": "An optional memo to attach along with the invoice. Used for record keeping\npurposes for the invoice's creator, and will also be set in the description\nfield of the encoded payment request if the description_hash field is not\nbeing used."
},
"r_preimage": {
"type": "string",
"format": "byte",
"description": "*\nThe hex-encoded preimage (32 byte) which will allow settling an incoming\nHTLC payable to this preimage. When using REST, this field must be encoded\nas base64."
"description": "The hex-encoded preimage (32 byte) which will allow settling an incoming\nHTLC payable to this preimage. When using REST, this field must be encoded\nas base64."
},
"r_hash": {
"type": "string",
"format": "byte",
"description": "*\nThe hash of the preimage. When using REST, this field must be encoded as\nbase64."
"description": "The hash of the preimage. When using REST, this field must be encoded as\nbase64."
},
"value": {
"type": "string",
"format": "int64",
"description": "The fields value and value_msat are mutually exclusive.",
"title": "*\nThe value of this invoice in satoshis"
"title": "The value of this invoice in satoshis"
},
"value_msat": {
"type": "string",
"format": "int64",
"description": "The fields value and value_msat are mutually exclusive.",
"title": "*\nThe value of this invoice in millisatoshis"
"title": "The value of this invoice in millisatoshis"
},
"settled": {
"type": "boolean",
"format": "boolean",
"title": "/ Whether this invoice has been fulfilled"
"title": "Whether this invoice has been fulfilled"
},
"creation_date": {
"type": "string",
"format": "int64",
"title": "/ When this invoice was created"
"title": "When this invoice was created"
},
"settle_date": {
"type": "string",
"format": "int64",
"title": "/ When this invoice was settled"
"title": "When this invoice was settled"
},
"payment_request": {
"type": "string",
"description": "*\nA bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
"description": "A bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
},
"description_hash": {
"type": "string",
"format": "byte",
"description": "*\nHash (SHA-256) of a description of the payment. Used if the description of\npayment (memo) is too long to naturally fit within the description field\nof an encoded payment request. When using REST, this field must be encoded\nas base64."
"description": "Hash (SHA-256) of a description of the payment. Used if the description of\npayment (memo) is too long to naturally fit within the description field\nof an encoded payment request. When using REST, this field must be encoded\nas base64."
},
"expiry": {
"type": "string",
"format": "int64",
"description": "/ Payment request expiry time in seconds. Default is 3600 (1 hour)."
"description": "Payment request expiry time in seconds. Default is 3600 (1 hour)."
},
"fallback_addr": {
"type": "string",
"description": "/ Fallback on-chain address."
"description": "Fallback on-chain address."
},
"cltv_expiry": {
"type": "string",
"format": "uint64",
"description": "/ Delta to use for the time-lock of the CLTV extended to the final hop."
"description": "Delta to use for the time-lock of the CLTV extended to the final hop."
},
"route_hints": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcRouteHint"
},
"description": "*\nRoute hints that can each be individually used to assist in reaching the\ninvoice's destination."
"description": "Route hints that can each be individually used to assist in reaching the\ninvoice's destination."
},
"private": {
"type": "boolean",
"format": "boolean",
"description": "/ Whether this invoice should include routing hints for private channels."
"description": "Whether this invoice should include routing hints for private channels."
},
"add_index": {
"type": "string",
"format": "uint64",
"description": "*\nThe \"add\" index of this invoice. Each newly created invoice will increment\nthis index making it monotonically increasing. Callers to the\nSubscribeInvoices call can use this to instantly get notified of all added\ninvoices with an add_index greater than this one."
"description": "The \"add\" index of this invoice. Each newly created invoice will increment\nthis index making it monotonically increasing. Callers to the\nSubscribeInvoices call can use this to instantly get notified of all added\ninvoices with an add_index greater than this one."
},
"settle_index": {
"type": "string",
"format": "uint64",
"description": "*\nThe \"settle\" index of this invoice. Each newly settled invoice will\nincrement this index making it monotonically increasing. Callers to the\nSubscribeInvoices call can use this to instantly get notified of all\nsettled invoices with an settle_index greater than this one."
"description": "The \"settle\" index of this invoice. Each newly settled invoice will\nincrement this index making it monotonically increasing. Callers to the\nSubscribeInvoices call can use this to instantly get notified of all\nsettled invoices with an settle_index greater than this one."
},
"amt_paid": {
"type": "string",
"format": "int64",
"description": "/ Deprecated, use amt_paid_sat or amt_paid_msat."
"description": "Deprecated, use amt_paid_sat or amt_paid_msat."
},
"amt_paid_sat": {
"type": "string",
"format": "int64",
"description": "*\nThe amount that was accepted for this invoice, in satoshis. This will ONLY\nbe set if this invoice has been settled. We provide this field as if the\ninvoice was created with a zero value, then we need to record what amount\nwas ultimately accepted. Additionally, it's possible that the sender paid\nMORE that was specified in the original invoice. So we'll record that here\nas well."
"description": "The amount that was accepted for this invoice, in satoshis. This will ONLY\nbe set if this invoice has been settled. We provide this field as if the\ninvoice was created with a zero value, then we need to record what amount\nwas ultimately accepted. Additionally, it's possible that the sender paid\nMORE that was specified in the original invoice. So we'll record that here\nas well."
},
"amt_paid_msat": {
"type": "string",
"format": "int64",
"description": "*\nThe amount that was accepted for this invoice, in millisatoshis. This will\nONLY be set if this invoice has been settled. We provide this field as if\nthe invoice was created with a zero value, then we need to record what\namount was ultimately accepted. Additionally, it's possible that the sender\npaid MORE that was specified in the original invoice. So we'll record that\nhere as well."
"description": "The amount that was accepted for this invoice, in millisatoshis. This will\nONLY be set if this invoice has been settled. We provide this field as if\nthe invoice was created with a zero value, then we need to record what\namount was ultimately accepted. Additionally, it's possible that the sender\npaid MORE that was specified in the original invoice. So we'll record that\nhere as well."
},
"state": {
"$ref": "#/definitions/InvoiceInvoiceState",
"description": "*\nThe state the invoice is in."
"description": "The state the invoice is in."
},
"htlcs": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcInvoiceHTLC"
},
"description": "/ List of HTLCs paying to this invoice [EXPERIMENTAL]."
"description": "List of HTLCs paying to this invoice [EXPERIMENTAL]."
},
"features": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/lnrpcFeature"
},
"description": "/ List of features advertised on the invoice."
"description": "List of features advertised on the invoice."
},
"is_keysend": {
"type": "boolean",
"format": "boolean",
"description": "*\nIndicates if this invoice was a spontaneous payment that arrived via keysend\n[EXPERIMENTAL]."
"description": "Indicates if this invoice was a spontaneous payment that arrived via keysend\n[EXPERIMENTAL]."
}
}
},
@ -3176,41 +3176,41 @@
"chan_id": {
"type": "string",
"format": "uint64",
"description": "/ Short channel id over which the htlc was received."
"description": "Short channel id over which the htlc was received."
},
"htlc_index": {
"type": "string",
"format": "uint64",
"description": "/ Index identifying the htlc on the channel."
"description": "Index identifying the htlc on the channel."
},
"amt_msat": {
"type": "string",
"format": "uint64",
"description": "/ The amount of the htlc in msat."
"description": "The amount of the htlc in msat."
},
"accept_height": {
"type": "integer",
"format": "int32",
"description": "/ Block height at which this htlc was accepted."
"description": "Block height at which this htlc was accepted."
},
"accept_time": {
"type": "string",
"format": "int64",
"description": "/ Time at which this htlc was accepted."
"description": "Time at which this htlc was accepted."
},
"resolve_time": {
"type": "string",
"format": "int64",
"description": "/ Time at which this htlc was settled or canceled."
"description": "Time at which this htlc was settled or canceled."
},
"expiry_height": {
"type": "integer",
"format": "int32",
"description": "/ Block height at which this htlc expires."
"description": "Block height at which this htlc expires."
},
"state": {
"$ref": "#/definitions/lnrpcInvoiceHTLCState",
"description": "/ Current state the htlc is in."
"description": "Current state the htlc is in."
},
"custom_records": {
"type": "object",
@ -3218,15 +3218,15 @@
"type": "string",
"format": "byte"
},
"description": "/ Custom tlv records."
"description": "Custom tlv records."
},
"mpp_total_amt_msat": {
"type": "string",
"format": "uint64",
"description": "/ The total amount of the mpp payment in msat."
"description": "The total amount of the mpp payment in msat."
}
},
"title": "/ Details of an HTLC that paid to an invoice"
"title": "Details of an HTLC that paid to an invoice"
},
"lnrpcInvoiceHTLCState": {
"type": "string",
@ -3243,11 +3243,11 @@
"raw_key_bytes": {
"type": "string",
"format": "byte",
"description": "*\nThe raw bytes of the key being identified."
"description": "The raw bytes of the key being identified."
},
"key_loc": {
"$ref": "#/definitions/lnrpcKeyLocator",
"description": "*\nThe key locator that identifies which key to use for signing."
"description": "The key locator that identifies which key to use for signing."
}
}
},
@ -3257,12 +3257,12 @@
"key_family": {
"type": "integer",
"format": "int32",
"description": "/ The family of key being identified."
"description": "The family of key being identified."
},
"key_index": {
"type": "integer",
"format": "int32",
"description": "/ The precise index of the key being identified."
"description": "The precise index of the key being identified."
}
}
},
@ -3271,11 +3271,11 @@
"properties": {
"pubkey": {
"type": "string",
"title": "/ The identity pubkey of the Lightning node"
"title": "The identity pubkey of the Lightning node"
},
"host": {
"type": "string",
"title": "/ The network location of the lightning node, e.g. `69.69.69.69:1337` or\n/ `localhost:10011`"
"title": "The network location of the lightning node, e.g. `69.69.69.69:1337` or\n`localhost:10011`"
}
}
},
@ -3308,7 +3308,7 @@
}
}
},
"description": "*\nAn individual vertex/node within the channel graph. A node is\nconnected to other nodes by one or more channel edges emanating from it. As the\ngraph is directed, a node will also have an incoming edge attached to it for\neach outgoing edge."
"description": "An individual vertex/node within the channel graph. A node is\nconnected to other nodes by one or more channel edges emanating from it. As the\ngraph is directed, a node will also have an incoming edge attached to it for\neach outgoing edge."
},
"lnrpcListChannelsResponse": {
"type": "object",
@ -3318,7 +3318,7 @@
"items": {
"$ref": "#/definitions/lnrpcChannel"
},
"title": "/ The list of active channels"
"title": "The list of active channels"
}
}
},
@ -3330,17 +3330,17 @@
"items": {
"$ref": "#/definitions/lnrpcInvoice"
},
"description": "*\nA list of invoices from the time slice of the time series specified in the\nrequest."
"description": "A list of invoices from the time slice of the time series specified in the\nrequest."
},
"last_index_offset": {
"type": "string",
"format": "uint64",
"description": "*\nThe index of the last item in the set of returned invoices. This can be used\nto seek further, pagination style."
"description": "The index of the last item in the set of returned invoices. This can be used\nto seek further, pagination style."
},
"first_index_offset": {
"type": "string",
"format": "uint64",
"description": "*\nThe index of the last item in the set of returned invoices. This can be used\nto seek backwards, pagination style."
"description": "The index of the last item in the set of returned invoices. This can be used\nto seek backwards, pagination style."
}
}
},
@ -3352,17 +3352,17 @@
"items": {
"$ref": "#/definitions/lnrpcPayment"
},
"title": "/ The list of payments"
"title": "The list of payments"
},
"first_index_offset": {
"type": "string",
"format": "uint64",
"description": "*\nThe index of the first item in the set of returned payments. This can be\nused as the index_offset to continue seeking backwards in the next request."
"description": "The index of the first item in the set of returned payments. This can be\nused as the index_offset to continue seeking backwards in the next request."
},
"last_index_offset": {
"type": "string",
"format": "uint64",
"description": "*\nThe index of the last item in the set of returned payments. This can be used\nas the index_offset to continue seeking forwards in the next request."
"description": "The index of the last item in the set of returned payments. This can be used\nas the index_offset to continue seeking forwards in the next request."
}
}
},
@ -3374,7 +3374,7 @@
"items": {
"$ref": "#/definitions/lnrpcPeer"
},
"title": "/ The list of currently connected peers"
"title": "The list of currently connected peers"
}
}
},
@ -3386,7 +3386,7 @@
"items": {
"$ref": "#/definitions/lnrpcUtxo"
},
"title": "/ A list of utxos"
"title": "A list of utxos"
}
}
},
@ -3396,12 +3396,12 @@
"payment_addr": {
"type": "string",
"format": "byte",
"description": "*\nA unique, random identifier used to authenticate the sender as the intended\npayer of a multi-path payment. The payment_addr must be the same for all\nsubpayments, and match the payment_addr provided in the receiver's invoice.\nThe same payment_addr must be used on all subpayments."
"description": "A unique, random identifier used to authenticate the sender as the intended\npayer of a multi-path payment. The payment_addr must be the same for all\nsubpayments, and match the payment_addr provided in the receiver's invoice.\nThe same payment_addr must be used on all subpayments."
},
"total_amt_msat": {
"type": "string",
"format": "int64",
"description": "*\nThe total amount in milli-satoshis being sent as part of a larger multi-path\npayment. The caller is responsible for ensuring subpayments to the same node\nand payment_hash sum exactly to total_amt_msat. The same\ntotal_amt_msat must be used on all subpayments."
"description": "The total amount in milli-satoshis being sent as part of a larger multi-path\npayment. The caller is responsible for ensuring subpayments to the same node\nand payment_hash sum exactly to total_amt_msat. The same\ntotal_amt_msat must be used on all subpayments."
}
}
},
@ -3410,11 +3410,11 @@
"properties": {
"entity": {
"type": "string",
"description": "/ The entity a permission grants access to."
"description": "The entity a permission grants access to."
},
"action": {
"type": "string",
"description": "/ The action that is granted."
"description": "The action that is granted."
}
}
},
@ -3426,12 +3426,12 @@
"items": {
"$ref": "#/definitions/lnrpcChannelPoint"
},
"description": "*\nIs the set of all channels that are included in this multi-channel backup."
"description": "Is the set of all channels that are included in this multi-channel backup."
},
"multi_chan_backup": {
"type": "string",
"format": "byte",
"description": "*\nA single encrypted blob containing all the static channel backups of the\nchannel listed above. This can be stored as a single file or blob, and\nsafely be replaced with any prior/future versions. When using REST, this\nfield must be encoded as base64."
"description": "A single encrypted blob containing all the static channel backups of the\nchannel listed above. This can be stored as a single file or blob, and\nsafely be replaced with any prior/future versions. When using REST, this\nfield must be encoded as base64."
}
}
},
@ -3490,7 +3490,7 @@
"properties": {
"address": {
"type": "string",
"title": "/ The newly generated wallet address"
"title": "The newly generated wallet address"
}
}
},
@ -3510,24 +3510,24 @@
"properties": {
"node": {
"$ref": "#/definitions/lnrpcLightningNode",
"description": "*\nAn individual vertex/node within the channel graph. A node is\nconnected to other nodes by one or more channel edges emanating from it. As\nthe graph is directed, a node will also have an incoming edge attached to\nit for each outgoing edge."
"description": "An individual vertex/node within the channel graph. A node is\nconnected to other nodes by one or more channel edges emanating from it. As\nthe graph is directed, a node will also have an incoming edge attached to\nit for each outgoing edge."
},
"num_channels": {
"type": "integer",
"format": "int64",
"description": "/ The total number of channels for the node."
"description": "The total number of channels for the node."
},
"total_capacity": {
"type": "string",
"format": "int64",
"description": "/ The sum of all channels capacity for the node, denominated in satoshis."
"description": "The sum of all channels capacity for the node, denominated in satoshis."
},
"channels": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcChannelEdge"
},
"description": "/ A list of all public channels for the node."
"description": "A list of all public channels for the node."
}
}
},
@ -3547,7 +3547,7 @@
"additionalProperties": {
"$ref": "#/definitions/lnrpcFloatMetric"
},
"description": "*\nBetweenness centrality is the sum of the ratio of shortest paths that pass\nthrough the node for each pair of nodes in the graph (not counting paths\nstarting or ending at this node).\nMap of node pubkey to betweenness centrality of the node. Normalized\nvalues are in the [0,1] closed interval."
"description": "Betweenness centrality is the sum of the ratio of shortest paths that pass\nthrough the node for each pair of nodes in the graph (not counting paths\nstarting or ending at this node).\nMap of node pubkey to betweenness centrality of the node. Normalized\nvalues are in the [0,1] closed interval."
}
}
},
@ -3557,12 +3557,12 @@
"from": {
"type": "string",
"format": "byte",
"description": "*\nThe sending node of the pair. When using REST, this field must be encoded as\nbase64."
"description": "The sending node of the pair. When using REST, this field must be encoded as\nbase64."
},
"to": {
"type": "string",
"format": "byte",
"description": "*\nThe receiving node of the pair. When using REST, this field must be encoded\nas base64."
"description": "The receiving node of the pair. When using REST, this field must be encoded\nas base64."
}
}
},
@ -3596,56 +3596,56 @@
"node_pubkey": {
"type": "string",
"format": "byte",
"description": "*\nThe pubkey of the node to open a channel with. When using REST, this field\nmust be encoded as base64."
"description": "The pubkey of the node to open a channel with. When using REST, this field\nmust be encoded as base64."
},
"node_pubkey_string": {
"type": "string",
"description": "*\nThe hex encoded pubkey of the node to open a channel with. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
"description": "The hex encoded pubkey of the node to open a channel with. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
},
"local_funding_amount": {
"type": "string",
"format": "int64",
"title": "/ The number of satoshis the wallet should commit to the channel"
"title": "The number of satoshis the wallet should commit to the channel"
},
"push_sat": {
"type": "string",
"format": "int64",
"title": "/ The number of satoshis to push to the remote side as part of the initial\n/ commitment state"
"title": "The number of satoshis to push to the remote side as part of the initial\ncommitment state"
},
"target_conf": {
"type": "integer",
"format": "int32",
"description": "/ The target number of blocks that the funding transaction should be\n/ confirmed by."
"description": "The target number of blocks that the funding transaction should be\nconfirmed by."
},
"sat_per_byte": {
"type": "string",
"format": "int64",
"description": "/ A manual fee rate set in sat/byte that should be used when crafting the\n/ funding transaction."
"description": "A manual fee rate set in sat/byte that should be used when crafting the\nfunding transaction."
},
"private": {
"type": "boolean",
"format": "boolean",
"description": "/ Whether this channel should be private, not announced to the greater\n/ network."
"description": "Whether this channel should be private, not announced to the greater\nnetwork."
},
"min_htlc_msat": {
"type": "string",
"format": "int64",
"description": "/ The minimum value in millisatoshi we will require for incoming HTLCs on\n/ the channel."
"description": "The minimum value in millisatoshi we will require for incoming HTLCs on\nthe channel."
},
"remote_csv_delay": {
"type": "integer",
"format": "int64",
"description": "/ The delay we require on the remote's commitment transaction. If this is\n/ not set, it will be scaled automatically with the channel size."
"description": "The delay we require on the remote's commitment transaction. If this is\nnot set, it will be scaled automatically with the channel size."
},
"min_confs": {
"type": "integer",
"format": "int32",
"description": "/ The minimum number of confirmations each one of your outputs used for\n/ the funding transaction must satisfy."
"description": "The minimum number of confirmations each one of your outputs used for\nthe funding transaction must satisfy."
},
"spend_unconfirmed": {
"type": "boolean",
"format": "boolean",
"description": "/ Whether unconfirmed outputs should be used as inputs for the funding\n/ transaction."
"description": "Whether unconfirmed outputs should be used as inputs for the funding\ntransaction."
},
"close_address": {
"type": "string",
@ -3653,7 +3653,7 @@
},
"funding_shim": {
"$ref": "#/definitions/lnrpcFundingShim",
"description": "*\nFunding shims are an optional argument that allow the caller to intercept\ncertain funding functionality. For example, a shim can be provided to use a\nparticular key for the commitment key (ideally cold) rather than use one\nthat is generated by the wallet as normal, or signal that signing will be\ncarried out in an interactive manner (PSBT based)."
"description": "Funding shims are an optional argument that allow the caller to intercept\ncertain funding functionality. For example, a shim can be provided to use a\nparticular key for the commitment key (ideally cold) rather than use one\nthat is generated by the wallet as normal, or signal that signing will be\ncarried out in an interactive manner (PSBT based)."
}
}
},
@ -3662,20 +3662,20 @@
"properties": {
"chan_pending": {
"$ref": "#/definitions/lnrpcPendingUpdate",
"description": "*\nSignals that the channel is now fully negotiated and the funding\ntransaction published."
"description": "Signals that the channel is now fully negotiated and the funding\ntransaction published."
},
"chan_open": {
"$ref": "#/definitions/lnrpcChannelOpenUpdate",
"description": "*\nSignals that the channel's funding transaction has now reached the\nrequired number of confirmations on chain and can be used."
"description": "Signals that the channel's funding transaction has now reached the\nrequired number of confirmations on chain and can be used."
},
"psbt_fund": {
"$ref": "#/definitions/lnrpcReadyForPsbtFunding",
"description": "*\nSignals that the funding process has been suspended and the construction\nof a PSBT that funds the channel PK script is now required."
"description": "Signals that the funding process has been suspended and the construction\nof a PSBT that funds the channel PK script is now required."
},
"pending_chan_id": {
"type": "string",
"format": "byte",
"description": "*\nThe pending channel ID of the created channel. This value may be used to\nfurther the funding flow manually via the FundingStateStep method."
"description": "The pending channel ID of the created channel. This value may be used to\nfurther the funding flow manually via the FundingStateStep method."
}
}
},
@ -3685,16 +3685,16 @@
"txid_bytes": {
"type": "string",
"format": "byte",
"description": "/ Raw bytes representing the transaction id."
"description": "Raw bytes representing the transaction id."
},
"txid_str": {
"type": "string",
"description": "/ Reversed, hex-encoded string representing the transaction id."
"description": "Reversed, hex-encoded string representing the transaction id."
},
"output_index": {
"type": "integer",
"format": "int64",
"description": "/ The index of the output on the transaction."
"description": "The index of the output on the transaction."
}
}
},
@ -3759,40 +3759,40 @@
"properties": {
"payment_hash": {
"type": "string",
"title": "/ The payment hash"
"title": "The payment hash"
},
"value": {
"type": "string",
"format": "int64",
"description": "/ Deprecated, use value_sat or value_msat."
"description": "Deprecated, use value_sat or value_msat."
},
"creation_date": {
"type": "string",
"format": "int64",
"title": "/ Deprecated, use creation_time_ns"
"title": "Deprecated, use creation_time_ns"
},
"fee": {
"type": "string",
"format": "int64",
"description": "/ Deprecated, use fee_sat or fee_msat."
"description": "Deprecated, use fee_sat or fee_msat."
},
"payment_preimage": {
"type": "string",
"title": "/ The payment preimage"
"title": "The payment preimage"
},
"value_sat": {
"type": "string",
"format": "int64",
"title": "/ The value of the payment in satoshis"
"title": "The value of the payment in satoshis"
},
"value_msat": {
"type": "string",
"format": "int64",
"title": "/ The value of the payment in milli-satoshis"
"title": "The value of the payment in milli-satoshis"
},
"payment_request": {
"type": "string",
"description": "/ The optional payment request being fulfilled."
"description": "The optional payment request being fulfilled."
},
"status": {
"$ref": "#/definitions/PaymentPaymentStatus",
@ -3801,29 +3801,29 @@
"fee_sat": {
"type": "string",
"format": "int64",
"title": "/ The fee paid for this payment in satoshis"
"title": "The fee paid for this payment in satoshis"
},
"fee_msat": {
"type": "string",
"format": "int64",
"title": "/ The fee paid for this payment in milli-satoshis"
"title": "The fee paid for this payment in milli-satoshis"
},
"creation_time_ns": {
"type": "string",
"format": "int64",
"description": "/ The time in UNIX nanoseconds at which the payment was created."
"description": "The time in UNIX nanoseconds at which the payment was created."
},
"htlcs": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcHTLCAttempt"
},
"description": "/ The HTLCs made in attempt to settle the payment."
"description": "The HTLCs made in attempt to settle the payment."
},
"payment_index": {
"type": "string",
"format": "uint64",
"description": "*\nThe creation index of this payment. Each payment can be uniquely identified\nby this index, which may not strictly increment by 1 for payments made in\nolder versions of lnd."
"description": "The creation index of this payment. Each payment can be uniquely identified\nby this index, which may not strictly increment by 1 for payments made in\nolder versions of lnd."
},
"failure_reason": {
"$ref": "#/definitions/lnrpcPaymentFailureReason"
@ -3841,48 +3841,48 @@
"FAILURE_REASON_INSUFFICIENT_BALANCE"
],
"default": "FAILURE_REASON_NONE",
"description": " - FAILURE_REASON_NONE: *\nPayment isn't failed (yet).\n - FAILURE_REASON_TIMEOUT: *\nThere are more routes to try, but the payment timeout was exceeded.\n - FAILURE_REASON_NO_ROUTE: *\nAll possible routes were tried and failed permanently. Or were no\nroutes to the destination at all.\n - FAILURE_REASON_ERROR: *\nA non-recoverable error has occured.\n - FAILURE_REASON_INCORRECT_PAYMENT_DETAILS: *\nPayment details incorrect (unknown hash, invalid amt or\ninvalid final cltv delta)\n - FAILURE_REASON_INSUFFICIENT_BALANCE: *\nInsufficient local balance."
"description": " - FAILURE_REASON_NONE: Payment isn't failed (yet).\n - FAILURE_REASON_TIMEOUT: There are more routes to try, but the payment timeout was exceeded.\n - FAILURE_REASON_NO_ROUTE: All possible routes were tried and failed permanently. Or were no\nroutes to the destination at all.\n - FAILURE_REASON_ERROR: A non-recoverable error has occured.\n - FAILURE_REASON_INCORRECT_PAYMENT_DETAILS: Payment details incorrect (unknown hash, invalid amt or\ninvalid final cltv delta)\n - FAILURE_REASON_INSUFFICIENT_BALANCE: Insufficient local balance."
},
"lnrpcPeer": {
"type": "object",
"properties": {
"pub_key": {
"type": "string",
"title": "/ The identity pubkey of the peer"
"title": "The identity pubkey of the peer"
},
"address": {
"type": "string",
"title": "/ Network address of the peer; eg `127.0.0.1:10011`"
"title": "Network address of the peer; eg `127.0.0.1:10011`"
},
"bytes_sent": {
"type": "string",
"format": "uint64",
"title": "/ Bytes of data transmitted to this peer"
"title": "Bytes of data transmitted to this peer"
},
"bytes_recv": {
"type": "string",
"format": "uint64",
"title": "/ Bytes of data transmitted from this peer"
"title": "Bytes of data transmitted from this peer"
},
"sat_sent": {
"type": "string",
"format": "int64",
"title": "/ Satoshis sent to this peer"
"title": "Satoshis sent to this peer"
},
"sat_recv": {
"type": "string",
"format": "int64",
"title": "/ Satoshis received from this peer"
"title": "Satoshis received from this peer"
},
"inbound": {
"type": "boolean",
"format": "boolean",
"title": "/ A channel is inbound if the counterparty initiated the channel"
"title": "A channel is inbound if the counterparty initiated the channel"
},
"ping_time": {
"type": "string",
"format": "int64",
"title": "/ Ping time to this peer"
"title": "Ping time to this peer"
},
"sync_type": {
"$ref": "#/definitions/PeerSyncType",
@ -3893,7 +3893,7 @@
"additionalProperties": {
"$ref": "#/definitions/lnrpcFeature"
},
"description": "/ Features advertised by the remote peer in their init message."
"description": "Features advertised by the remote peer in their init message."
},
"errors": {
"type": "array",
@ -3909,7 +3909,7 @@
"properties": {
"pub_key": {
"type": "string",
"description": "/ The identity pubkey of the peer."
"description": "The identity pubkey of the peer."
},
"type": {
"$ref": "#/definitions/PeerEventEventType"
@ -3922,14 +3922,14 @@
"total_limbo_balance": {
"type": "string",
"format": "int64",
"title": "/ The balance in satoshis encumbered in pending channels"
"title": "The balance in satoshis encumbered in pending channels"
},
"pending_open_channels": {
"type": "array",
"items": {
"$ref": "#/definitions/PendingChannelsResponsePendingOpenChannel"
},
"title": "/ Channels pending opening"
"title": "Channels pending opening"
},
"pending_closing_channels": {
"type": "array",
@ -3943,14 +3943,14 @@
"items": {
"$ref": "#/definitions/PendingChannelsResponseForceClosedChannel"
},
"title": "/ Channels pending force closing"
"title": "Channels pending force closing"
},
"waiting_close_channels": {
"type": "array",
"items": {
"$ref": "#/definitions/PendingChannelsResponseWaitingCloseChannel"
},
"title": "/ Channels waiting for closing tx to confirm"
"title": "Channels waiting for closing tx to confirm"
}
}
},
@ -3960,31 +3960,31 @@
"incoming": {
"type": "boolean",
"format": "boolean",
"title": "/ The direction within the channel that the htlc was sent"
"title": "The direction within the channel that the htlc was sent"
},
"amount": {
"type": "string",
"format": "int64",
"title": "/ The total value of the htlc"
"title": "The total value of the htlc"
},
"outpoint": {
"type": "string",
"title": "/ The final output to be swept back to the user's wallet"
"title": "The final output to be swept back to the user's wallet"
},
"maturity_height": {
"type": "integer",
"format": "int64",
"title": "/ The next block height at which we can spend the current stage"
"title": "The next block height at which we can spend the current stage"
},
"blocks_til_maturity": {
"type": "integer",
"format": "int32",
"description": "*\nThe number of blocks remaining until the current stage can be swept.\nNegative values indicate how many blocks have passed since becoming\nmature."
"description": "The number of blocks remaining until the current stage can be swept.\nNegative values indicate how many blocks have passed since becoming\nmature."
},
"stage": {
"type": "integer",
"format": "int64",
"title": "/ Indicates whether the htlc is in its first or second stage of recovery"
"title": "Indicates whether the htlc is in its first or second stage of recovery"
}
}
},
@ -4007,41 +4007,41 @@
"global": {
"type": "boolean",
"format": "boolean",
"description": "/ If set, then this update applies to all currently active channels."
"description": "If set, then this update applies to all currently active channels."
},
"chan_point": {
"$ref": "#/definitions/lnrpcChannelPoint",
"description": "/ If set, this update will target a specific channel."
"description": "If set, this update will target a specific channel."
},
"base_fee_msat": {
"type": "string",
"format": "int64",
"description": "/ The base fee charged regardless of the number of milli-satoshis sent."
"description": "The base fee charged regardless of the number of milli-satoshis sent."
},
"fee_rate": {
"type": "number",
"format": "double",
"description": "/ The effective fee rate in milli-satoshis. The precision of this value\n/ goes up to 6 decimal places, so 1e-6."
"description": "The effective fee rate in milli-satoshis. The precision of this value\ngoes up to 6 decimal places, so 1e-6."
},
"time_lock_delta": {
"type": "integer",
"format": "int64",
"description": "/ The required timelock delta for HTLCs forwarded over the channel."
"description": "The required timelock delta for HTLCs forwarded over the channel."
},
"max_htlc_msat": {
"type": "string",
"format": "uint64",
"description": "/ If set, the maximum HTLC size in milli-satoshis. If unset, the maximum\n/ HTLC will be unchanged."
"description": "If set, the maximum HTLC size in milli-satoshis. If unset, the maximum\nHTLC will be unchanged."
},
"min_htlc_msat": {
"type": "string",
"format": "uint64",
"description": "/ The minimum HTLC size in milli-satoshis. Only applied if\n/ min_htlc_msat_specified is true."
"description": "The minimum HTLC size in milli-satoshis. Only applied if\nmin_htlc_msat_specified is true."
},
"min_htlc_msat_specified": {
"type": "boolean",
"format": "boolean",
"description": "/ If true, min_htlc_msat is applied."
"description": "If true, min_htlc_msat is applied."
}
}
},
@ -4054,12 +4054,12 @@
"pending_chan_id": {
"type": "string",
"format": "byte",
"description": "*\nA unique identifier of 32 random bytes that will be used as the pending\nchannel ID to identify the PSBT state machine when interacting with it and\non the wire protocol to initiate the funding request."
"description": "A unique identifier of 32 random bytes that will be used as the pending\nchannel ID to identify the PSBT state machine when interacting with it and\non the wire protocol to initiate the funding request."
},
"base_psbt": {
"type": "string",
"format": "byte",
"description": "*\nAn optional base PSBT the new channel output will be added to. If this is\nnon-empty, it must be a binary serialized PSBT."
"description": "An optional base PSBT the new channel output will be added to. If this is\nnon-empty, it must be a binary serialized PSBT."
}
}
},
@ -4071,12 +4071,12 @@
"items": {
"$ref": "#/definitions/lnrpcRoute"
},
"description": "*\nThe route that results from the path finding operation. This is still a\nrepeated field to retain backwards compatibility."
"description": "The route that results from the path finding operation. This is still a\nrepeated field to retain backwards compatibility."
},
"success_prob": {
"type": "number",
"format": "double",
"title": "*\nThe success probability of the returned route based on the current mission\ncontrol state. [EXPERIMENTAL]"
"title": "The success probability of the returned route based on the current mission\ncontrol state. [EXPERIMENTAL]"
}
}
},
@ -4085,17 +4085,17 @@
"properties": {
"funding_address": {
"type": "string",
"description": "*\nThe P2WSH address of the channel funding multisig address that the below\nspecified amount in satoshis needs to be sent to."
"description": "The P2WSH address of the channel funding multisig address that the below\nspecified amount in satoshis needs to be sent to."
},
"funding_amount": {
"type": "string",
"format": "int64",
"description": "*\nThe exact amount in satoshis that needs to be sent to the above address to\nfund the pending channel."
"description": "The exact amount in satoshis that needs to be sent to the above address to\nfund the pending channel."
},
"psbt": {
"type": "string",
"format": "byte",
"description": "*\nA raw PSBT that contains the pending channel output. If a base PSBT was\nprovided in the PsbtShim, this is the base PSBT with one additional output.\nIf no base PSBT was specified, this is an otherwise empty PSBT with exactly\none output."
"description": "A raw PSBT that contains the pending channel output. If a base PSBT was\nprovided in the PsbtShim, this is the base PSBT with one additional output.\nIf no base PSBT was specified, this is an otherwise empty PSBT with exactly\none output."
}
}
},
@ -4107,12 +4107,12 @@
"properties": {
"chan_backups": {
"$ref": "#/definitions/lnrpcChannelBackups",
"description": "*\nThe channels to restore as a list of channel/backup pairs."
"description": "The channels to restore as a list of channel/backup pairs."
},
"multi_chan_backup": {
"type": "string",
"format": "byte",
"description": "*\nThe channels to restore in the packed multi backup format. When using\nREST, this field must be encoded as base64."
"description": "The channels to restore in the packed multi backup format. When using\nREST, this field must be encoded as base64."
}
}
},
@ -4122,37 +4122,37 @@
"total_time_lock": {
"type": "integer",
"format": "int64",
"description": "*\nThe cumulative (final) time lock across the entire route. This is the CLTV\nvalue that should be extended to the first hop in the route. All other hops\nwill decrement the time-lock as advertised, leaving enough time for all\nhops to wait for or present the payment preimage to complete the payment."
"description": "The cumulative (final) time lock across the entire route. This is the CLTV\nvalue that should be extended to the first hop in the route. All other hops\nwill decrement the time-lock as advertised, leaving enough time for all\nhops to wait for or present the payment preimage to complete the payment."
},
"total_fees": {
"type": "string",
"format": "int64",
"description": "*\nThe sum of the fees paid at each hop within the final route. In the case\nof a one-hop payment, this value will be zero as we don't need to pay a fee\nto ourselves."
"description": "The sum of the fees paid at each hop within the final route. In the case\nof a one-hop payment, this value will be zero as we don't need to pay a fee\nto ourselves."
},
"total_amt": {
"type": "string",
"format": "int64",
"description": "*\nThe total amount of funds required to complete a payment over this route.\nThis value includes the cumulative fees at each hop. As a result, the HTLC\nextended to the first-hop in the route will need to have at least this many\nsatoshis, otherwise the route will fail at an intermediate node due to an\ninsufficient amount of fees."
"description": "The total amount of funds required to complete a payment over this route.\nThis value includes the cumulative fees at each hop. As a result, the HTLC\nextended to the first-hop in the route will need to have at least this many\nsatoshis, otherwise the route will fail at an intermediate node due to an\ninsufficient amount of fees."
},
"hops": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcHop"
},
"description": "*\nContains details concerning the specific forwarding details at each hop."
"description": "Contains details concerning the specific forwarding details at each hop."
},
"total_fees_msat": {
"type": "string",
"format": "int64",
"description": "*\nThe total fees in millisatoshis."
"description": "The total fees in millisatoshis."
},
"total_amt_msat": {
"type": "string",
"format": "int64",
"description": "*\nThe total amount in millisatoshis."
"description": "The total amount in millisatoshis."
}
},
"description": "*\nA path through the channel graph which runs over one or more channels in\nsuccession. This struct carries all the information required to craft the\nSphinx onion packet, and send the payment along the first hop in the path. A\nroute is only selected as valid if all the channels have sufficient capacity to\ncarry the initial payment amount after fees are accounted for."
"description": "A path through the channel graph which runs over one or more channels in\nsuccession. This struct carries all the information required to craft the\nSphinx onion packet, and send the payment along the first hop in the path. A\nroute is only selected as valid if all the channels have sufficient capacity to\ncarry the initial payment amount after fees are accounted for."
},
"lnrpcRouteHint": {
"type": "object",
@ -4162,7 +4162,7 @@
"items": {
"$ref": "#/definitions/lnrpcHopHint"
},
"description": "*\nA list of hop hints that when chained together can assist in reaching a\nspecific destination."
"description": "A list of hop hints that when chained together can assist in reaching a\nspecific destination."
}
}
},
@ -4204,27 +4204,27 @@
"properties": {
"addr": {
"type": "string",
"title": "/ The address to send coins to"
"title": "The address to send coins to"
},
"amount": {
"type": "string",
"format": "int64",
"title": "/ The amount in satoshis to send"
"title": "The amount in satoshis to send"
},
"target_conf": {
"type": "integer",
"format": "int32",
"description": "/ The target number of blocks that this transaction should be confirmed\n/ by."
"description": "The target number of blocks that this transaction should be confirmed\nby."
},
"sat_per_byte": {
"type": "string",
"format": "int64",
"description": "/ A manual fee rate set in sat/byte that should be used when crafting the\n/ transaction."
"description": "A manual fee rate set in sat/byte that should be used when crafting the\ntransaction."
},
"send_all": {
"type": "boolean",
"format": "boolean",
"description": "*\nIf set, then the amount field will be ignored, and lnd will attempt to\nsend all the coins under control of the internal wallet to the specified\naddress."
"description": "If set, then the amount field will be ignored, and lnd will attempt to\nsend all the coins under control of the internal wallet to the specified\naddress."
}
}
},
@ -4233,7 +4233,7 @@
"properties": {
"txid": {
"type": "string",
"title": "/ The transaction ID of the transaction"
"title": "The transaction ID of the transaction"
}
}
},
@ -4242,7 +4242,7 @@
"properties": {
"txid": {
"type": "string",
"title": "/ The id of the transaction"
"title": "The id of the transaction"
}
}
},
@ -4252,58 +4252,58 @@
"dest": {
"type": "string",
"format": "byte",
"description": "*\nThe identity pubkey of the payment recipient. When using REST, this field\nmust be encoded as base64."
"description": "The identity pubkey of the payment recipient. When using REST, this field\nmust be encoded as base64."
},
"dest_string": {
"type": "string",
"description": "*\nThe hex-encoded identity pubkey of the payment recipient. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
"description": "The hex-encoded identity pubkey of the payment recipient. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
},
"amt": {
"type": "string",
"format": "int64",
"description": "*\nThe amount to send expressed in satoshis.\n\nThe fields amt and amt_msat are mutually exclusive."
"description": "The amount to send expressed in satoshis.\n\nThe fields amt and amt_msat are mutually exclusive."
},
"amt_msat": {
"type": "string",
"format": "int64",
"description": "*\nThe amount to send expressed in millisatoshis.\n\nThe fields amt and amt_msat are mutually exclusive."
"description": "The amount to send expressed in millisatoshis.\n\nThe fields amt and amt_msat are mutually exclusive."
},
"payment_hash": {
"type": "string",
"format": "byte",
"description": "*\nThe hash to use within the payment's HTLC. When using REST, this field\nmust be encoded as base64."
"description": "The hash to use within the payment's HTLC. When using REST, this field\nmust be encoded as base64."
},
"payment_hash_string": {
"type": "string",
"description": "*\nThe hex-encoded hash to use within the payment's HTLC. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
"description": "The hex-encoded hash to use within the payment's HTLC. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
},
"payment_request": {
"type": "string",
"description": "*\nA bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
"description": "A bare-bones invoice for a payment within the Lightning Network. With the\ndetails of the invoice, the sender has all the data necessary to send a\npayment to the recipient."
},
"final_cltv_delta": {
"type": "integer",
"format": "int32",
"description": "*\nThe CLTV delta from the current height that should be used to set the\ntimelock for the final hop."
"description": "The CLTV delta from the current height that should be used to set the\ntimelock for the final hop."
},
"fee_limit": {
"$ref": "#/definitions/lnrpcFeeLimit",
"description": "*\nThe maximum number of satoshis that will be paid as a fee of the payment.\nThis value can be represented either as a percentage of the amount being\nsent, or as a fixed amount of the maximum fee the user is willing the pay to\nsend the payment."
"description": "The maximum number of satoshis that will be paid as a fee of the payment.\nThis value can be represented either as a percentage of the amount being\nsent, or as a fixed amount of the maximum fee the user is willing the pay to\nsend the payment."
},
"outgoing_chan_id": {
"type": "string",
"format": "uint64",
"description": "*\nThe channel id of the channel that must be taken to the first hop. If zero,\nany channel may be used."
"description": "The channel id of the channel that must be taken to the first hop. If zero,\nany channel may be used."
},
"last_hop_pubkey": {
"type": "string",
"format": "byte",
"description": "*\nThe pubkey of the last hop of the route. If empty, any hop may be used."
"description": "The pubkey of the last hop of the route. If empty, any hop may be used."
},
"cltv_limit": {
"type": "integer",
"format": "int64",
"description": "*\nAn optional maximum total time lock for the route. This should not exceed\nlnd's `--max-cltv-expiry` setting. If zero, then the value of\n`--max-cltv-expiry` is enforced."
"description": "An optional maximum total time lock for the route. This should not exceed\nlnd's `--max-cltv-expiry` setting. If zero, then the value of\n`--max-cltv-expiry` is enforced."
},
"dest_custom_records": {
"type": "object",
@ -4311,19 +4311,19 @@
"type": "string",
"format": "byte"
},
"description": "*\nAn optional field that can be used to pass an arbitrary set of TLV records\nto a peer which understands the new records. This can be used to pass\napplication specific data during the payment attempt. Record types are\nrequired to be in the custom range \u003e= 65536. When using REST, the values\nmust be encoded as base64."
"description": "An optional field that can be used to pass an arbitrary set of TLV records\nto a peer which understands the new records. This can be used to pass\napplication specific data during the payment attempt. Record types are\nrequired to be in the custom range \u003e= 65536. When using REST, the values\nmust be encoded as base64."
},
"allow_self_payment": {
"type": "boolean",
"format": "boolean",
"description": "/ If set, circular payments to self are permitted."
"description": "If set, circular payments to self are permitted."
},
"dest_features": {
"type": "array",
"items": {
"$ref": "#/definitions/lnrpcFeatureBit"
},
"description": "*\nFeatures assumed to be supported by the final node. All transitive feature\ndependencies must also be set properly. For a given feature bit pair, either\noptional or remote may be set, but not both. If this field is nil or empty,\nthe router will try to load destination features from the graph as a\nfallback."
"description": "Features assumed to be supported by the final node. All transitive feature\ndependencies must also be set properly. For a given feature bit pair, either\noptional or remote may be set, but not both. If this field is nil or empty,\nthe router will try to load destination features from the graph as a\nfallback."
}
}
},
@ -4352,15 +4352,15 @@
"payment_hash": {
"type": "string",
"format": "byte",
"description": "*\nThe payment hash to use for the HTLC. When using REST, this field must be\nencoded as base64."
"description": "The payment hash to use for the HTLC. When using REST, this field must be\nencoded as base64."
},
"payment_hash_string": {
"type": "string",
"description": "*\nAn optional hex-encoded payment hash to be used for the HTLC. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
"description": "An optional hex-encoded payment hash to be used for the HTLC. Deprecated now\nthat the REST gateway supports base64 encoding of bytes fields."
},
"route": {
"$ref": "#/definitions/lnrpcRoute",
"description": "/ Route that should be used to attempt to complete the payment."
"description": "Route that should be used to attempt to complete the payment."
}
}
},
@ -4370,7 +4370,7 @@
"msg": {
"type": "string",
"format": "byte",
"description": "*\nThe message to be signed. When using REST, this field must be encoded as\nbase64."
"description": "The message to be signed. When using REST, this field must be encoded as\nbase64."
}
}
},
@ -4379,7 +4379,7 @@
"properties": {
"signature": {
"type": "string",
"title": "/ The signature for the given message"
"title": "The signature for the given message"
}
}
},
@ -4405,47 +4405,47 @@
"properties": {
"tx_hash": {
"type": "string",
"title": "/ The transaction hash"
"title": "The transaction hash"
},
"amount": {
"type": "string",
"format": "int64",
"title": "/ The transaction amount, denominated in satoshis"
"title": "The transaction amount, denominated in satoshis"
},
"num_confirmations": {
"type": "integer",
"format": "int32",
"title": "/ The number of confirmations"
"title": "The number of confirmations"
},
"block_hash": {
"type": "string",
"title": "/ The hash of the block this transaction was included in"
"title": "The hash of the block this transaction was included in"
},
"block_height": {
"type": "integer",
"format": "int32",
"title": "/ The height of the block this transaction was included in"
"title": "The height of the block this transaction was included in"
},
"time_stamp": {
"type": "string",
"format": "int64",
"title": "/ Timestamp of this transaction"
"title": "Timestamp of this transaction"
},
"total_fees": {
"type": "string",
"format": "int64",
"title": "/ Fees paid for this transaction"
"title": "Fees paid for this transaction"
},
"dest_addresses": {
"type": "array",
"items": {
"type": "string"
},
"title": "/ Addresses that received funds for this transaction"
"title": "Addresses that received funds for this transaction"
},
"raw_tx_hex": {
"type": "string",
"description": "/ The raw transaction hex."
"description": "The raw transaction hex."
}
}
},
@ -4457,7 +4457,7 @@
"items": {
"$ref": "#/definitions/lnrpcTransaction"
},
"description": "/ The list of transactions relevant to the wallet."
"description": "The list of transactions relevant to the wallet."
}
}
},
@ -4466,29 +4466,29 @@
"properties": {
"address_type": {
"$ref": "#/definitions/lnrpcAddressType",
"title": "/ The type of address"
"title": "The type of address"
},
"address": {
"type": "string",
"title": "/ The address"
"title": "The address"
},
"amount_sat": {
"type": "string",
"format": "int64",
"title": "/ The value of the unspent coin in satoshis"
"title": "The value of the unspent coin in satoshis"
},
"pk_script": {
"type": "string",
"title": "/ The pkscript in hex"
"title": "The pkscript in hex"
},
"outpoint": {
"$ref": "#/definitions/lnrpcOutPoint",
"title": "/ The outpoint in format txid:n"
"title": "The outpoint in format txid:n"
},
"confirmations": {
"type": "string",
"format": "int64",
"title": "/ The number of confirmations for the Utxo"
"title": "The number of confirmations for the Utxo"
}
}
},
@ -4501,11 +4501,11 @@
"msg": {
"type": "string",
"format": "byte",
"description": "*\nThe message over which the signature is to be verified. When using REST,\nthis field must be encoded as base64."
"description": "The message over which the signature is to be verified. When using REST,\nthis field must be encoded as base64."
},
"signature": {
"type": "string",
"title": "/ The signature to be verified over the given message"
"title": "The signature to be verified over the given message"
}
}
},
@ -4515,11 +4515,11 @@
"valid": {
"type": "boolean",
"format": "boolean",
"title": "/ Whether the signature was valid over the given message"
"title": "Whether the signature was valid over the given message"
},
"pubkey": {
"type": "string",
"title": "/ The pubkey recovered from the signature"
"title": "The pubkey recovered from the signature"
}
}
},
@ -4529,17 +4529,17 @@
"total_balance": {
"type": "string",
"format": "int64",
"title": "/ The balance of the wallet"
"title": "The balance of the wallet"
},
"confirmed_balance": {
"type": "string",
"format": "int64",
"title": "/ The confirmed balance of a wallet(with \u003e= 1 confirmations)"
"title": "The confirmed balance of a wallet(with \u003e= 1 confirmations)"
},
"unconfirmed_balance": {
"type": "string",
"format": "int64",
"title": "/ The unconfirmed balance of a wallet(with 0 confirmations)"
"title": "The unconfirmed balance of a wallet(with 0 confirmations)"
}
}
},

View File

@ -23,9 +23,9 @@ var _ = math.Inf
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type KeyLocator struct {
/// The family of key being identified.
// The family of key being identified.
KeyFamily int32 `protobuf:"varint,1,opt,name=key_family,json=keyFamily,proto3" json:"key_family,omitempty"`
/// The precise index of the key being identified.
// The precise index of the key being identified.
KeyIndex int32 `protobuf:"varint,2,opt,name=key_index,json=keyIndex,proto3" json:"key_index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -72,11 +72,11 @@ func (m *KeyLocator) GetKeyIndex() int32 {
}
type KeyDescriptor struct {
//*
//
//The raw bytes of the key being identified. Either this or the KeyLocator
//must be specified.
RawKeyBytes []byte `protobuf:"bytes,1,opt,name=raw_key_bytes,json=rawKeyBytes,proto3" json:"raw_key_bytes,omitempty"`
//*
//
//The key locator that identifies which key to use for signing. Either this
//or the raw bytes of the target key must be specified.
KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
@ -125,9 +125,9 @@ func (m *KeyDescriptor) GetKeyLoc() *KeyLocator {
}
type TxOut struct {
/// The value of the output being spent.
// The value of the output being spent.
Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
/// The script of the output being spent.
// The script of the output being spent.
PkScript []byte `protobuf:"bytes,2,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -174,19 +174,19 @@ func (m *TxOut) GetPkScript() []byte {
}
type SignDescriptor struct {
//*
//
//A descriptor that precisely describes *which* key to use for signing. This
//may provide the raw public key directly, or require the Signer to re-derive
//the key according to the populated derivation path.
KeyDesc *KeyDescriptor `protobuf:"bytes,1,opt,name=key_desc,json=keyDesc,proto3" json:"key_desc,omitempty"`
//*
//
//A scalar value that will be added to the private key corresponding to the
//above public key to obtain the private key to be used to sign this input.
//This value is typically derived via the following computation:
//
// derivedKey = privkey + sha256(perCommitmentPoint || pubKey) mod N
SingleTweak []byte `protobuf:"bytes,2,opt,name=single_tweak,json=singleTweak,proto3" json:"single_tweak,omitempty"`
//*
//
//A private key that will be used in combination with its corresponding
//private key to derive the private key that is to be used to sign the target
//input. Within the Lightning protocol, this value is typically the
@ -197,19 +197,19 @@ type SignDescriptor struct {
// k = (privKey*sha256(pubKey || tweakPub) +
//tweakPriv*sha256(tweakPub || pubKey)) mod N
DoubleTweak []byte `protobuf:"bytes,3,opt,name=double_tweak,json=doubleTweak,proto3" json:"double_tweak,omitempty"`
//*
//
//The full script required to properly redeem the output. This field will
//only be populated if a p2wsh or a p2sh output is being signed.
WitnessScript []byte `protobuf:"bytes,4,opt,name=witness_script,json=witnessScript,proto3" json:"witness_script,omitempty"`
//*
//
//A description of the output being spent. The value and script MUST be
//provided.
Output *TxOut `protobuf:"bytes,5,opt,name=output,proto3" json:"output,omitempty"`
//*
//
//The target sighash type that should be used when generating the final
//sighash, and signature.
Sighash uint32 `protobuf:"varint,7,opt,name=sighash,proto3" json:"sighash,omitempty"`
//*
//
//The target input within the transaction that should be signed.
InputIndex int32 `protobuf:"varint,8,opt,name=input_index,json=inputIndex,proto3" json:"input_index,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -292,9 +292,9 @@ func (m *SignDescriptor) GetInputIndex() int32 {
}
type SignReq struct {
/// The raw bytes of the transaction to be signed.
// The raw bytes of the transaction to be signed.
RawTxBytes []byte `protobuf:"bytes,1,opt,name=raw_tx_bytes,json=rawTxBytes,proto3" json:"raw_tx_bytes,omitempty"`
/// A set of sign descriptors, for each input to be signed.
// A set of sign descriptors, for each input to be signed.
SignDescs []*SignDescriptor `protobuf:"bytes,2,rep,name=sign_descs,json=signDescs,proto3" json:"sign_descs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -341,7 +341,7 @@ func (m *SignReq) GetSignDescs() []*SignDescriptor {
}
type SignResp struct {
//*
//
//A set of signatures realized in a fixed 64-byte format ordered in ascending
//input order.
RawSigs [][]byte `protobuf:"bytes,1,rep,name=raw_sigs,json=rawSigs,proto3" json:"raw_sigs,omitempty"`
@ -383,9 +383,9 @@ func (m *SignResp) GetRawSigs() [][]byte {
}
type InputScript struct {
/// The serializes witness stack for the specified input.
// The serializes witness stack for the specified input.
Witness [][]byte `protobuf:"bytes,1,rep,name=witness,proto3" json:"witness,omitempty"`
//**
//*
//The optional sig script for the specified witness that will only be set if
//the input specified is a nested p2sh witness program.
SigScript []byte `protobuf:"bytes,2,opt,name=sig_script,json=sigScript,proto3" json:"sig_script,omitempty"`
@ -434,7 +434,7 @@ func (m *InputScript) GetSigScript() []byte {
}
type InputScriptResp struct {
/// The set of fully valid input scripts requested.
// The set of fully valid input scripts requested.
InputScripts []*InputScript `protobuf:"bytes,1,rep,name=input_scripts,json=inputScripts,proto3" json:"input_scripts,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -474,9 +474,9 @@ func (m *InputScriptResp) GetInputScripts() []*InputScript {
}
type SignMessageReq struct {
/// The message to be signed.
// The message to be signed.
Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
/// The key locator that identifies which key to use for signing.
// The key locator that identifies which key to use for signing.
KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -523,7 +523,7 @@ func (m *SignMessageReq) GetKeyLoc() *KeyLocator {
}
type SignMessageResp struct {
//*
//
//The signature for the given message in the fixed-size LN wire format.
Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -564,13 +564,13 @@ func (m *SignMessageResp) GetSignature() []byte {
}
type VerifyMessageReq struct {
/// The message over which the signature is to be verified.
// The message over which the signature is to be verified.
Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"`
//*
//
//The fixed-size LN wire encoded signature to be verified over the given
//message.
Signature []byte `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"`
/// The public key the signature has to be valid for.
// The public key the signature has to be valid for.
Pubkey []byte `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -624,7 +624,7 @@ func (m *VerifyMessageReq) GetPubkey() []byte {
}
type VerifyMessageResp struct {
/// Whether the signature was valid over the given message.
// Whether the signature was valid over the given message.
Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -666,7 +666,7 @@ func (m *VerifyMessageResp) GetValid() bool {
type SharedKeyRequest struct {
// The ephemeral public key to use for the DH key derivation.
EphemeralPubkey []byte `protobuf:"bytes,1,opt,name=ephemeral_pubkey,json=ephemeralPubkey,proto3" json:"ephemeral_pubkey,omitempty"`
//*
//
//The optional key locator of the local key that should be used. If this
//parameter is not set then the node's identity private key will be used.
KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"`
@ -837,7 +837,7 @@ const _ = grpc.SupportPackageIsVersion4
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type SignerClient interface {
//*
//
//SignOutputRaw is a method that can be used to generated a signature for a
//set of inputs/outputs to a transaction. Each request specifies details
//concerning how the outputs should be signed, which keys they should be
@ -847,7 +847,7 @@ type SignerClient interface {
//If we are unable to sign using the specified keys, then an error will be
//returned.
SignOutputRaw(ctx context.Context, in *SignReq, opts ...grpc.CallOption) (*SignResp, error)
//*
//
//ComputeInputScript generates a complete InputIndex for the passed
//transaction with the signature as defined within the passed SignDescriptor.
//This method should be capable of generating the proper input script for
@ -859,14 +859,14 @@ type SignerClient interface {
//in the TxOut field, the value in that same field, and finally the input
//index.
ComputeInputScript(ctx context.Context, in *SignReq, opts ...grpc.CallOption) (*InputScriptResp, error)
//*
//
//SignMessage signs a message with the key specified in the key locator. The
//returned signature is fixed-size LN wire format encoded.
//
//The main difference to SignMessage in the main RPC is that a specific key is
//used to sign the message instead of the node identity private key.
SignMessage(ctx context.Context, in *SignMessageReq, opts ...grpc.CallOption) (*SignMessageResp, error)
//*
//
//VerifyMessage verifies a signature over a message using the public key
//provided. The signature must be fixed-size LN wire format encoded.
//
@ -939,7 +939,7 @@ func (c *signerClient) DeriveSharedKey(ctx context.Context, in *SharedKeyRequest
// SignerServer is the server API for Signer service.
type SignerServer interface {
//*
//
//SignOutputRaw is a method that can be used to generated a signature for a
//set of inputs/outputs to a transaction. Each request specifies details
//concerning how the outputs should be signed, which keys they should be
@ -949,7 +949,7 @@ type SignerServer interface {
//If we are unable to sign using the specified keys, then an error will be
//returned.
SignOutputRaw(context.Context, *SignReq) (*SignResp, error)
//*
//
//ComputeInputScript generates a complete InputIndex for the passed
//transaction with the signature as defined within the passed SignDescriptor.
//This method should be capable of generating the proper input script for
@ -961,14 +961,14 @@ type SignerServer interface {
//in the TxOut field, the value in that same field, and finally the input
//index.
ComputeInputScript(context.Context, *SignReq) (*InputScriptResp, error)
//*
//
//SignMessage signs a message with the key specified in the key locator. The
//returned signature is fixed-size LN wire format encoded.
//
//The main difference to SignMessage in the main RPC is that a specific key is
//used to sign the message instead of the node identity private key.
SignMessage(context.Context, *SignMessageReq) (*SignMessageResp, error)
//*
//
//VerifyMessage verifies a signature over a message using the public key
//provided. The signature must be fixed-size LN wire format encoded.
//

View File

@ -7,7 +7,7 @@ option go_package = "github.com/lightningnetwork/lnd/lnrpc/signrpc";
// Signer is a service that gives access to the signing functionality of the
// daemon's wallet.
service Signer {
/**
/*
SignOutputRaw is a method that can be used to generated a signature for a
set of inputs/outputs to a transaction. Each request specifies details
concerning how the outputs should be signed, which keys they should be
@ -19,7 +19,7 @@ service Signer {
*/
rpc SignOutputRaw (SignReq) returns (SignResp);
/**
/*
ComputeInputScript generates a complete InputIndex for the passed
transaction with the signature as defined within the passed SignDescriptor.
This method should be capable of generating the proper input script for
@ -33,7 +33,7 @@ service Signer {
*/
rpc ComputeInputScript (SignReq) returns (InputScriptResp);
/**
/*
SignMessage signs a message with the key specified in the key locator. The
returned signature is fixed-size LN wire format encoded.
@ -42,7 +42,7 @@ service Signer {
*/
rpc SignMessage (SignMessageReq) returns (SignMessageResp);
/**
/*
VerifyMessage verifies a signature over a message using the public key
provided. The signature must be fixed-size LN wire format encoded.
@ -64,21 +64,21 @@ service Signer {
}
message KeyLocator {
/// The family of key being identified.
// The family of key being identified.
int32 key_family = 1;
/// The precise index of the key being identified.
// The precise index of the key being identified.
int32 key_index = 2;
}
message KeyDescriptor {
/**
/*
The raw bytes of the key being identified. Either this or the KeyLocator
must be specified.
*/
bytes raw_key_bytes = 1;
/**
/*
The key locator that identifies which key to use for signing. Either this
or the raw bytes of the target key must be specified.
*/
@ -86,22 +86,22 @@ message KeyDescriptor {
}
message TxOut {
/// The value of the output being spent.
// The value of the output being spent.
int64 value = 1;
/// The script of the output being spent.
// The script of the output being spent.
bytes pk_script = 2;
}
message SignDescriptor {
/**
/*
A descriptor that precisely describes *which* key to use for signing. This
may provide the raw public key directly, or require the Signer to re-derive
the key according to the populated derivation path.
*/
KeyDescriptor key_desc = 1;
/**
/*
A scalar value that will be added to the private key corresponding to the
above public key to obtain the private key to be used to sign this input.
This value is typically derived via the following computation:
@ -110,7 +110,7 @@ message SignDescriptor {
*/
bytes single_tweak = 2;
/**
/*
A private key that will be used in combination with its corresponding
private key to derive the private key that is to be used to sign the target
input. Within the Lightning protocol, this value is typically the
@ -123,40 +123,40 @@ message SignDescriptor {
*/
bytes double_tweak = 3;
/**
/*
The full script required to properly redeem the output. This field will
only be populated if a p2wsh or a p2sh output is being signed.
*/
bytes witness_script = 4;
/**
/*
A description of the output being spent. The value and script MUST be
provided.
*/
TxOut output = 5;
/**
/*
The target sighash type that should be used when generating the final
sighash, and signature.
*/
uint32 sighash = 7;
/**
/*
The target input within the transaction that should be signed.
*/
int32 input_index = 8;
}
message SignReq {
/// The raw bytes of the transaction to be signed.
// The raw bytes of the transaction to be signed.
bytes raw_tx_bytes = 1;
/// A set of sign descriptors, for each input to be signed.
// A set of sign descriptors, for each input to be signed.
repeated SignDescriptor sign_descs = 2;
}
message SignResp {
/**
/*
A set of signatures realized in a fixed 64-byte format ordered in ascending
input order.
*/
@ -164,10 +164,10 @@ message SignResp {
}
message InputScript {
/// The serializes witness stack for the specified input.
// The serializes witness stack for the specified input.
repeated bytes witness = 1;
/***
/**
The optional sig script for the specified witness that will only be set if
the input specified is a nested p2sh witness program.
*/
@ -175,39 +175,39 @@ message InputScript {
}
message InputScriptResp {
/// The set of fully valid input scripts requested.
// The set of fully valid input scripts requested.
repeated InputScript input_scripts = 1;
}
message SignMessageReq {
/// The message to be signed.
// The message to be signed.
bytes msg = 1;
/// The key locator that identifies which key to use for signing.
// The key locator that identifies which key to use for signing.
KeyLocator key_loc = 2;
}
message SignMessageResp {
/**
/*
The signature for the given message in the fixed-size LN wire format.
*/
bytes signature = 1;
}
message VerifyMessageReq {
/// The message over which the signature is to be verified.
// The message over which the signature is to be verified.
bytes msg = 1;
/**
/*
The fixed-size LN wire encoded signature to be verified over the given
message.
*/
bytes signature = 2;
/// The public key the signature has to be valid for.
// The public key the signature has to be valid for.
bytes pubkey = 3;
}
message VerifyMessageResp {
/// Whether the signature was valid over the given message.
// Whether the signature was valid over the given message.
bool valid = 1;
}
@ -215,7 +215,7 @@ message SharedKeyRequest {
// The ephemeral public key to use for the DH key derivation.
bytes ephemeral_pubkey = 1;
/**
/*
The optional key locator of the local key that should be used. If this
parameter is not set then the node's identity private key will be used.
*/

View File

@ -54,23 +54,23 @@ func (m *VersionRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_VersionRequest proto.InternalMessageInfo
type Version struct {
/// A verbose description of the daemon's commit.
// A verbose description of the daemon's commit.
Commit string `protobuf:"bytes,1,opt,name=commit,proto3" json:"commit,omitempty"`
/// The SHA1 commit hash that the daemon is compiled with.
// The SHA1 commit hash that the daemon is compiled with.
CommitHash string `protobuf:"bytes,2,opt,name=commit_hash,json=commitHash,proto3" json:"commit_hash,omitempty"`
/// The semantic version.
// The semantic version.
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
/// The major application version.
// The major application version.
AppMajor uint32 `protobuf:"varint,4,opt,name=app_major,json=appMajor,proto3" json:"app_major,omitempty"`
/// The minor application version.
// The minor application version.
AppMinor uint32 `protobuf:"varint,5,opt,name=app_minor,json=appMinor,proto3" json:"app_minor,omitempty"`
/// The application patch number.
// The application patch number.
AppPatch uint32 `protobuf:"varint,6,opt,name=app_patch,json=appPatch,proto3" json:"app_patch,omitempty"`
/// The application pre-release modifier, possibly empty.
// The application pre-release modifier, possibly empty.
AppPreRelease string `protobuf:"bytes,7,opt,name=app_pre_release,json=appPreRelease,proto3" json:"app_pre_release,omitempty"`
/// The list of build tags that were supplied during compilation.
// The list of build tags that were supplied during compilation.
BuildTags []string `protobuf:"bytes,8,rep,name=build_tags,json=buildTags,proto3" json:"build_tags,omitempty"`
/// The version of go that compiled the executable.
// The version of go that compiled the executable.
GoVersion string `protobuf:"bytes,9,opt,name=go_version,json=goVersion,proto3" json:"go_version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -207,6 +207,9 @@ const _ = grpc.SupportPackageIsVersion4
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type VersionerClient interface {
// lncli: `version`
//GetVersion returns the current version and build information of the running
//daemon.
GetVersion(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*Version, error)
}
@ -229,6 +232,9 @@ func (c *versionerClient) GetVersion(ctx context.Context, in *VersionRequest, op
// VersionerServer is the server API for Versioner service.
type VersionerServer interface {
// lncli: `version`
//GetVersion returns the current version and build information of the running
//daemon.
GetVersion(context.Context, *VersionRequest) (*Version, error)
}

View File

@ -18,30 +18,30 @@ message VersionRequest {
}
message Version {
/// A verbose description of the daemon's commit.
// A verbose description of the daemon's commit.
string commit = 1;
/// The SHA1 commit hash that the daemon is compiled with.
// The SHA1 commit hash that the daemon is compiled with.
string commit_hash = 2;
/// The semantic version.
// The semantic version.
string version = 3;
/// The major application version.
// The major application version.
uint32 app_major = 4;
/// The minor application version.
// The minor application version.
uint32 app_minor = 5;
/// The application patch number.
// The application patch number.
uint32 app_patch = 6;
/// The application pre-release modifier, possibly empty.
// The application pre-release modifier, possibly empty.
string app_pre_release = 7;
/// The list of build tags that were supplied during compilation.
// The list of build tags that were supplied during compilation.
repeated string build_tags = 8;
/// The version of go that compiled the executable.
// The version of go that compiled the executable.
string go_version = 9;
}

View File

@ -133,12 +133,12 @@ func (WitnessType) EnumDescriptor() ([]byte, []int) {
}
type KeyReq struct {
//*
//
//Is the key finger print of the root pubkey that this request is targeting.
//This allows the WalletKit to possibly serve out keys for multiple HD chains
//via public derivation.
KeyFingerPrint int32 `protobuf:"varint,1,opt,name=key_finger_print,json=keyFingerPrint,proto3" json:"key_finger_print,omitempty"`
//*
//
//The target key family to derive a key from. In other contexts, this is
//known as the "account".
KeyFamily int32 `protobuf:"varint,2,opt,name=key_family,json=keyFamily,proto3" json:"key_family,omitempty"`
@ -218,7 +218,7 @@ func (m *AddrRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_AddrRequest proto.InternalMessageInfo
type AddrResponse struct {
//*
//
//The address encoded using a bech32 format.
Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -259,7 +259,7 @@ func (m *AddrResponse) GetAddr() string {
}
type Transaction struct {
//*
//
//The raw serialized transaction.
TxHex []byte `protobuf:"bytes,1,opt,name=tx_hex,json=txHex,proto3" json:"tx_hex,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -300,7 +300,7 @@ func (m *Transaction) GetTxHex() []byte {
}
type PublishResponse struct {
//*
//
//If blank, then no error occurred and the transaction was successfully
//published. If not the empty string, then a string representation of the
//broadcast error.
@ -345,11 +345,11 @@ func (m *PublishResponse) GetPublishError() string {
}
type SendOutputsRequest struct {
//*
//
//The number of satoshis per kilo weight that should be used when crafting
//this transaction.
SatPerKw int64 `protobuf:"varint,1,opt,name=sat_per_kw,json=satPerKw,proto3" json:"sat_per_kw,omitempty"`
//*
//
//A slice of the outputs that should be created in the transaction produced.
Outputs []*signrpc.TxOut `protobuf:"bytes,2,rep,name=outputs,proto3" json:"outputs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -397,7 +397,7 @@ func (m *SendOutputsRequest) GetOutputs() []*signrpc.TxOut {
}
type SendOutputsResponse struct {
//*
//
//The serialized transaction sent out on the network.
RawTx []byte `protobuf:"bytes,1,opt,name=raw_tx,json=rawTx,proto3" json:"raw_tx,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -438,7 +438,7 @@ func (m *SendOutputsResponse) GetRawTx() []byte {
}
type EstimateFeeRequest struct {
//*
//
//The number of confirmations to shoot for when estimating the fee.
ConfTarget int32 `protobuf:"varint,1,opt,name=conf_target,json=confTarget,proto3" json:"conf_target,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
@ -479,7 +479,7 @@ func (m *EstimateFeeRequest) GetConfTarget() int32 {
}
type EstimateFeeResponse struct {
//*
//
//The amount of satoshis per kw that should be used in order to reach the
//confirmation target in the request.
SatPerKw int64 `protobuf:"varint,1,opt,name=sat_per_kw,json=satPerKw,proto3" json:"sat_per_kw,omitempty"`
@ -542,7 +542,7 @@ type PendingSweep struct {
RequestedConfTarget uint32 `protobuf:"varint,8,opt,name=requested_conf_target,json=requestedConfTarget,proto3" json:"requested_conf_target,omitempty"`
// The requested fee rate, expressed in sat/byte, for this output.
RequestedSatPerByte uint32 `protobuf:"varint,9,opt,name=requested_sat_per_byte,json=requestedSatPerByte,proto3" json:"requested_sat_per_byte,omitempty"`
//*
//
//Whether this input must be force-swept. This means that it is swept even
//if it has a negative yield.
Force bool `protobuf:"varint,7,opt,name=force,proto3" json:"force,omitempty"`
@ -720,7 +720,7 @@ type BumpFeeRequest struct {
//The fee rate, expressed in sat/byte, that should be used to spend the input
//with.
SatPerByte uint32 `protobuf:"varint,3,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"`
//*
//
//Whether this input must be force-swept. This means that it is swept even
//if it has a negative yield.
Force bool `protobuf:"varint,4,opt,name=force,proto3" json:"force,omitempty"`
@ -1002,12 +1002,12 @@ func init() {
func init() { proto.RegisterFile("walletrpc/walletkit.proto", fileDescriptor_6cc6942ac78249e5) }
var fileDescriptor_6cc6942ac78249e5 = []byte{
// 1180 bytes of a gzipped FileDescriptorProto
// 1178 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x6d, 0x6f, 0xe2, 0x46,
0x10, 0x3e, 0x42, 0x42, 0x60, 0x78, 0x09, 0x59, 0xf2, 0xe2, 0xe3, 0x72, 0x0d, 0x75, 0xdf, 0xa2,
0xf6, 0x8e, 0xa8, 0x39, 0xb5, 0xea, 0xb5, 0x52, 0xd5, 0x04, 0x1c, 0x11, 0x41, 0x70, 0x6a, 0xfb,
0x2e, 0xba, 0xaa, 0xd2, 0xca, 0xe0, 0x0d, 0xb1, 0x02, 0xb6, 0x6f, 0xbd, 0x1c, 0xf0, 0xad, 0xdf,
0xfa, 0x0f, 0x2a, 0xdd, 0xbf, 0xad, 0xbc, 0x7e, 0x61, 0x0d, 0xcd, 0x49, 0xfd, 0x14, 0x76, 0x9e,
0x2e, 0xba, 0xaa, 0xd2, 0xca, 0xe0, 0x0d, 0xb1, 0x02, 0xb6, 0x6f, 0xbd, 0x1c, 0xf0, 0xad, 0x5f,
0xfa, 0x17, 0x2a, 0xdd, 0xbf, 0xad, 0xbc, 0x7e, 0x61, 0x0d, 0xcd, 0x49, 0xfd, 0x14, 0x76, 0x9e,
0x67, 0x9e, 0x9d, 0x9d, 0x19, 0xcf, 0x04, 0x9e, 0xce, 0xcc, 0xf1, 0x98, 0x30, 0xea, 0x0d, 0x4f,
0xc3, 0x5f, 0x0f, 0x36, 0x6b, 0x7a, 0xd4, 0x65, 0x2e, 0x2a, 0x24, 0x50, 0xbd, 0x40, 0xbd, 0x61,
0x68, 0xad, 0xef, 0xf9, 0xf6, 0xc8, 0x09, 0xe8, 0xc1, 0x5f, 0x42, 0x43, 0xab, 0xfc, 0x3b, 0xe4,
@ -1072,11 +1072,11 @@ var fileDescriptor_6cc6942ac78249e5 = []byte{
0xf5, 0x0d, 0x5d, 0xff, 0xec, 0x31, 0x78, 0xa9, 0x26, 0x2c, 0xc5, 0x94, 0xda, 0xfa, 0x8e, 0x4d,
0xa9, 0xfd, 0xd7, 0x2e, 0xd5, 0xa0, 0x9c, 0x9a, 0xbc, 0xe8, 0xf8, 0x91, 0xc9, 0x9a, 0xc4, 0xd7,
0x78, 0x9c, 0x10, 0x69, 0xfe, 0x06, 0xdb, 0xd1, 0x6c, 0x43, 0x4f, 0x05, 0x72, 0x7a, 0x0e, 0xa7,
0x32, 0xb6, 0x32, 0x0a, 0x51, 0x17, 0x60, 0x39, 0x54, 0xd0, 0xd1, 0x23, 0xb3, 0x26, 0xd4, 0x79,
0xfe, 0xc9, 0x49, 0x24, 0x3f, 0xb9, 0xf8, 0xfe, 0x8f, 0xd3, 0x91, 0xcd, 0xee, 0xa7, 0x83, 0xe6,
0xd0, 0x9d, 0x9c, 0x8e, 0x83, 0x3d, 0xe8, 0xd8, 0xce, 0xc8, 0x21, 0x6c, 0xe6, 0xd2, 0x87, 0xd3,
0xb1, 0x63, 0x9d, 0xf2, 0xa9, 0x78, 0x9a, 0xe8, 0x0c, 0x72, 0xfc, 0xdf, 0xc4, 0x57, 0xff, 0x06,
0x00, 0x00, 0xff, 0xff, 0xe6, 0xc9, 0x1c, 0x56, 0x6f, 0x0a, 0x00, 0x00,
0x32, 0xb6, 0x32, 0x0a, 0xd1, 0x15, 0xc0, 0x72, 0xa8, 0xa0, 0xa3, 0x47, 0x66, 0x4d, 0xa8, 0xf3,
0xfc, 0x93, 0x93, 0xe8, 0xe2, 0xfb, 0x3f, 0x4e, 0x47, 0x36, 0xbb, 0x9f, 0x0e, 0x9a, 0x43, 0x77,
0x72, 0x3a, 0x0e, 0xb6, 0xa0, 0x63, 0x3b, 0x23, 0x87, 0xb0, 0x99, 0x4b, 0x1f, 0x4e, 0xc7, 0x8e,
0x75, 0xca, 0x67, 0xe2, 0x69, 0xa2, 0x32, 0xc8, 0xf1, 0x7f, 0x12, 0x5f, 0xfd, 0x1b, 0x00, 0x00,
0xff, 0xff, 0x88, 0x6c, 0x32, 0x8c, 0x6d, 0x0a, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -1091,30 +1091,30 @@ const _ = grpc.SupportPackageIsVersion4
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type WalletKitClient interface {
//*
//
//DeriveNextKey attempts to derive the *next* key within the key family
//(account in BIP43) specified. This method should return the next external
//child within this branch.
DeriveNextKey(ctx context.Context, in *KeyReq, opts ...grpc.CallOption) (*signrpc.KeyDescriptor, error)
//*
//
//DeriveKey attempts to derive an arbitrary key specified by the passed
//KeyLocator.
DeriveKey(ctx context.Context, in *signrpc.KeyLocator, opts ...grpc.CallOption) (*signrpc.KeyDescriptor, error)
//*
//
//NextAddr returns the next unused address within the wallet.
NextAddr(ctx context.Context, in *AddrRequest, opts ...grpc.CallOption) (*AddrResponse, error)
//*
//
//PublishTransaction attempts to publish the passed transaction to the
//network. Once this returns without an error, the wallet will continually
//attempt to re-broadcast the transaction on start up, until it enters the
//chain.
PublishTransaction(ctx context.Context, in *Transaction, opts ...grpc.CallOption) (*PublishResponse, error)
//*
//
//SendOutputs is similar to the existing sendmany call in Bitcoind, and
//allows the caller to create a transaction that sends to several outputs at
//once. This is ideal when wanting to batch create a set of transactions.
SendOutputs(ctx context.Context, in *SendOutputsRequest, opts ...grpc.CallOption) (*SendOutputsResponse, error)
//*
//
//EstimateFee attempts to query the internal fee estimator of the wallet to
//determine the fee (in sat/kw) to attach to a transaction in order to
//achieve the confirmation target.
@ -1254,30 +1254,30 @@ func (c *walletKitClient) ListSweeps(ctx context.Context, in *ListSweepsRequest,
// WalletKitServer is the server API for WalletKit service.
type WalletKitServer interface {
//*
//
//DeriveNextKey attempts to derive the *next* key within the key family
//(account in BIP43) specified. This method should return the next external
//child within this branch.
DeriveNextKey(context.Context, *KeyReq) (*signrpc.KeyDescriptor, error)
//*
//
//DeriveKey attempts to derive an arbitrary key specified by the passed
//KeyLocator.
DeriveKey(context.Context, *signrpc.KeyLocator) (*signrpc.KeyDescriptor, error)
//*
//
//NextAddr returns the next unused address within the wallet.
NextAddr(context.Context, *AddrRequest) (*AddrResponse, error)
//*
//
//PublishTransaction attempts to publish the passed transaction to the
//network. Once this returns without an error, the wallet will continually
//attempt to re-broadcast the transaction on start up, until it enters the
//chain.
PublishTransaction(context.Context, *Transaction) (*PublishResponse, error)
//*
//
//SendOutputs is similar to the existing sendmany call in Bitcoind, and
//allows the caller to create a transaction that sends to several outputs at
//once. This is ideal when wanting to batch create a set of transactions.
SendOutputs(context.Context, *SendOutputsRequest) (*SendOutputsResponse, error)
//*
//
//EstimateFee attempts to query the internal fee estimator of the wallet to
//determine the fee (in sat/kw) to attach to a transaction in order to
//achieve the confirmation target.

View File

@ -10,25 +10,25 @@ option go_package = "github.com/lightningnetwork/lnd/lnrpc/walletrpc";
// WalletKit is a service that gives access to the core functionalities of the
// daemon's wallet.
service WalletKit {
/**
/*
DeriveNextKey attempts to derive the *next* key within the key family
(account in BIP43) specified. This method should return the next external
child within this branch.
*/
rpc DeriveNextKey (KeyReq) returns (signrpc.KeyDescriptor);
/**
/*
DeriveKey attempts to derive an arbitrary key specified by the passed
KeyLocator.
*/
rpc DeriveKey (signrpc.KeyLocator) returns (signrpc.KeyDescriptor);
/**
/*
NextAddr returns the next unused address within the wallet.
*/
rpc NextAddr (AddrRequest) returns (AddrResponse);
/**
/*
PublishTransaction attempts to publish the passed transaction to the
network. Once this returns without an error, the wallet will continually
attempt to re-broadcast the transaction on start up, until it enters the
@ -36,14 +36,14 @@ service WalletKit {
*/
rpc PublishTransaction (Transaction) returns (PublishResponse);
/**
/*
SendOutputs is similar to the existing sendmany call in Bitcoind, and
allows the caller to create a transaction that sends to several outputs at
once. This is ideal when wanting to batch create a set of transactions.
*/
rpc SendOutputs (SendOutputsRequest) returns (SendOutputsResponse);
/**
/*
EstimateFee attempts to query the internal fee estimator of the wallet to
determine the fee (in sat/kw) to attach to a transaction in order to
achieve the confirmation target.
@ -100,14 +100,14 @@ service WalletKit {
}
message KeyReq {
/**
/*
Is the key finger print of the root pubkey that this request is targeting.
This allows the WalletKit to possibly serve out keys for multiple HD chains
via public derivation.
*/
int32 key_finger_print = 1;
/**
/*
The target key family to derive a key from. In other contexts, this is
known as the "account".
*/
@ -118,20 +118,20 @@ message AddrRequest {
// No fields, as we always give out a p2wkh address.
}
message AddrResponse {
/**
/*
The address encoded using a bech32 format.
*/
string addr = 1;
}
message Transaction {
/**
/*
The raw serialized transaction.
*/
bytes tx_hex = 1;
}
message PublishResponse {
/**
/*
If blank, then no error occurred and the transaction was successfully
published. If not the empty string, then a string representation of the
broadcast error.
@ -142,32 +142,32 @@ message PublishResponse {
}
message SendOutputsRequest {
/**
/*
The number of satoshis per kilo weight that should be used when crafting
this transaction.
*/
int64 sat_per_kw = 1;
/**
/*
A slice of the outputs that should be created in the transaction produced.
*/
repeated signrpc.TxOut outputs = 2;
}
message SendOutputsResponse {
/**
/*
The serialized transaction sent out on the network.
*/
bytes raw_tx = 1;
}
message EstimateFeeRequest {
/**
/*
The number of confirmations to shoot for when estimating the fee.
*/
int32 conf_target = 1;
}
message EstimateFeeResponse {
/**
/*
The amount of satoshis per kw that should be used in order to reach the
confirmation target in the request.
*/
@ -296,7 +296,7 @@ message PendingSweep {
// The requested fee rate, expressed in sat/byte, for this output.
uint32 requested_sat_per_byte = 9;
/**
/*
Whether this input must be force-swept. This means that it is swept even
if it has a negative yield.
*/
@ -326,7 +326,7 @@ message BumpFeeRequest {
*/
uint32 sat_per_byte = 3;
/**
/*
Whether this input must be force-swept. This means that it is swept even
if it has a negative yield.
*/

View File

@ -24,12 +24,12 @@ var _ = math.Inf
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
type GenSeedRequest struct {
//*
//
//aezeed_passphrase is an optional user provided passphrase that will be used
//to encrypt the generated aezeed cipher seed. When using REST, this field
//must be encoded as base64.
AezeedPassphrase []byte `protobuf:"bytes,1,opt,name=aezeed_passphrase,json=aezeedPassphrase,proto3" json:"aezeed_passphrase,omitempty"`
//*
//
//seed_entropy is an optional 16-bytes generated via CSPRNG. If not
//specified, then a fresh set of randomness will be used to create the seed.
//When using REST, this field must be encoded as base64.
@ -79,14 +79,14 @@ func (m *GenSeedRequest) GetSeedEntropy() []byte {
}
type GenSeedResponse struct {
//*
//
//cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed
//cipher seed obtained by the user. This field is optional, as if not
//provided, then the daemon will generate a new cipher seed for the user.
//Otherwise, then the daemon will attempt to recover the wallet state linked
//to this cipher seed.
CipherSeedMnemonic []string `protobuf:"bytes,1,rep,name=cipher_seed_mnemonic,json=cipherSeedMnemonic,proto3" json:"cipher_seed_mnemonic,omitempty"`
//*
//
//enciphered_seed are the raw aezeed cipher seed bytes. This is the raw
//cipher text before run through our mnemonic encoding scheme.
EncipheredSeed []byte `protobuf:"bytes,2,opt,name=enciphered_seed,json=encipheredSeed,proto3" json:"enciphered_seed,omitempty"`
@ -135,30 +135,30 @@ func (m *GenSeedResponse) GetEncipheredSeed() []byte {
}
type InitWalletRequest struct {
//*
//
//wallet_password is the passphrase that should be used to encrypt the
//wallet. This MUST be at least 8 chars in length. After creation, this
//password is required to unlock the daemon. When using REST, this field
//must be encoded as base64.
WalletPassword []byte `protobuf:"bytes,1,opt,name=wallet_password,json=walletPassword,proto3" json:"wallet_password,omitempty"`
//*
//
//cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed
//cipher seed obtained by the user. This may have been generated by the
//GenSeed method, or be an existing seed.
CipherSeedMnemonic []string `protobuf:"bytes,2,rep,name=cipher_seed_mnemonic,json=cipherSeedMnemonic,proto3" json:"cipher_seed_mnemonic,omitempty"`
//*
//
//aezeed_passphrase is an optional user provided passphrase that will be used
//to encrypt the generated aezeed cipher seed. When using REST, this field
//must be encoded as base64.
AezeedPassphrase []byte `protobuf:"bytes,3,opt,name=aezeed_passphrase,json=aezeedPassphrase,proto3" json:"aezeed_passphrase,omitempty"`
//*
//
//recovery_window is an optional argument specifying the address lookahead
//when restoring a wallet seed. The recovery window applies to each
//individual branch of the BIP44 derivation paths. Supplying a recovery
//window of zero indicates that no addresses should be recovered, such after
//the first initialization of the wallet.
RecoveryWindow int32 `protobuf:"varint,4,opt,name=recovery_window,json=recoveryWindow,proto3" json:"recovery_window,omitempty"`
//*
//
//channel_backups is an optional argument that allows clients to recover the
//settled funds within a set of channels. This should be populated if the
//user was unable to close out all channels and sweep funds before partial or
@ -263,19 +263,19 @@ func (m *InitWalletResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_InitWalletResponse proto.InternalMessageInfo
type UnlockWalletRequest struct {
//*
//
//wallet_password should be the current valid passphrase for the daemon. This
//will be required to decrypt on-disk material that the daemon requires to
//function properly. When using REST, this field must be encoded as base64.
WalletPassword []byte `protobuf:"bytes,1,opt,name=wallet_password,json=walletPassword,proto3" json:"wallet_password,omitempty"`
//*
//
//recovery_window is an optional argument specifying the address lookahead
//when restoring a wallet seed. The recovery window applies to each
//individual branch of the BIP44 derivation paths. Supplying a recovery
//window of zero indicates that no addresses should be recovered, such after
//the first initialization of the wallet.
RecoveryWindow int32 `protobuf:"varint,2,opt,name=recovery_window,json=recoveryWindow,proto3" json:"recovery_window,omitempty"`
//*
//
//channel_backups is an optional argument that allows clients to recover the
//settled funds within a set of channels. This should be populated if the
//user was unable to close out all channels and sweep funds before partial or
@ -366,11 +366,11 @@ func (m *UnlockWalletResponse) XXX_DiscardUnknown() {
var xxx_messageInfo_UnlockWalletResponse proto.InternalMessageInfo
type ChangePasswordRequest struct {
//*
//
//current_password should be the current valid passphrase used to unlock the
//daemon. When using REST, this field must be encoded as base64.
CurrentPassword []byte `protobuf:"bytes,1,opt,name=current_password,json=currentPassword,proto3" json:"current_password,omitempty"`
//*
//
//new_password should be the new passphrase that will be needed to unlock the
//daemon. When using REST, this field must be encoded as base64.
NewPassword []byte `protobuf:"bytes,2,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"`
@ -516,7 +516,7 @@ const _ = grpc.SupportPackageIsVersion4
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type WalletUnlockerClient interface {
//*
//
//GenSeed is the first method that should be used to instantiate a new lnd
//instance. This method allows a caller to generate a new aezeed cipher seed
//given an optional passphrase. If provided, the passphrase will be necessary
@ -526,7 +526,7 @@ type WalletUnlockerClient interface {
//method should be used to commit the newly generated seed, and create the
//wallet.
GenSeed(ctx context.Context, in *GenSeedRequest, opts ...grpc.CallOption) (*GenSeedResponse, error)
//*
//
//InitWallet is used when lnd is starting up for the first time to fully
//initialize the daemon and its internal wallet. At the very least a wallet
//password must be provided. This will be used to encrypt sensitive material
@ -540,11 +540,11 @@ type WalletUnlockerClient interface {
//seed, then present it to the user. Once it has been verified by the user,
//the seed can be fed into this RPC in order to commit the new wallet.
InitWallet(ctx context.Context, in *InitWalletRequest, opts ...grpc.CallOption) (*InitWalletResponse, error)
//* lncli: `unlock`
// lncli: `unlock`
//UnlockWallet is used at startup of lnd to provide a password to unlock
//the wallet database.
UnlockWallet(ctx context.Context, in *UnlockWalletRequest, opts ...grpc.CallOption) (*UnlockWalletResponse, error)
//* lncli: `changepassword`
// lncli: `changepassword`
//ChangePassword changes the password of the encrypted wallet. This will
//automatically unlock the wallet database if successful.
ChangePassword(ctx context.Context, in *ChangePasswordRequest, opts ...grpc.CallOption) (*ChangePasswordResponse, error)
@ -596,7 +596,7 @@ func (c *walletUnlockerClient) ChangePassword(ctx context.Context, in *ChangePas
// WalletUnlockerServer is the server API for WalletUnlocker service.
type WalletUnlockerServer interface {
//*
//
//GenSeed is the first method that should be used to instantiate a new lnd
//instance. This method allows a caller to generate a new aezeed cipher seed
//given an optional passphrase. If provided, the passphrase will be necessary
@ -606,7 +606,7 @@ type WalletUnlockerServer interface {
//method should be used to commit the newly generated seed, and create the
//wallet.
GenSeed(context.Context, *GenSeedRequest) (*GenSeedResponse, error)
//*
//
//InitWallet is used when lnd is starting up for the first time to fully
//initialize the daemon and its internal wallet. At the very least a wallet
//password must be provided. This will be used to encrypt sensitive material
@ -620,11 +620,11 @@ type WalletUnlockerServer interface {
//seed, then present it to the user. Once it has been verified by the user,
//the seed can be fed into this RPC in order to commit the new wallet.
InitWallet(context.Context, *InitWalletRequest) (*InitWalletResponse, error)
//* lncli: `unlock`
// lncli: `unlock`
//UnlockWallet is used at startup of lnd to provide a password to unlock
//the wallet database.
UnlockWallet(context.Context, *UnlockWalletRequest) (*UnlockWalletResponse, error)
//* lncli: `changepassword`
// lncli: `changepassword`
//ChangePassword changes the password of the encrypted wallet. This will
//automatically unlock the wallet database if successful.
ChangePassword(context.Context, *ChangePasswordRequest) (*ChangePasswordResponse, error)

View File

@ -7,15 +7,11 @@ package lnrpc;
option go_package = "github.com/lightningnetwork/lnd/lnrpc";
/**
/*
* Comments in this file will be directly parsed into the API
* Documentation as descriptions of the associated method, message, or field.
* These descriptions should go right above the definition of the object, and
* can be in either block or /// comment format.
*
* One edge case exists where a // comment followed by a /// comment in the
* next line will cause the description not to show up in the documentation. In
* that instance, simply separate the two comments with a blank line.
* can be in either block or // comment format.
*
* An RPC method can be matched to an lncli command by placing a line in the
* beginning of the description in exactly the following format:
@ -32,7 +28,7 @@ option go_package = "github.com/lightningnetwork/lnd/lnrpc";
// WalletUnlocker is a service that is used to set up a wallet password for
// lnd at first startup, and unlock a previously set up wallet.
service WalletUnlocker {
/**
/*
GenSeed is the first method that should be used to instantiate a new lnd
instance. This method allows a caller to generate a new aezeed cipher seed
given an optional passphrase. If provided, the passphrase will be necessary
@ -48,7 +44,7 @@ service WalletUnlocker {
};
}
/**
/*
InitWallet is used when lnd is starting up for the first time to fully
initialize the daemon and its internal wallet. At the very least a wallet
password must be provided. This will be used to encrypt sensitive material
@ -69,7 +65,7 @@ service WalletUnlocker {
};
}
/** lncli: `unlock`
/* lncli: `unlock`
UnlockWallet is used at startup of lnd to provide a password to unlock
the wallet database.
*/
@ -80,7 +76,7 @@ service WalletUnlocker {
};
}
/** lncli: `changepassword`
/* lncli: `changepassword`
ChangePassword changes the password of the encrypted wallet. This will
automatically unlock the wallet database if successful.
*/
@ -94,14 +90,14 @@ service WalletUnlocker {
}
message GenSeedRequest {
/**
/*
aezeed_passphrase is an optional user provided passphrase that will be used
to encrypt the generated aezeed cipher seed. When using REST, this field
must be encoded as base64.
*/
bytes aezeed_passphrase = 1;
/**
/*
seed_entropy is an optional 16-bytes generated via CSPRNG. If not
specified, then a fresh set of randomness will be used to create the seed.
When using REST, this field must be encoded as base64.
@ -109,7 +105,7 @@ message GenSeedRequest {
bytes seed_entropy = 2;
}
message GenSeedResponse {
/**
/*
cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed
cipher seed obtained by the user. This field is optional, as if not
provided, then the daemon will generate a new cipher seed for the user.
@ -118,7 +114,7 @@ message GenSeedResponse {
*/
repeated string cipher_seed_mnemonic = 1;
/**
/*
enciphered_seed are the raw aezeed cipher seed bytes. This is the raw
cipher text before run through our mnemonic encoding scheme.
*/
@ -126,7 +122,7 @@ message GenSeedResponse {
}
message InitWalletRequest {
/**
/*
wallet_password is the passphrase that should be used to encrypt the
wallet. This MUST be at least 8 chars in length. After creation, this
password is required to unlock the daemon. When using REST, this field
@ -134,21 +130,21 @@ message InitWalletRequest {
*/
bytes wallet_password = 1;
/**
/*
cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed
cipher seed obtained by the user. This may have been generated by the
GenSeed method, or be an existing seed.
*/
repeated string cipher_seed_mnemonic = 2;
/**
/*
aezeed_passphrase is an optional user provided passphrase that will be used
to encrypt the generated aezeed cipher seed. When using REST, this field
must be encoded as base64.
*/
bytes aezeed_passphrase = 3;
/**
/*
recovery_window is an optional argument specifying the address lookahead
when restoring a wallet seed. The recovery window applies to each
individual branch of the BIP44 derivation paths. Supplying a recovery
@ -157,7 +153,7 @@ message InitWalletRequest {
*/
int32 recovery_window = 4;
/**
/*
channel_backups is an optional argument that allows clients to recover the
settled funds within a set of channels. This should be populated if the
user was unable to close out all channels and sweep funds before partial or
@ -171,14 +167,14 @@ message InitWalletResponse {
}
message UnlockWalletRequest {
/**
/*
wallet_password should be the current valid passphrase for the daemon. This
will be required to decrypt on-disk material that the daemon requires to
function properly. When using REST, this field must be encoded as base64.
*/
bytes wallet_password = 1;
/**
/*
recovery_window is an optional argument specifying the address lookahead
when restoring a wallet seed. The recovery window applies to each
individual branch of the BIP44 derivation paths. Supplying a recovery
@ -187,7 +183,7 @@ message UnlockWalletRequest {
*/
int32 recovery_window = 2;
/**
/*
channel_backups is an optional argument that allows clients to recover the
settled funds within a set of channels. This should be populated if the
user was unable to close out all channels and sweep funds before partial or
@ -201,13 +197,13 @@ message UnlockWalletResponse {
}
message ChangePasswordRequest {
/**
/*
current_password should be the current valid passphrase used to unlock the
daemon. When using REST, this field must be encoded as base64.
*/
bytes current_password = 1;
/**
/*
new_password should be the new passphrase that will be needed to unlock the
daemon. When using REST, this field must be encoded as base64.
*/

View File

@ -17,7 +17,7 @@
"paths": {
"/v1/changepassword": {
"post": {
"summary": "* lncli: `changepassword`\nChangePassword changes the password of the encrypted wallet. This will\nautomatically unlock the wallet database if successful.",
"summary": "lncli: `changepassword`\nChangePassword changes the password of the encrypted wallet. This will\nautomatically unlock the wallet database if successful.",
"operationId": "ChangePassword",
"responses": {
"200": {
@ -44,7 +44,7 @@
},
"/v1/genseed": {
"get": {
"summary": "*\nGenSeed is the first method that should be used to instantiate a new lnd\ninstance. This method allows a caller to generate a new aezeed cipher seed\ngiven an optional passphrase. If provided, the passphrase will be necessary\nto decrypt the cipherseed to expose the internal wallet seed.",
"summary": "GenSeed is the first method that should be used to instantiate a new lnd\ninstance. This method allows a caller to generate a new aezeed cipher seed\ngiven an optional passphrase. If provided, the passphrase will be necessary\nto decrypt the cipherseed to expose the internal wallet seed.",
"description": "Once the cipherseed is obtained and verified by the user, the InitWallet\nmethod should be used to commit the newly generated seed, and create the\nwallet.",
"operationId": "GenSeed",
"responses": {
@ -58,7 +58,7 @@
"parameters": [
{
"name": "aezeed_passphrase",
"description": "*\naezeed_passphrase is an optional user provided passphrase that will be used\nto encrypt the generated aezeed cipher seed. When using REST, this field\nmust be encoded as base64.",
"description": "aezeed_passphrase is an optional user provided passphrase that will be used\nto encrypt the generated aezeed cipher seed. When using REST, this field\nmust be encoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -66,7 +66,7 @@
},
{
"name": "seed_entropy",
"description": "*\nseed_entropy is an optional 16-bytes generated via CSPRNG. If not\nspecified, then a fresh set of randomness will be used to create the seed.\nWhen using REST, this field must be encoded as base64.",
"description": "seed_entropy is an optional 16-bytes generated via CSPRNG. If not\nspecified, then a fresh set of randomness will be used to create the seed.\nWhen using REST, this field must be encoded as base64.",
"in": "query",
"required": false,
"type": "string",
@ -80,7 +80,7 @@
},
"/v1/initwallet": {
"post": {
"summary": "*\nInitWallet is used when lnd is starting up for the first time to fully\ninitialize the daemon and its internal wallet. At the very least a wallet\npassword must be provided. This will be used to encrypt sensitive material\non disk.",
"summary": "InitWallet is used when lnd is starting up for the first time to fully\ninitialize the daemon and its internal wallet. At the very least a wallet\npassword must be provided. This will be used to encrypt sensitive material\non disk.",
"description": "In the case of a recovery scenario, the user can also specify their aezeed\nmnemonic and passphrase. If set, then the daemon will use this prior state\nto initialize its internal wallet.\n\nAlternatively, this can be used along with the GenSeed RPC to obtain a\nseed, then present it to the user. Once it has been verified by the user,\nthe seed can be fed into this RPC in order to commit the new wallet.",
"operationId": "InitWallet",
"responses": {
@ -108,7 +108,7 @@
},
"/v1/unlockwallet": {
"post": {
"summary": "* lncli: `unlock`\nUnlockWallet is used at startup of lnd to provide a password to unlock\nthe wallet database.",
"summary": "lncli: `unlock`\nUnlockWallet is used at startup of lnd to provide a password to unlock\nthe wallet database.",
"operationId": "UnlockWallet",
"responses": {
"200": {
@ -140,11 +140,11 @@
"properties": {
"single_chan_backups": {
"$ref": "#/definitions/lnrpcChannelBackups",
"description": "*\nThe set of new channels that have been added since the last channel backup\nsnapshot was requested."
"description": "The set of new channels that have been added since the last channel backup\nsnapshot was requested."
},
"multi_chan_backup": {
"$ref": "#/definitions/lnrpcMultiChanBackup",
"description": "*\nA multi-channel backup that covers all open channels currently known to\nlnd."
"description": "A multi-channel backup that covers all open channels currently known to\nlnd."
}
}
},
@ -154,12 +154,12 @@
"current_password": {
"type": "string",
"format": "byte",
"description": "*\ncurrent_password should be the current valid passphrase used to unlock the\ndaemon. When using REST, this field must be encoded as base64."
"description": "current_password should be the current valid passphrase used to unlock the\ndaemon. When using REST, this field must be encoded as base64."
},
"new_password": {
"type": "string",
"format": "byte",
"description": "*\nnew_password should be the new passphrase that will be needed to unlock the\ndaemon. When using REST, this field must be encoded as base64."
"description": "new_password should be the new passphrase that will be needed to unlock the\ndaemon. When using REST, this field must be encoded as base64."
}
}
},
@ -171,12 +171,12 @@
"properties": {
"chan_point": {
"$ref": "#/definitions/lnrpcChannelPoint",
"description": "*\nIdentifies the channel that this backup belongs to."
"description": "Identifies the channel that this backup belongs to."
},
"chan_backup": {
"type": "string",
"format": "byte",
"description": "*\nIs an encrypted single-chan backup. this can be passed to\nRestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in\norder to trigger the recovery protocol. When using REST, this field must be\nencoded as base64."
"description": "Is an encrypted single-chan backup. this can be passed to\nRestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in\norder to trigger the recovery protocol. When using REST, this field must be\nencoded as base64."
}
}
},
@ -188,7 +188,7 @@
"items": {
"$ref": "#/definitions/lnrpcChannelBackup"
},
"description": "*\nA set of single-chan static channel backups."
"description": "A set of single-chan static channel backups."
}
}
},
@ -198,16 +198,16 @@
"funding_txid_bytes": {
"type": "string",
"format": "byte",
"description": "*\nTxid of the funding transaction. When using REST, this field must be\nencoded as base64."
"description": "Txid of the funding transaction. When using REST, this field must be\nencoded as base64."
},
"funding_txid_str": {
"type": "string",
"description": "*\nHex-encoded string representing the byte-reversed hash of the funding\ntransaction."
"description": "Hex-encoded string representing the byte-reversed hash of the funding\ntransaction."
},
"output_index": {
"type": "integer",
"format": "int64",
"title": "/ The index of the output of the funding transaction"
"title": "The index of the output of the funding transaction"
}
}
},
@ -219,12 +219,12 @@
"items": {
"type": "string"
},
"description": "*\ncipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed\ncipher seed obtained by the user. This field is optional, as if not\nprovided, then the daemon will generate a new cipher seed for the user.\nOtherwise, then the daemon will attempt to recover the wallet state linked\nto this cipher seed."
"description": "cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed\ncipher seed obtained by the user. This field is optional, as if not\nprovided, then the daemon will generate a new cipher seed for the user.\nOtherwise, then the daemon will attempt to recover the wallet state linked\nto this cipher seed."
},
"enciphered_seed": {
"type": "string",
"format": "byte",
"description": "*\nenciphered_seed are the raw aezeed cipher seed bytes. This is the raw\ncipher text before run through our mnemonic encoding scheme."
"description": "enciphered_seed are the raw aezeed cipher seed bytes. This is the raw\ncipher text before run through our mnemonic encoding scheme."
}
}
},
@ -234,28 +234,28 @@
"wallet_password": {
"type": "string",
"format": "byte",
"description": "*\nwallet_password is the passphrase that should be used to encrypt the\nwallet. This MUST be at least 8 chars in length. After creation, this\npassword is required to unlock the daemon. When using REST, this field\nmust be encoded as base64."
"description": "wallet_password is the passphrase that should be used to encrypt the\nwallet. This MUST be at least 8 chars in length. After creation, this\npassword is required to unlock the daemon. When using REST, this field\nmust be encoded as base64."
},
"cipher_seed_mnemonic": {
"type": "array",
"items": {
"type": "string"
},
"description": "*\ncipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed\ncipher seed obtained by the user. This may have been generated by the\nGenSeed method, or be an existing seed."
"description": "cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed\ncipher seed obtained by the user. This may have been generated by the\nGenSeed method, or be an existing seed."
},
"aezeed_passphrase": {
"type": "string",
"format": "byte",
"description": "*\naezeed_passphrase is an optional user provided passphrase that will be used\nto encrypt the generated aezeed cipher seed. When using REST, this field\nmust be encoded as base64."
"description": "aezeed_passphrase is an optional user provided passphrase that will be used\nto encrypt the generated aezeed cipher seed. When using REST, this field\nmust be encoded as base64."
},
"recovery_window": {
"type": "integer",
"format": "int32",
"description": "*\nrecovery_window is an optional argument specifying the address lookahead\nwhen restoring a wallet seed. The recovery window applies to each\nindividual branch of the BIP44 derivation paths. Supplying a recovery\nwindow of zero indicates that no addresses should be recovered, such after\nthe first initialization of the wallet."
"description": "recovery_window is an optional argument specifying the address lookahead\nwhen restoring a wallet seed. The recovery window applies to each\nindividual branch of the BIP44 derivation paths. Supplying a recovery\nwindow of zero indicates that no addresses should be recovered, such after\nthe first initialization of the wallet."
},
"channel_backups": {
"$ref": "#/definitions/lnrpcChanBackupSnapshot",
"description": "*\nchannel_backups is an optional argument that allows clients to recover the\nsettled funds within a set of channels. This should be populated if the\nuser was unable to close out all channels and sweep funds before partial or\ntotal data loss occurred. If specified, then after on-chain recovery of\nfunds, lnd begin to carry out the data loss recovery protocol in order to\nrecover the funds in each channel from a remote force closed transaction."
"description": "channel_backups is an optional argument that allows clients to recover the\nsettled funds within a set of channels. This should be populated if the\nuser was unable to close out all channels and sweep funds before partial or\ntotal data loss occurred. If specified, then after on-chain recovery of\nfunds, lnd begin to carry out the data loss recovery protocol in order to\nrecover the funds in each channel from a remote force closed transaction."
}
}
},
@ -270,12 +270,12 @@
"items": {
"$ref": "#/definitions/lnrpcChannelPoint"
},
"description": "*\nIs the set of all channels that are included in this multi-channel backup."
"description": "Is the set of all channels that are included in this multi-channel backup."
},
"multi_chan_backup": {
"type": "string",
"format": "byte",
"description": "*\nA single encrypted blob containing all the static channel backups of the\nchannel listed above. This can be stored as a single file or blob, and\nsafely be replaced with any prior/future versions. When using REST, this\nfield must be encoded as base64."
"description": "A single encrypted blob containing all the static channel backups of the\nchannel listed above. This can be stored as a single file or blob, and\nsafely be replaced with any prior/future versions. When using REST, this\nfield must be encoded as base64."
}
}
},
@ -285,16 +285,16 @@
"wallet_password": {
"type": "string",
"format": "byte",
"description": "*\nwallet_password should be the current valid passphrase for the daemon. This\nwill be required to decrypt on-disk material that the daemon requires to\nfunction properly. When using REST, this field must be encoded as base64."
"description": "wallet_password should be the current valid passphrase for the daemon. This\nwill be required to decrypt on-disk material that the daemon requires to\nfunction properly. When using REST, this field must be encoded as base64."
},
"recovery_window": {
"type": "integer",
"format": "int32",
"description": "*\nrecovery_window is an optional argument specifying the address lookahead\nwhen restoring a wallet seed. The recovery window applies to each\nindividual branch of the BIP44 derivation paths. Supplying a recovery\nwindow of zero indicates that no addresses should be recovered, such after\nthe first initialization of the wallet."
"description": "recovery_window is an optional argument specifying the address lookahead\nwhen restoring a wallet seed. The recovery window applies to each\nindividual branch of the BIP44 derivation paths. Supplying a recovery\nwindow of zero indicates that no addresses should be recovered, such after\nthe first initialization of the wallet."
},
"channel_backups": {
"$ref": "#/definitions/lnrpcChanBackupSnapshot",
"description": "*\nchannel_backups is an optional argument that allows clients to recover the\nsettled funds within a set of channels. This should be populated if the\nuser was unable to close out all channels and sweep funds before partial or\ntotal data loss occurred. If specified, then after on-chain recovery of\nfunds, lnd begin to carry out the data loss recovery protocol in order to\nrecover the funds in each channel from a remote force closed transaction."
"description": "channel_backups is an optional argument that allows clients to recover the\nsettled funds within a set of channels. This should be populated if the\nuser was unable to close out all channels and sweep funds before partial or\ntotal data loss occurred. If specified, then after on-chain recovery of\nfunds, lnd begin to carry out the data loss recovery protocol in order to\nrecover the funds in each channel from a remote force closed transaction."
}
}
},

View File

@ -54,11 +54,11 @@ func (m *GetInfoRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_GetInfoRequest proto.InternalMessageInfo
type GetInfoResponse struct {
/// The public key of the watchtower.
// The public key of the watchtower.
Pubkey []byte `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
/// The listening addresses of the watchtower.
// The listening addresses of the watchtower.
Listeners []string `protobuf:"bytes,2,rep,name=listeners,proto3" json:"listeners,omitempty"`
/// The URIs of the watchtower.
// The URIs of the watchtower.
Uris []string `protobuf:"bytes,3,rep,name=uris,proto3" json:"uris,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
@ -148,7 +148,7 @@ const _ = grpc.SupportPackageIsVersion4
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type WatchtowerClient interface {
//* lncli: tower info
// lncli: tower info
//GetInfo returns general information concerning the companion watchtower
//including its public key and URIs where the server is currently
//listening for clients.
@ -174,7 +174,7 @@ func (c *watchtowerClient) GetInfo(ctx context.Context, in *GetInfoRequest, opts
// WatchtowerServer is the server API for Watchtower service.
type WatchtowerServer interface {
//* lncli: tower info
// lncli: tower info
//GetInfo returns general information concerning the companion watchtower
//including its public key and URIs where the server is currently
//listening for clients.

View File

@ -7,7 +7,7 @@ option go_package = "github.com/lightningnetwork/lnd/lnrpc/watchtowerrpc";
// Watchtower is a service that grants access to the watchtower server
// functionality of the daemon.
service Watchtower {
/** lncli: tower info
/* lncli: tower info
GetInfo returns general information concerning the companion watchtower
including its public key and URIs where the server is currently
listening for clients.
@ -19,12 +19,12 @@ message GetInfoRequest {
}
message GetInfoResponse {
/// The public key of the watchtower.
// The public key of the watchtower.
bytes pubkey = 1;
/// The listening addresses of the watchtower.
// The listening addresses of the watchtower.
repeated string listeners = 2;
/// The URIs of the watchtower.
// The URIs of the watchtower.
repeated string uris = 3;
}