lnrpc: add new invoice related RPC commands

This commit is contained in:
Olaoluwa Osuntokun 2016-09-19 11:52:23 -07:00
parent d7c4074cd6
commit 39e6217860
No known key found for this signature in database
GPG Key ID: 9CC5B105D03521A2
2 changed files with 352 additions and 169 deletions

@ -45,6 +45,11 @@ It has these top-level messages:
RoutingTableLink
ShowRoutingTableRequest
ShowRoutingTableResponse
Invoice
AddInvoiceResponse
PaymentHash
ListInvoiceRequest
ListInvoiceResponse
*/
package lnrpc
@ -121,8 +126,8 @@ func (NewAddressRequest_AddressType) EnumDescriptor() ([]byte, []int) {
type SendRequest struct {
Dest []byte `protobuf:"bytes,1,opt,name=dest,proto3" json:"dest,omitempty"`
Amt int64 `protobuf:"varint,2,opt,name=amt" json:"amt,omitempty"`
PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
FastSend bool `protobuf:"varint,4,opt,name=fast_send,json=fastSend" json:"fast_send,omitempty"`
PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,proto3" json:"payment_hash,omitempty"`
FastSend bool `protobuf:"varint,4,opt,name=fast_send" json:"fast_send,omitempty"`
}
func (m *SendRequest) Reset() { *m = SendRequest{} }
@ -139,8 +144,8 @@ func (*SendResponse) ProtoMessage() {}
func (*SendResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
type ChannelPoint struct {
FundingTxid []byte `protobuf:"bytes,1,opt,name=funding_txid,json=fundingTxid,proto3" json:"funding_txid,omitempty"`
OutputIndex uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex" json:"output_index,omitempty"`
FundingTxid []byte `protobuf:"bytes,1,opt,name=funding_txid,proto3" json:"funding_txid,omitempty"`
OutputIndex uint32 `protobuf:"varint,2,opt,name=output_index" json:"output_index,omitempty"`
}
func (m *ChannelPoint) Reset() { *m = ChannelPoint{} }
@ -159,7 +164,7 @@ func (*LightningAddress) ProtoMessage() {}
func (*LightningAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
type SendManyRequest struct {
AddrToAmount map[string]int64 `protobuf:"bytes,1,rep,name=AddrToAmount,json=addrToAmount" json:"AddrToAmount,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
AddrToAmount map[string]int64 `protobuf:"bytes,1,rep,name=AddrToAmount" json:"AddrToAmount,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
}
func (m *SendManyRequest) Reset() { *m = SendManyRequest{} }
@ -237,7 +242,7 @@ func (m *ConnectPeerRequest) GetAddr() *LightningAddress {
}
type ConnectPeerResponse struct {
PeerId int32 `protobuf:"varint,1,opt,name=peer_id,json=peerId" json:"peer_id,omitempty"`
PeerId int32 `protobuf:"varint,1,opt,name=peer_id" json:"peer_id,omitempty"`
}
func (m *ConnectPeerResponse) Reset() { *m = ConnectPeerResponse{} }
@ -248,8 +253,8 @@ func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor
type HTLC struct {
Id int64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
Amount int64 `protobuf:"varint,2,opt,name=amount" json:"amount,omitempty"`
HashLock []byte `protobuf:"bytes,3,opt,name=hash_lock,json=hashLock,proto3" json:"hash_lock,omitempty"`
ToUs bool `protobuf:"varint,4,opt,name=to_us,json=toUs" json:"to_us,omitempty"`
HashLock []byte `protobuf:"bytes,3,opt,name=hash_lock,proto3" json:"hash_lock,omitempty"`
ToUs bool `protobuf:"varint,4,opt,name=to_us" json:"to_us,omitempty"`
}
func (m *HTLC) Reset() { *m = HTLC{} }
@ -259,14 +264,14 @@ func (*HTLC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
type ActiveChannel struct {
// TODO(roasbeef): make channel points a string everywhere in rpc?
RemoteId string `protobuf:"bytes,1,opt,name=remote_id,json=remoteId" json:"remote_id,omitempty"`
ChannelPoint string `protobuf:"bytes,2,opt,name=channel_point,json=channelPoint" json:"channel_point,omitempty"`
RemoteId string `protobuf:"bytes,1,opt,name=remote_id" json:"remote_id,omitempty"`
ChannelPoint string `protobuf:"bytes,2,opt,name=channel_point" json:"channel_point,omitempty"`
Capacity int64 `protobuf:"varint,3,opt,name=capacity" json:"capacity,omitempty"`
LocalBalance int64 `protobuf:"varint,4,opt,name=local_balance,json=localBalance" json:"local_balance,omitempty"`
RemoteBalance int64 `protobuf:"varint,5,opt,name=remote_balance,json=remoteBalance" json:"remote_balance,omitempty"`
UnsettledBelance int64 `protobuf:"varint,6,opt,name=unsettled_belance,json=unsettledBelance" json:"unsettled_belance,omitempty"`
PendingHtlcs []*HTLC `protobuf:"bytes,7,rep,name=pending_htlcs,json=pendingHtlcs" json:"pending_htlcs,omitempty"`
NumUpdates uint64 `protobuf:"varint,8,opt,name=num_updates,json=numUpdates" json:"num_updates,omitempty"`
LocalBalance int64 `protobuf:"varint,4,opt,name=local_balance" json:"local_balance,omitempty"`
RemoteBalance int64 `protobuf:"varint,5,opt,name=remote_balance" json:"remote_balance,omitempty"`
UnsettledBelance int64 `protobuf:"varint,6,opt,name=unsettled_belance" json:"unsettled_belance,omitempty"`
PendingHtlcs []*HTLC `protobuf:"bytes,7,rep,name=pending_htlcs" json:"pending_htlcs,omitempty"`
NumUpdates uint64 `protobuf:"varint,8,opt,name=num_updates" json:"num_updates,omitempty"`
}
func (m *ActiveChannel) Reset() { *m = ActiveChannel{} }
@ -282,13 +287,13 @@ func (m *ActiveChannel) GetPendingHtlcs() []*HTLC {
}
type Peer struct {
LightningId string `protobuf:"bytes,1,opt,name=lightning_id,json=lightningId" json:"lightning_id,omitempty"`
PeerId int32 `protobuf:"varint,2,opt,name=peer_id,json=peerId" json:"peer_id,omitempty"`
LightningId string `protobuf:"bytes,1,opt,name=lightning_id" json:"lightning_id,omitempty"`
PeerId int32 `protobuf:"varint,2,opt,name=peer_id" json:"peer_id,omitempty"`
Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
BytesSent uint64 `protobuf:"varint,4,opt,name=bytes_sent,json=bytesSent" json:"bytes_sent,omitempty"`
BytesRecv uint64 `protobuf:"varint,5,opt,name=bytes_recv,json=bytesRecv" json:"bytes_recv,omitempty"`
SatSent int64 `protobuf:"varint,6,opt,name=sat_sent,json=satSent" json:"sat_sent,omitempty"`
SatRecv int64 `protobuf:"varint,7,opt,name=sat_recv,json=satRecv" json:"sat_recv,omitempty"`
BytesSent uint64 `protobuf:"varint,4,opt,name=bytes_sent" json:"bytes_sent,omitempty"`
BytesRecv uint64 `protobuf:"varint,5,opt,name=bytes_recv" json:"bytes_recv,omitempty"`
SatSent int64 `protobuf:"varint,6,opt,name=sat_sent" json:"sat_sent,omitempty"`
SatRecv int64 `protobuf:"varint,7,opt,name=sat_recv" json:"sat_recv,omitempty"`
Inbound bool `protobuf:"varint,8,opt,name=inbound" json:"inbound,omitempty"`
// TODO(roasbeef): add pending channels
Channels []*ActiveChannel `protobuf:"bytes,9,rep,name=channels" json:"channels,omitempty"`
@ -339,11 +344,11 @@ func (*GetInfoRequest) ProtoMessage() {}
func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
type GetInfoResponse struct {
LightningId string `protobuf:"bytes,1,opt,name=lightning_id,json=lightningId" json:"lightning_id,omitempty"`
IdentityAddress string `protobuf:"bytes,2,opt,name=identity_address,json=identityAddress" json:"identity_address,omitempty"`
NumPendingChannels uint32 `protobuf:"varint,3,opt,name=num_pending_channels,json=numPendingChannels" json:"num_pending_channels,omitempty"`
NumActiveChannels uint32 `protobuf:"varint,4,opt,name=num_active_channels,json=numActiveChannels" json:"num_active_channels,omitempty"`
NumPeers uint32 `protobuf:"varint,5,opt,name=num_peers,json=numPeers" json:"num_peers,omitempty"`
LightningId string `protobuf:"bytes,1,opt,name=lightning_id" json:"lightning_id,omitempty"`
IdentityAddress string `protobuf:"bytes,2,opt,name=identity_address" json:"identity_address,omitempty"`
NumPendingChannels uint32 `protobuf:"varint,3,opt,name=num_pending_channels" json:"num_pending_channels,omitempty"`
NumActiveChannels uint32 `protobuf:"varint,4,opt,name=num_active_channels" json:"num_active_channels,omitempty"`
NumPeers uint32 `protobuf:"varint,5,opt,name=num_peers" json:"num_peers,omitempty"`
}
func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} }
@ -352,9 +357,9 @@ func (*GetInfoResponse) ProtoMessage() {}
func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
type ConfirmationUpdate struct {
BlockSha []byte `protobuf:"bytes,1,opt,name=block_sha,json=blockSha,proto3" json:"block_sha,omitempty"`
BlockHeight int32 `protobuf:"varint,2,opt,name=block_height,json=blockHeight" json:"block_height,omitempty"`
NumConfsLeft uint32 `protobuf:"varint,3,opt,name=num_confs_left,json=numConfsLeft" json:"num_confs_left,omitempty"`
BlockSha []byte `protobuf:"bytes,1,opt,name=block_sha,proto3" json:"block_sha,omitempty"`
BlockHeight int32 `protobuf:"varint,2,opt,name=block_height" json:"block_height,omitempty"`
NumConfsLeft uint32 `protobuf:"varint,3,opt,name=num_confs_left" json:"num_confs_left,omitempty"`
}
func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} }
@ -363,7 +368,7 @@ func (*ConfirmationUpdate) ProtoMessage() {}
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
type ChannelOpenUpdate struct {
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint" json:"channel_point,omitempty"`
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point" json:"channel_point,omitempty"`
}
func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} }
@ -379,7 +384,7 @@ func (m *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint {
}
type ChannelCloseUpdate struct {
ClosingTxid []byte `protobuf:"bytes,1,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"`
ClosingTxid []byte `protobuf:"bytes,1,opt,name=closing_txid,proto3" json:"closing_txid,omitempty"`
Success bool `protobuf:"varint,2,opt,name=success" json:"success,omitempty"`
}
@ -389,8 +394,8 @@ func (*ChannelCloseUpdate) ProtoMessage() {}
func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
type CloseChannelRequest struct {
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint" json:"channel_point,omitempty"`
TimeLimit int64 `protobuf:"varint,2,opt,name=time_limit,json=timeLimit" json:"time_limit,omitempty"`
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point" json:"channel_point,omitempty"`
TimeLimit int64 `protobuf:"varint,2,opt,name=time_limit" json:"time_limit,omitempty"`
Force bool `protobuf:"varint,3,opt,name=force" json:"force,omitempty"`
}
@ -424,13 +429,13 @@ type isCloseStatusUpdate_Update interface {
}
type CloseStatusUpdate_ClosePending struct {
ClosePending *PendingUpdate `protobuf:"bytes,1,opt,name=close_pending,json=closePending,oneof"`
ClosePending *PendingUpdate `protobuf:"bytes,1,opt,name=close_pending,oneof"`
}
type CloseStatusUpdate_Confirmation struct {
Confirmation *ConfirmationUpdate `protobuf:"bytes,2,opt,name=confirmation,oneof"`
}
type CloseStatusUpdate_ChanClose struct {
ChanClose *ChannelCloseUpdate `protobuf:"bytes,3,opt,name=chan_close,json=chanClose,oneof"`
ChanClose *ChannelCloseUpdate `protobuf:"bytes,3,opt,name=chan_close,oneof"`
}
func (*CloseStatusUpdate_ClosePending) isCloseStatusUpdate_Update() {}
@ -568,12 +573,12 @@ func (*PendingUpdate) ProtoMessage() {}
func (*PendingUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
type OpenChannelRequest struct {
TargetPeerId int32 `protobuf:"varint,1,opt,name=target_peer_id,json=targetPeerId" json:"target_peer_id,omitempty"`
TargetNode []byte `protobuf:"bytes,2,opt,name=target_node,json=targetNode,proto3" json:"target_node,omitempty"`
LocalFundingAmount int64 `protobuf:"varint,3,opt,name=local_funding_amount,json=localFundingAmount" json:"local_funding_amount,omitempty"`
RemoteFundingAmount int64 `protobuf:"varint,4,opt,name=remote_funding_amount,json=remoteFundingAmount" json:"remote_funding_amount,omitempty"`
CommissionSize int64 `protobuf:"varint,5,opt,name=commission_size,json=commissionSize" json:"commission_size,omitempty"`
NumConfs uint32 `protobuf:"varint,6,opt,name=num_confs,json=numConfs" json:"num_confs,omitempty"`
TargetPeerId int32 `protobuf:"varint,1,opt,name=target_peer_id" json:"target_peer_id,omitempty"`
TargetNode []byte `protobuf:"bytes,2,opt,name=target_node,proto3" json:"target_node,omitempty"`
LocalFundingAmount int64 `protobuf:"varint,3,opt,name=local_funding_amount" json:"local_funding_amount,omitempty"`
RemoteFundingAmount int64 `protobuf:"varint,4,opt,name=remote_funding_amount" json:"remote_funding_amount,omitempty"`
CommissionSize int64 `protobuf:"varint,5,opt,name=commission_size" json:"commission_size,omitempty"`
NumConfs uint32 `protobuf:"varint,6,opt,name=num_confs" json:"num_confs,omitempty"`
}
func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
@ -599,13 +604,13 @@ type isOpenStatusUpdate_Update interface {
}
type OpenStatusUpdate_ChanPending struct {
ChanPending *PendingUpdate `protobuf:"bytes,1,opt,name=chan_pending,json=chanPending,oneof"`
ChanPending *PendingUpdate `protobuf:"bytes,1,opt,name=chan_pending,oneof"`
}
type OpenStatusUpdate_Confirmation struct {
Confirmation *ConfirmationUpdate `protobuf:"bytes,2,opt,name=confirmation,oneof"`
}
type OpenStatusUpdate_ChanOpen struct {
ChanOpen *ChannelOpenUpdate `protobuf:"bytes,3,opt,name=chan_open,json=chanOpen,oneof"`
ChanOpen *ChannelOpenUpdate `protobuf:"bytes,3,opt,name=chan_open,oneof"`
}
func (*OpenStatusUpdate_ChanPending) isOpenStatusUpdate_Update() {}
@ -743,7 +748,7 @@ func (*PendingChannelRequest) ProtoMessage() {}
func (*PendingChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
type PendingChannelResponse struct {
PendingChannels []*PendingChannelResponse_PendingChannel `protobuf:"bytes,1,rep,name=pending_channels,json=pendingChannels" json:"pending_channels,omitempty"`
PendingChannels []*PendingChannelResponse_PendingChannel `protobuf:"bytes,1,rep,name=pending_channels" json:"pending_channels,omitempty"`
}
func (m *PendingChannelResponse) Reset() { *m = PendingChannelResponse{} }
@ -759,13 +764,13 @@ func (m *PendingChannelResponse) GetPendingChannels() []*PendingChannelResponse_
}
type PendingChannelResponse_PendingChannel struct {
PeerId int32 `protobuf:"varint,1,opt,name=peer_id,json=peerId" json:"peer_id,omitempty"`
LightningId string `protobuf:"bytes,2,opt,name=lightning_id,json=lightningId" json:"lightning_id,omitempty"`
ChannelPoint string `protobuf:"bytes,3,opt,name=channel_point,json=channelPoint" json:"channel_point,omitempty"`
PeerId int32 `protobuf:"varint,1,opt,name=peer_id" json:"peer_id,omitempty"`
LightningId string `protobuf:"bytes,2,opt,name=lightning_id" json:"lightning_id,omitempty"`
ChannelPoint string `protobuf:"bytes,3,opt,name=channel_point" json:"channel_point,omitempty"`
Capacity int64 `protobuf:"varint,4,opt,name=capacity" json:"capacity,omitempty"`
LocalBalance int64 `protobuf:"varint,5,opt,name=local_balance,json=localBalance" json:"local_balance,omitempty"`
RemoteBalance int64 `protobuf:"varint,6,opt,name=remote_balance,json=remoteBalance" json:"remote_balance,omitempty"`
ClosingTxid string `protobuf:"bytes,7,opt,name=closing_txid,json=closingTxid" json:"closing_txid,omitempty"`
LocalBalance int64 `protobuf:"varint,5,opt,name=local_balance" json:"local_balance,omitempty"`
RemoteBalance int64 `protobuf:"varint,6,opt,name=remote_balance" json:"remote_balance,omitempty"`
ClosingTxid string `protobuf:"bytes,7,opt,name=closing_txid" json:"closing_txid,omitempty"`
Status ChannelStatus `protobuf:"varint,8,opt,name=status,enum=lnrpc.ChannelStatus" json:"status,omitempty"`
}
@ -777,7 +782,7 @@ func (*PendingChannelResponse_PendingChannel) Descriptor() ([]byte, []int) {
}
type WalletBalanceRequest struct {
WitnessOnly bool `protobuf:"varint,1,opt,name=witness_only,json=witnessOnly" json:"witness_only,omitempty"`
WitnessOnly bool `protobuf:"varint,1,opt,name=witness_only" json:"witness_only,omitempty"`
}
func (m *WalletBalanceRequest) Reset() { *m = WalletBalanceRequest{} }
@ -848,6 +853,62 @@ func (m *ShowRoutingTableResponse) GetChannels() []*RoutingTableLink {
return nil
}
type Invoice struct {
Memo string `protobuf:"bytes,1,opt,name=memo" json:"memo,omitempty"`
Receipt []byte `protobuf:"bytes,2,opt,name=receipt,proto3" json:"receipt,omitempty"`
RPreimage []byte `protobuf:"bytes,3,opt,name=r_preimage,proto3" json:"r_preimage,omitempty"`
RHash []byte `protobuf:"bytes,4,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
Value int64 `protobuf:"varint,5,opt,name=value" json:"value,omitempty"`
}
func (m *Invoice) Reset() { *m = Invoice{} }
func (m *Invoice) String() string { return proto.CompactTextString(m) }
func (*Invoice) ProtoMessage() {}
func (*Invoice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
type AddInvoiceResponse struct {
RHash []byte `protobuf:"bytes,1,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
}
func (m *AddInvoiceResponse) Reset() { *m = AddInvoiceResponse{} }
func (m *AddInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*AddInvoiceResponse) ProtoMessage() {}
func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
type PaymentHash struct {
RHash []byte `protobuf:"bytes,1,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
}
func (m *PaymentHash) Reset() { *m = PaymentHash{} }
func (m *PaymentHash) String() string { return proto.CompactTextString(m) }
func (*PaymentHash) ProtoMessage() {}
func (*PaymentHash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
type ListInvoiceRequest struct {
PendingOnly bool `protobuf:"varint,1,opt,name=pending_only" json:"pending_only,omitempty"`
}
func (m *ListInvoiceRequest) Reset() { *m = ListInvoiceRequest{} }
func (m *ListInvoiceRequest) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceRequest) ProtoMessage() {}
func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
type ListInvoiceResponse struct {
Invoices []*Invoice `protobuf:"bytes,1,rep,name=invoices" json:"invoices,omitempty"`
}
func (m *ListInvoiceResponse) Reset() { *m = ListInvoiceResponse{} }
func (m *ListInvoiceResponse) String() string { return proto.CompactTextString(m) }
func (*ListInvoiceResponse) ProtoMessage() {}
func (*ListInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
func (m *ListInvoiceResponse) GetInvoices() []*Invoice {
if m != nil {
return m.Invoices
}
return nil
}
func init() {
proto.RegisterType((*SendRequest)(nil), "lnrpc.SendRequest")
proto.RegisterType((*SendResponse)(nil), "lnrpc.SendResponse")
@ -886,6 +947,11 @@ func init() {
proto.RegisterType((*RoutingTableLink)(nil), "lnrpc.RoutingTableLink")
proto.RegisterType((*ShowRoutingTableRequest)(nil), "lnrpc.ShowRoutingTableRequest")
proto.RegisterType((*ShowRoutingTableResponse)(nil), "lnrpc.ShowRoutingTableResponse")
proto.RegisterType((*Invoice)(nil), "lnrpc.Invoice")
proto.RegisterType((*AddInvoiceResponse)(nil), "lnrpc.AddInvoiceResponse")
proto.RegisterType((*PaymentHash)(nil), "lnrpc.PaymentHash")
proto.RegisterType((*ListInvoiceRequest)(nil), "lnrpc.ListInvoiceRequest")
proto.RegisterType((*ListInvoiceResponse)(nil), "lnrpc.ListInvoiceResponse")
proto.RegisterEnum("lnrpc.ChannelStatus", ChannelStatus_name, ChannelStatus_value)
proto.RegisterEnum("lnrpc.NewAddressRequest_AddressType", NewAddressRequest_AddressType_name, NewAddressRequest_AddressType_value)
}
@ -913,6 +979,9 @@ type LightningClient interface {
CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (Lightning_CloseChannelClient, error)
PendingChannels(ctx context.Context, in *PendingChannelRequest, opts ...grpc.CallOption) (*PendingChannelResponse, error)
SendPayment(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendPaymentClient, error)
AddInvoice(ctx context.Context, in *Invoice, opts ...grpc.CallOption) (*AddInvoiceResponse, error)
LookupInvoice(ctx context.Context, in *PaymentHash, opts ...grpc.CallOption) (*Invoice, error)
ListInvoices(ctx context.Context, in *ListInvoiceRequest, opts ...grpc.CallOption) (*ListInvoiceResponse, error)
ShowRoutingTable(ctx context.Context, in *ShowRoutingTableRequest, opts ...grpc.CallOption) (*ShowRoutingTableResponse, error)
}
@ -1100,6 +1169,33 @@ func (x *lightningSendPaymentClient) Recv() (*SendResponse, error) {
return m, nil
}
func (c *lightningClient) AddInvoice(ctx context.Context, in *Invoice, opts ...grpc.CallOption) (*AddInvoiceResponse, error) {
out := new(AddInvoiceResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/AddInvoice", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) LookupInvoice(ctx context.Context, in *PaymentHash, opts ...grpc.CallOption) (*Invoice, error) {
out := new(Invoice)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/LookupInvoice", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) ListInvoices(ctx context.Context, in *ListInvoiceRequest, opts ...grpc.CallOption) (*ListInvoiceResponse, error) {
out := new(ListInvoiceResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/ListInvoices", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) ShowRoutingTable(ctx context.Context, in *ShowRoutingTableRequest, opts ...grpc.CallOption) (*ShowRoutingTableResponse, error) {
out := new(ShowRoutingTableResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/ShowRoutingTable", in, out, c.cc, opts...)
@ -1124,6 +1220,9 @@ type LightningServer interface {
CloseChannel(*CloseChannelRequest, Lightning_CloseChannelServer) error
PendingChannels(context.Context, *PendingChannelRequest) (*PendingChannelResponse, error)
SendPayment(Lightning_SendPaymentServer) error
AddInvoice(context.Context, *Invoice) (*AddInvoiceResponse, error)
LookupInvoice(context.Context, *PaymentHash) (*Invoice, error)
ListInvoices(context.Context, *ListInvoiceRequest) (*ListInvoiceResponse, error)
ShowRoutingTable(context.Context, *ShowRoutingTableRequest) (*ShowRoutingTableResponse, error)
}
@ -1361,6 +1460,60 @@ func (x *lightningSendPaymentServer) Recv() (*SendRequest, error) {
return m, nil
}
func _Lightning_AddInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(Invoice)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).AddInvoice(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/AddInvoice",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).AddInvoice(ctx, req.(*Invoice))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_LookupInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PaymentHash)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).LookupInvoice(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/LookupInvoice",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).LookupInvoice(ctx, req.(*PaymentHash))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_ListInvoices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListInvoiceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).ListInvoices(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/ListInvoices",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).ListInvoices(ctx, req.(*ListInvoiceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_ShowRoutingTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ShowRoutingTableRequest)
if err := dec(in); err != nil {
@ -1419,6 +1572,18 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
MethodName: "PendingChannels",
Handler: _Lightning_PendingChannels_Handler,
},
{
MethodName: "AddInvoice",
Handler: _Lightning_AddInvoice_Handler,
},
{
MethodName: "LookupInvoice",
Handler: _Lightning_LookupInvoice_Handler,
},
{
MethodName: "ListInvoices",
Handler: _Lightning_ListInvoices_Handler,
},
{
MethodName: "ShowRoutingTable",
Handler: _Lightning_ShowRoutingTable_Handler,
@ -1448,122 +1613,113 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 1863 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x58, 0x5f, 0x73, 0xd3, 0xca,
0x15, 0xbf, 0xfe, 0x17, 0xdb, 0x47, 0x8e, 0xe3, 0x6c, 0xfe, 0x39, 0xbe, 0xdc, 0x4b, 0x51, 0x69,
0x49, 0x0b, 0x93, 0x01, 0x33, 0xd3, 0x06, 0x98, 0x81, 0x49, 0x42, 0x20, 0x29, 0x26, 0x49, 0xe5,
0x30, 0x4c, 0x9f, 0x54, 0x59, 0xde, 0x60, 0x0d, 0xb2, 0xe4, 0x5a, 0x6b, 0x82, 0x79, 0xee, 0xb4,
0x5f, 0xa0, 0x8f, 0x1d, 0xa6, 0xcf, 0xfd, 0x06, 0xfd, 0x18, 0x7d, 0xea, 0x5b, 0x3f, 0x4b, 0xcf,
0xfe, 0x93, 0x25, 0xd9, 0x01, 0xa6, 0x73, 0x9f, 0xac, 0xfd, 0xed, 0xd9, 0xb3, 0xe7, 0xff, 0x39,
0x6b, 0xa8, 0x8e, 0x47, 0xee, 0xee, 0x68, 0x1c, 0xb2, 0x90, 0x94, 0xfc, 0x00, 0x17, 0x66, 0x04,
0x46, 0x97, 0x06, 0x7d, 0x8b, 0xfe, 0x69, 0x42, 0x23, 0x46, 0x08, 0x14, 0xfb, 0xf8, 0xdb, 0xcc,
0xfd, 0x2c, 0xb7, 0x53, 0xb3, 0xc4, 0x37, 0x69, 0x40, 0xc1, 0x19, 0xb2, 0x66, 0x1e, 0xa1, 0x82,
0xc5, 0x3f, 0xc9, 0x2d, 0xa8, 0x8d, 0x9c, 0xe9, 0x90, 0x06, 0xcc, 0x1e, 0x38, 0xd1, 0xa0, 0x59,
0x10, 0xd4, 0x86, 0xc2, 0x8e, 0x11, 0x22, 0xdf, 0x43, 0xf5, 0xd2, 0x89, 0x98, 0x1d, 0x21, 0xf3,
0x66, 0x11, 0xf7, 0x2b, 0x56, 0x85, 0x03, 0xfc, 0x32, 0xb3, 0x0e, 0x35, 0x79, 0x69, 0x34, 0x0a,
0x83, 0x88, 0x9a, 0x17, 0x50, 0x3b, 0x1c, 0x38, 0x41, 0x40, 0xfd, 0xf3, 0xd0, 0x0b, 0x04, 0xff,
0xcb, 0x49, 0xd0, 0xf7, 0x82, 0x77, 0x36, 0xfb, 0xe8, 0xf5, 0x95, 0x34, 0x86, 0xc2, 0x2e, 0x10,
0xe2, 0x24, 0xe1, 0x84, 0x8d, 0x26, 0xcc, 0xf6, 0x82, 0x3e, 0xfd, 0x28, 0xa4, 0x5b, 0xb6, 0x0c,
0x89, 0x9d, 0x70, 0xc8, 0x7c, 0x01, 0x8d, 0x8e, 0xf7, 0x6e, 0xc0, 0x02, 0x3c, 0xb3, 0xdf, 0xef,
0x8f, 0x69, 0x14, 0x91, 0x1f, 0x01, 0x46, 0x93, 0xde, 0x2b, 0x3a, 0xe5, 0x42, 0x0a, 0xbe, 0x55,
0x2b, 0x81, 0x70, 0xfd, 0x07, 0x61, 0x24, 0x95, 0xad, 0x5a, 0xe2, 0xdb, 0xfc, 0x47, 0x0e, 0x56,
0xb8, 0xb8, 0xaf, 0x9d, 0x60, 0xaa, 0xed, 0xd4, 0x81, 0x1a, 0x67, 0x79, 0x11, 0xee, 0x0f, 0xc3,
0x49, 0xc0, 0xed, 0x55, 0xd8, 0x31, 0xda, 0x3b, 0xbb, 0xc2, 0xa8, 0xbb, 0x19, 0xea, 0xdd, 0x24,
0xe9, 0x51, 0xc0, 0xc6, 0x53, 0xab, 0xe6, 0x24, 0xa0, 0xd6, 0x33, 0x58, 0x9d, 0x23, 0xe1, 0x66,
0x7f, 0x4f, 0xa7, 0x4a, 0x46, 0xfe, 0x49, 0xd6, 0xa1, 0xf4, 0xc1, 0xf1, 0x27, 0x54, 0xb9, 0x42,
0x2e, 0x1e, 0xe7, 0xf7, 0x72, 0xe6, 0x2f, 0xa1, 0x31, 0xbb, 0x53, 0x1a, 0x95, 0xab, 0x12, 0x1b,
0x0f, 0x55, 0xe1, 0xdf, 0xe6, 0x53, 0x49, 0x77, 0x88, 0x56, 0x8e, 0x12, 0x2e, 0xe7, 0xc2, 0x68,
0x3a, 0xfe, 0x4d, 0x36, 0x61, 0xc9, 0x91, 0x8a, 0xc9, 0xab, 0xd4, 0xca, 0xbc, 0x03, 0xab, 0x89,
0xf3, 0x5f, 0xb8, 0xe8, 0x73, 0x0e, 0x56, 0x4f, 0xe9, 0x95, 0x32, 0xbb, 0xbe, 0x6a, 0x0f, 0x29,
0xa7, 0x23, 0x2a, 0x28, 0xeb, 0xed, 0xdb, 0xca, 0x5a, 0x73, 0x74, 0xbb, 0x6a, 0x79, 0x81, 0xb4,
0x96, 0x38, 0x61, 0x9e, 0x81, 0x91, 0x00, 0xc9, 0x16, 0xac, 0xbd, 0x3d, 0xb9, 0x38, 0x3d, 0xea,
0x76, 0xed, 0xf3, 0x37, 0x07, 0xaf, 0x8e, 0xfe, 0x60, 0x1f, 0xef, 0x77, 0x8f, 0x1b, 0xdf, 0xa1,
0xe0, 0x04, 0xd1, 0x8b, 0xa3, 0xe7, 0x29, 0x3c, 0x47, 0x56, 0xc0, 0x48, 0x02, 0x79, 0x73, 0x17,
0x09, 0x13, 0xf7, 0x2a, 0x55, 0x9a, 0x50, 0x76, 0x24, 0xa4, 0xb4, 0xd1, 0x4b, 0x73, 0x1f, 0xc8,
0x61, 0x88, 0x11, 0xea, 0xb2, 0x73, 0x4a, 0xc7, 0x5a, 0xa1, 0xbb, 0x09, 0xdb, 0x19, 0xed, 0x2d,
0xa5, 0x50, 0x36, 0xea, 0xa4, 0x51, 0xf1, 0xca, 0xb5, 0x14, 0x0b, 0x75, 0xe7, 0x16, 0x94, 0x47,
0xb8, 0xb6, 0x95, 0x05, 0x4b, 0xd6, 0x12, 0x5f, 0x9e, 0xf4, 0xcd, 0x3f, 0x42, 0xf1, 0xf8, 0xa2,
0x73, 0x48, 0xea, 0x90, 0x57, 0x7b, 0x05, 0x0b, 0xbf, 0xae, 0x73, 0x0e, 0x4f, 0x39, 0x9e, 0x8d,
0xb6, 0x1f, 0xba, 0xef, 0x55, 0x4a, 0x56, 0x38, 0xd0, 0xc1, 0x35, 0x59, 0x83, 0x12, 0x0b, 0xed,
0x49, 0xa4, 0x72, 0xb1, 0xc8, 0xc2, 0x37, 0x91, 0xf9, 0xaf, 0x3c, 0x2c, 0xef, 0xbb, 0xcc, 0xfb,
0x40, 0x55, 0xfa, 0x71, 0x1e, 0x63, 0x3a, 0x0c, 0x19, 0xb5, 0x63, 0x87, 0x56, 0x24, 0x70, 0xd2,
0x27, 0x3f, 0x87, 0x65, 0x57, 0xd2, 0xd9, 0x23, 0x9e, 0xa7, 0x2a, 0x4b, 0x6a, 0x6e, 0x32, 0x77,
0x5b, 0x50, 0x71, 0x9d, 0x91, 0xe3, 0x7a, 0x6c, 0x2a, 0x84, 0x28, 0x58, 0xf1, 0x9a, 0x33, 0x40,
0xe1, 0x1c, 0xdf, 0xee, 0x39, 0xbe, 0x13, 0xb8, 0x54, 0x08, 0x53, 0xb0, 0x6a, 0x02, 0x3c, 0x90,
0x18, 0xf9, 0x05, 0xd4, 0x95, 0x08, 0x9a, 0xaa, 0x24, 0xa8, 0x96, 0x25, 0xaa, 0xc9, 0xee, 0xc2,
0xea, 0x04, 0xcd, 0xc7, 0x98, 0x4f, 0xfb, 0x76, 0x8f, 0x4a, 0xca, 0x25, 0x41, 0xd9, 0x88, 0x37,
0x0e, 0x24, 0x4e, 0xee, 0xc3, 0xf2, 0x88, 0xca, 0x82, 0x32, 0x60, 0xbe, 0x1b, 0x35, 0xcb, 0x22,
0x5f, 0x0d, 0xe5, 0x30, 0x6e, 0x66, 0xab, 0xa6, 0x28, 0x8e, 0x39, 0x01, 0xb9, 0x09, 0x46, 0x30,
0x19, 0xda, 0x93, 0x51, 0xdf, 0x61, 0x34, 0x6a, 0x56, 0x90, 0x71, 0xd1, 0x02, 0x84, 0xde, 0x48,
0xc4, 0xfc, 0x7b, 0x1e, 0x8a, 0xdc, 0x8f, 0xbc, 0x12, 0xf9, 0xda, 0xe1, 0x33, 0xab, 0x19, 0x31,
0x86, 0x86, 0x4b, 0xb8, 0x38, 0x9f, 0x74, 0x71, 0x32, 0xde, 0x0a, 0xa9, 0x78, 0x23, 0x3f, 0x00,
0xf4, 0xa6, 0x78, 0x0f, 0x2f, 0xa0, 0x4c, 0xd8, 0xa9, 0x68, 0x55, 0x05, 0x82, 0x09, 0xc8, 0x66,
0xdb, 0x63, 0xea, 0x7e, 0x10, 0x06, 0xd2, 0xdb, 0x16, 0x02, 0x64, 0x1b, 0x2a, 0x91, 0xc3, 0xe4,
0x59, 0x69, 0x93, 0x32, 0xae, 0xc5, 0x49, 0xb5, 0x25, 0xce, 0x95, 0xe3, 0x2d, 0x71, 0x0a, 0xa5,
0xf1, 0x82, 0x1e, 0xc6, 0x52, 0x5f, 0xe8, 0x5b, 0xb1, 0xf4, 0x12, 0xed, 0x57, 0x51, 0x4e, 0x8e,
0x9a, 0x55, 0x61, 0xba, 0x75, 0x65, 0xba, 0x54, 0xf8, 0x58, 0x31, 0x95, 0x49, 0x78, 0xf1, 0x8d,
0x44, 0xa4, 0xeb, 0xb4, 0x36, 0x7f, 0x03, 0xab, 0x09, 0x4c, 0x85, 0xff, 0x2d, 0x28, 0x71, 0x63,
0x44, 0xaa, 0x84, 0x6a, 0x97, 0x88, 0x14, 0x91, 0x3b, 0x66, 0x03, 0xea, 0x2f, 0x29, 0x16, 0xf5,
0xcb, 0x50, 0x73, 0xfa, 0x2f, 0x96, 0xe4, 0x18, 0x8a, 0x19, 0x7d, 0xd5, 0x0f, 0xbf, 0x82, 0x86,
0xd7, 0x47, 0x23, 0x60, 0x2c, 0xda, 0xda, 0xee, 0x32, 0x86, 0x57, 0x34, 0xae, 0x1b, 0xc5, 0x7d,
0x58, 0xe7, 0xfe, 0xd7, 0x51, 0x13, 0x6b, 0x5f, 0x10, 0x7d, 0x86, 0xe0, 0xde, 0xb9, 0xdc, 0x52,
0xaa, 0x47, 0x04, 0xd3, 0x9b, 0x9f, 0x70, 0x84, 0x41, 0x66, 0x07, 0x8a, 0xe2, 0xc0, 0x2a, 0x6e,
0xa5, 0x4c, 0x15, 0xf1, 0x54, 0x93, 0x37, 0x70, 0xe5, 0x4b, 0x82, 0xaa, 0x22, 0xd8, 0x72, 0x95,
0x3f, 0x89, 0x72, 0x73, 0xe9, 0x8d, 0x87, 0x0e, 0xf3, 0xc2, 0x40, 0x06, 0x1d, 0x3f, 0xd2, 0xe3,
0xd9, 0x6d, 0x47, 0x03, 0x47, 0x35, 0xc5, 0x8a, 0x00, 0xba, 0x03, 0x87, 0xeb, 0x2f, 0x37, 0x07,
0x94, 0xab, 0xac, 0x22, 0xcd, 0x10, 0xd8, 0xb1, 0x80, 0xc8, 0x6d, 0xa8, 0xf3, 0x2b, 0x5d, 0xe4,
0x1c, 0xd9, 0x3e, 0xbd, 0x64, 0x4a, 0x9d, 0x1a, 0xa2, 0xfc, 0xba, 0xa8, 0x83, 0x98, 0xf9, 0x1a,
0x56, 0x95, 0x90, 0x67, 0xa8, 0xbe, 0xba, 0x7a, 0x2f, 0x9b, 0xfb, 0xb2, 0xe4, 0xad, 0x29, 0x77,
0x25, 0xdb, 0x77, 0xba, 0x20, 0x98, 0xbf, 0x47, 0x55, 0xe4, 0xfa, 0xd0, 0x0f, 0x23, 0xaa, 0xf8,
0xa1, 0xb4, 0x2e, 0x2e, 0xb3, 0x2d, 0x5e, 0x61, 0xa2, 0xc5, 0x63, 0x38, 0x46, 0x13, 0xd7, 0xd5,
0x4e, 0xc2, 0x70, 0x54, 0x4b, 0xf3, 0xcf, 0x39, 0x2c, 0xa5, 0x9c, 0x99, 0x8e, 0xbb, 0xb8, 0xbf,
0xfc, 0x9f, 0x42, 0xf2, 0x7c, 0x62, 0xde, 0x90, 0xda, 0xbe, 0x37, 0xf4, 0x74, 0x5d, 0xad, 0x72,
0xa4, 0xc3, 0x01, 0xde, 0x79, 0x2f, 0xc3, 0x31, 0x16, 0x98, 0x82, 0x10, 0x44, 0x2e, 0xcc, 0xff,
0x60, 0x93, 0x13, 0x62, 0x74, 0x99, 0xc3, 0x26, 0x91, 0xd2, 0xec, 0x09, 0x0a, 0xc1, 0x41, 0x1d,
0x3b, 0x4a, 0x88, 0xf5, 0x38, 0xb0, 0x05, 0x2a, 0x89, 0x8f, 0xbf, 0xb3, 0x84, 0x19, 0xa8, 0x42,
0xc9, 0x33, 0x34, 0x4b, 0xc2, 0xef, 0x42, 0x12, 0xa3, 0xbd, 0xad, 0x15, 0x98, 0x0b, 0x09, 0xc1,
0x20, 0x81, 0x92, 0xc7, 0x00, 0x5c, 0x31, 0x5b, 0x70, 0x15, 0xe2, 0x26, 0x8e, 0xcf, 0xb9, 0x01,
0x8f, 0x57, 0x39, 0xb9, 0x80, 0x0e, 0x2a, 0xb0, 0x24, 0xeb, 0x9d, 0x89, 0x85, 0x3a, 0x25, 0x67,
0xaa, 0xc7, 0xd7, 0x54, 0x8f, 0xff, 0x6b, 0x1e, 0x08, 0x8f, 0x90, 0x8c, 0x13, 0x30, 0xc8, 0x98,
0x33, 0x7e, 0x47, 0x99, 0x9d, 0x6e, 0x6b, 0x35, 0x89, 0x9e, 0xcb, 0xca, 0x87, 0xf5, 0x55, 0x51,
0x05, 0x61, 0x5f, 0x4e, 0x34, 0x35, 0x0b, 0x24, 0x74, 0x8a, 0x08, 0x4f, 0x40, 0xd9, 0x2b, 0xf4,
0x24, 0xa8, 0x7a, 0x9e, 0xec, 0x29, 0x44, 0xec, 0xbd, 0x90, 0x5b, 0x72, 0x6a, 0x22, 0x6d, 0xd8,
0x50, 0x8d, 0x23, 0x73, 0x44, 0x76, 0x99, 0x35, 0xb9, 0x99, 0x3e, 0x73, 0x07, 0x56, 0xdc, 0x70,
0x38, 0xf4, 0xa2, 0x08, 0x8d, 0x67, 0x47, 0xde, 0x27, 0xdd, 0x6d, 0xea, 0x33, 0xb8, 0x8b, 0xa8,
0xce, 0x56, 0x91, 0x3a, 0xa2, 0xa4, 0xca, 0x6c, 0x15, 0x59, 0x63, 0xfe, 0x3b, 0x07, 0x0d, 0x6e,
0x89, 0x54, 0x1c, 0x3c, 0x02, 0x11, 0x62, 0xdf, 0x18, 0x06, 0x06, 0xa7, 0xfd, 0xc9, 0xa2, 0xe0,
0xb7, 0x20, 0xdc, 0x6a, 0x87, 0x78, 0xb9, 0x0a, 0x82, 0x66, 0x3a, 0x08, 0x66, 0xa9, 0x8d, 0x87,
0x45, 0xd9, 0xe6, 0x48, 0x22, 0x04, 0x8e, 0x60, 0x23, 0x5d, 0xe1, 0xb4, 0x7f, 0xef, 0xc1, 0x52,
0x24, 0xf4, 0x54, 0x63, 0xdc, 0x7a, 0x9a, 0xb1, 0xb4, 0x81, 0xa5, 0x68, 0xcc, 0xcf, 0x05, 0xd8,
0xcc, 0xf2, 0x51, 0x05, 0xfb, 0x2d, 0x34, 0xe6, 0xca, 0xab, 0x6c, 0x02, 0xf7, 0xd2, 0x46, 0xca,
0x1c, 0xcc, 0xc2, 0x2b, 0xa3, 0x74, 0x25, 0x6e, 0xfd, 0x33, 0x0f, 0xf5, 0x34, 0xcd, 0xb5, 0x43,
0xd6, 0x5c, 0xd7, 0xc8, 0xcf, 0x77, 0x8d, 0xb9, 0xb1, 0xa7, 0xf0, 0x95, 0xb1, 0xa7, 0xf8, 0xb5,
0xb1, 0xa7, 0xf4, 0x4d, 0x63, 0xcf, 0xd2, 0xa2, 0xb1, 0x27, 0x5b, 0x37, 0xcb, 0x52, 0xde, 0x64,
0xdd, 0x9c, 0x39, 0xa8, 0xf2, 0x0d, 0x0e, 0x7a, 0x04, 0xeb, 0x6f, 0x1d, 0xdf, 0xa7, 0x4c, 0xdd,
0xa0, 0xdd, 0x8c, 0x17, 0x5d, 0x79, 0x2c, 0xc0, 0x72, 0x6b, 0x87, 0x81, 0x2f, 0xdf, 0x21, 0x15,
0xcb, 0x50, 0xd8, 0x19, 0x42, 0xe6, 0x03, 0xd8, 0xc8, 0x1c, 0x9d, 0x8d, 0xd1, 0x5a, 0x09, 0x7e,
0x2c, 0x67, 0xe9, 0xa5, 0xb9, 0x05, 0x1b, 0x4a, 0x8c, 0xf4, 0x75, 0x66, 0x1b, 0x36, 0xb3, 0x1b,
0x8b, 0x99, 0x15, 0x66, 0xcc, 0xfe, 0x82, 0x69, 0x67, 0xe1, 0x8b, 0x8f, 0x2b, 0xee, 0xf4, 0x7c,
0xac, 0xd5, 0xc1, 0x7b, 0xfe, 0x6c, 0xf2, 0xfa, 0x0f, 0xf4, 0xb3, 0x09, 0x3f, 0x25, 0xd2, 0x56,
0x9e, 0xe5, 0x9f, 0xdc, 0x59, 0xfc, 0xa1, 0x98, 0x70, 0x66, 0xbc, 0xfe, 0xa2, 0x23, 0x71, 0xf2,
0xbe, 0x92, 0xcd, 0xb5, 0x24, 0xd4, 0x52, 0x2b, 0x73, 0x1b, 0xb6, 0xba, 0x83, 0xf0, 0x2a, 0x29,
0x8b, 0xd6, 0xeb, 0x0c, 0x9a, 0xf3, 0x5b, 0x4a, 0xb3, 0x87, 0x89, 0xa9, 0x4a, 0x06, 0xbe, 0x7e,
0x41, 0x64, 0xb5, 0x9a, 0x0d, 0x56, 0xbf, 0x6e, 0xc3, 0x72, 0xca, 0x91, 0xa4, 0x0c, 0x85, 0xfd,
0x4e, 0x07, 0xdf, 0x3e, 0x06, 0x94, 0xcf, 0xce, 0x8f, 0x4e, 0x4f, 0x4e, 0x5f, 0xe2, 0x83, 0x07,
0x17, 0x87, 0x9d, 0xb3, 0x2e, 0x5f, 0xe4, 0xdb, 0x7f, 0x2b, 0x43, 0x35, 0x7e, 0x94, 0x90, 0xdf,
0xc1, 0x72, 0xca, 0x6d, 0xe4, 0x7b, 0x75, 0xeb, 0xa2, 0x38, 0x68, 0xdd, 0x58, 0xbc, 0xa9, 0x54,
0x78, 0x0d, 0xf5, 0xb4, 0xdb, 0xc8, 0x8d, 0x74, 0xb4, 0x65, 0xb8, 0xfd, 0x70, 0xcd, 0xae, 0x62,
0xf7, 0x04, 0x2a, 0xfa, 0x1d, 0x4b, 0x36, 0x17, 0x3f, 0xa6, 0x5b, 0x5b, 0x73, 0xb8, 0x3a, 0xfc,
0x14, 0xaa, 0xf1, 0xe3, 0x94, 0x24, 0xa9, 0x92, 0xcf, 0xdd, 0x56, 0x73, 0x7e, 0x43, 0x9d, 0xdf,
0x07, 0x98, 0x3d, 0x09, 0x49, 0xf3, 0xba, 0xd7, 0x69, 0x6b, 0x7b, 0xc1, 0x8e, 0x62, 0xf1, 0x1c,
0x8c, 0xc4, 0x13, 0x8f, 0x24, 0x2a, 0x76, 0xe6, 0xe5, 0xd8, 0x6a, 0x2d, 0xda, 0x9a, 0x29, 0x12,
0xcf, 0xc9, 0x64, 0xf6, 0xa8, 0x4c, 0x4f, 0xd3, 0xb1, 0x22, 0xf3, 0x23, 0xf5, 0x1e, 0x94, 0xd5,
0x70, 0x4c, 0x36, 0x14, 0x51, 0x7a, 0x7e, 0x6e, 0x6d, 0x66, 0x61, 0x75, 0xf2, 0x10, 0x8c, 0x44,
0x47, 0x8f, 0xe5, 0x9f, 0xef, 0xf2, 0xb1, 0x17, 0xb2, 0x6d, 0xef, 0x7e, 0x8e, 0xbc, 0x80, 0x5a,
0x72, 0x38, 0x23, 0xb1, 0xaa, 0xf3, 0x13, 0x5b, 0xac, 0xc4, 0xdc, 0x18, 0x85, 0x7c, 0x4e, 0x61,
0x25, 0x3b, 0x63, 0xdf, 0xb8, 0xa6, 0x31, 0xa4, 0x83, 0xeb, 0x9a, 0x7e, 0xf3, 0x58, 0xfe, 0xd5,
0x75, 0x2e, 0xff, 0xa5, 0x22, 0x24, 0x11, 0x08, 0x9a, 0xc3, 0x5a, 0x0a, 0x93, 0xe7, 0x76, 0x72,
0x28, 0x4b, 0x17, 0x1a, 0xd9, 0x34, 0x26, 0x3f, 0x6a, 0xe2, 0xc5, 0xa9, 0xdf, 0xba, 0x79, 0xed,
0xbe, 0x64, 0xdc, 0x5b, 0x12, 0xff, 0xc4, 0x3d, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc2,
0xc3, 0x5e, 0x39, 0x96, 0x13, 0x00, 0x00,
// 1713 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0x4b, 0x6f, 0x1b, 0x47,
0x12, 0x36, 0x45, 0x52, 0x24, 0x8b, 0x0f, 0x51, 0xad, 0x17, 0x45, 0x5b, 0xbb, 0xde, 0x81, 0x6d,
0xc8, 0x86, 0x2d, 0xdb, 0xf4, 0x02, 0x36, 0x6c, 0xac, 0x17, 0xb2, 0xac, 0xb5, 0xb4, 0x96, 0x25,
0xc5, 0x94, 0x61, 0x04, 0x39, 0x4c, 0x86, 0xc3, 0x96, 0x38, 0xd0, 0x70, 0x86, 0xe1, 0x34, 0x25,
0x33, 0x3f, 0x20, 0xd7, 0x5c, 0xf3, 0x1b, 0x82, 0x20, 0xc8, 0x7f, 0xc8, 0x29, 0x08, 0x90, 0xdf,
0x94, 0xea, 0xd7, 0x3c, 0x29, 0x03, 0x39, 0xe4, 0x44, 0x4c, 0x75, 0x75, 0x3d, 0xbe, 0xae, 0xfe,
0xaa, 0x9a, 0x50, 0x19, 0x8f, 0xec, 0xad, 0xd1, 0xd8, 0x67, 0x3e, 0x29, 0xba, 0x1e, 0x7e, 0x18,
0x5f, 0x40, 0xb5, 0x4b, 0xbd, 0xfe, 0x7b, 0xfa, 0xcd, 0x84, 0x06, 0x8c, 0xd4, 0xa0, 0xd0, 0xc7,
0xdf, 0x56, 0xee, 0x66, 0x6e, 0xb3, 0x46, 0xaa, 0x90, 0xb7, 0x86, 0xac, 0x35, 0x87, 0x1f, 0x79,
0xb2, 0x0c, 0xb5, 0x91, 0x35, 0x1d, 0x52, 0x8f, 0x99, 0x03, 0x2b, 0x18, 0xb4, 0xf2, 0x42, 0x65,
0x11, 0x2a, 0xa7, 0x56, 0xc0, 0xcc, 0x00, 0x8d, 0xb4, 0x0a, 0x28, 0x2a, 0x1b, 0x0d, 0xa8, 0x49,
0x93, 0xc1, 0xc8, 0xf7, 0x02, 0x6a, 0x3c, 0x87, 0xda, 0xce, 0xc0, 0xf2, 0x3c, 0xea, 0x1e, 0xfb,
0x8e, 0xc7, 0xb8, 0xa1, 0xd3, 0x89, 0xd7, 0x77, 0xbc, 0x33, 0x93, 0x7d, 0x72, 0xfa, 0xca, 0x17,
0x4a, 0xfd, 0x09, 0x1b, 0x4d, 0x98, 0xe9, 0x78, 0x7d, 0xfa, 0x49, 0x38, 0xad, 0x1b, 0xff, 0x86,
0xe6, 0x81, 0x73, 0x36, 0x60, 0x1e, 0x6a, 0x6f, 0xf7, 0xfb, 0x63, 0x1a, 0x04, 0x84, 0x00, 0x8c,
0x26, 0xbd, 0xb7, 0x74, 0xba, 0xc7, 0xc3, 0xe0, 0xbb, 0x2b, 0x3c, 0xee, 0x81, 0x1f, 0xc8, 0x50,
0x2b, 0xc6, 0x77, 0x39, 0x58, 0xe0, 0x21, 0xbc, 0xb3, 0xbc, 0xa9, 0xce, 0xec, 0x25, 0xd4, 0xb8,
0x81, 0x13, 0x7f, 0x7b, 0xe8, 0x4f, 0x3c, 0x9e, 0x61, 0x7e, 0xb3, 0xda, 0xd9, 0xdc, 0x12, 0x30,
0x6c, 0xa5, 0xb4, 0xb7, 0xe2, 0xaa, 0xbb, 0x1e, 0x1b, 0x4f, 0xdb, 0x4f, 0x60, 0x31, 0x23, 0xe4,
0x00, 0x9d, 0xd3, 0xa9, 0x8a, 0xa1, 0x0e, 0xc5, 0x0b, 0xcb, 0x9d, 0x50, 0x89, 0xd7, 0xf3, 0xb9,
0x67, 0x39, 0xe3, 0x26, 0x34, 0x23, 0xcb, 0x12, 0x0e, 0x1e, 0x6a, 0x98, 0x76, 0xc5, 0x78, 0x24,
0x35, 0x76, 0x10, 0x99, 0x20, 0x76, 0x08, 0x16, 0xba, 0x52, 0x66, 0x1b, 0x30, 0x6f, 0xc9, 0x90,
0x85, 0x5d, 0xe3, 0x5f, 0xb0, 0x18, 0xdb, 0x31, 0xd3, 0xe8, 0x0f, 0x39, 0x58, 0x3c, 0xa4, 0x97,
0x0a, 0x30, 0x6d, 0xb6, 0x83, 0x3a, 0xd3, 0x11, 0x15, 0x3a, 0x8d, 0xce, 0x2d, 0x95, 0x79, 0x46,
0x6f, 0x4b, 0x7d, 0x9e, 0xa0, 0xae, 0x71, 0x04, 0xd5, 0xd8, 0x27, 0x59, 0x83, 0xa5, 0x8f, 0xfb,
0x27, 0x87, 0xbb, 0xdd, 0xae, 0x79, 0xfc, 0xe1, 0xd5, 0xdb, 0xdd, 0x2f, 0xcd, 0xbd, 0xed, 0xee,
0x5e, 0xf3, 0x1a, 0x59, 0x05, 0x82, 0xd2, 0x93, 0xdd, 0xd7, 0x09, 0x79, 0x8e, 0x2c, 0x40, 0x35,
0x2e, 0x98, 0x33, 0x6e, 0xa3, 0x62, 0xcc, 0xa3, 0x0a, 0x7f, 0x01, 0x4a, 0x96, 0x14, 0xa9, 0x0c,
0x5e, 0x00, 0xd9, 0xf1, 0xb1, 0x64, 0x6c, 0x76, 0x4c, 0xe9, 0x58, 0x67, 0x70, 0x3b, 0x06, 0x4c,
0xb5, 0xb3, 0xa6, 0x32, 0x48, 0x17, 0x88, 0x71, 0x07, 0x96, 0x12, 0x9b, 0x23, 0x27, 0x23, 0xfc,
0x36, 0x15, 0x4c, 0x45, 0xe3, 0x35, 0x14, 0xf6, 0x4e, 0x0e, 0x76, 0xb0, 0x9e, 0xe6, 0x94, 0x2c,
0x9f, 0x46, 0x9b, 0xd7, 0x37, 0xaf, 0x76, 0xd3, 0xf5, 0xed, 0x73, 0x55, 0xf2, 0x78, 0xce, 0xcc,
0x37, 0x27, 0x81, 0x2a, 0xf7, 0x3f, 0x72, 0x50, 0xdf, 0xb6, 0x99, 0x73, 0x41, 0x55, 0x95, 0xf3,
0x3d, 0x63, 0x3a, 0xf4, 0x19, 0xd5, 0xae, 0x2a, 0x64, 0x05, 0xea, 0xb6, 0x5c, 0x35, 0x47, 0xfc,
0x12, 0xc8, 0x42, 0x25, 0x4d, 0x28, 0xdb, 0xd6, 0xc8, 0xb2, 0x1d, 0x36, 0x15, 0xc6, 0xf3, 0x5c,
0x11, 0x5d, 0x59, 0xae, 0xd9, 0xb3, 0x5c, 0xcb, 0xb3, 0xa9, 0x70, 0x92, 0x47, 0x7c, 0x1b, 0xca,
0xa4, 0x96, 0x17, 0x85, 0x7c, 0x1d, 0x16, 0x27, 0x98, 0x1b, 0x63, 0x2e, 0xed, 0x9b, 0x3d, 0x2a,
0x97, 0xe6, 0xc5, 0x92, 0x01, 0xf5, 0x11, 0x95, 0xd7, 0x6c, 0xc0, 0x5c, 0x3b, 0x68, 0x95, 0x44,
0xc5, 0x57, 0x15, 0x6a, 0x22, 0xf3, 0x25, 0xa8, 0x7a, 0x93, 0xa1, 0x39, 0x19, 0xf5, 0x2d, 0x46,
0x83, 0x56, 0x19, 0x37, 0x16, 0x8c, 0x5f, 0x73, 0x50, 0xe0, 0xc0, 0xf1, 0x2b, 0xe9, 0x6a, 0x6c,
0xa3, 0x54, 0x62, 0x30, 0xf2, 0x24, 0x8a, 0xf1, 0xc3, 0xcb, 0x0b, 0x0d, 0x04, 0xb4, 0x37, 0x45,
0x7b, 0x9c, 0x14, 0x98, 0x48, 0xa0, 0x10, 0xc9, 0xc6, 0xd4, 0xbe, 0x10, 0xc1, 0x17, 0x78, 0xf6,
0x81, 0xc5, 0xa4, 0x96, 0x8c, 0x59, 0x49, 0x84, 0x4e, 0x49, 0x48, 0xd0, 0xb8, 0xe3, 0xf5, 0xf0,
0x40, 0xfa, 0x22, 0xba, 0x32, 0xb9, 0x83, 0x90, 0x49, 0x24, 0x83, 0x56, 0x45, 0x64, 0xb4, 0xac,
0x32, 0x4a, 0x1c, 0x82, 0x41, 0x38, 0x73, 0x04, 0xa2, 0x02, 0x74, 0x65, 0x1b, 0x0f, 0x61, 0x31,
0x26, 0x53, 0x65, 0xd1, 0x86, 0x22, 0xcf, 0x27, 0x50, 0x8c, 0xa0, 0xf1, 0xe1, 0x4a, 0x46, 0x13,
0x1a, 0x6f, 0x28, 0xdb, 0xf7, 0x4e, 0x7d, 0x6d, 0xe2, 0x7b, 0xa4, 0x96, 0x50, 0xa4, 0x2c, 0xcc,
0xc6, 0xa9, 0x05, 0x4d, 0xa7, 0x8f, 0xa9, 0xe1, 0xd9, 0x9a, 0x1a, 0x1f, 0x79, 0xea, 0x37, 0x60,
0x99, 0xa3, 0xae, 0x4f, 0x27, 0x4c, 0x87, 0xa3, 0x57, 0x27, 0xd7, 0x61, 0x89, 0xaf, 0x5a, 0x22,
0x9b, 0x68, 0xb1, 0x20, 0x16, 0xb1, 0xb4, 0xe4, 0x56, 0x1e, 0x70, 0x51, 0x50, 0xe4, 0x07, 0x71,
0x55, 0x4e, 0x9d, 0xf1, 0xd0, 0x62, 0x8e, 0xef, 0x7d, 0x10, 0x67, 0xc9, 0x15, 0x7b, 0xbc, 0x66,
0xcd, 0x60, 0x60, 0x45, 0x0c, 0x2b, 0x45, 0x03, 0xca, 0xa3, 0x55, 0xa7, 0x87, 0x95, 0xc5, 0x2d,
0xda, 0x68, 0x22, 0x30, 0x5d, 0x7a, 0xca, 0x64, 0x18, 0xc6, 0x7f, 0x61, 0x51, 0x41, 0x79, 0x84,
0x81, 0x2a, 0xab, 0xf7, 0xd2, 0x65, 0x2c, 0x6f, 0xe2, 0x92, 0xc2, 0x2c, 0x4e, 0xf3, 0xe2, 0x0a,
0xcb, 0xef, 0x1d, 0xd7, 0x0f, 0xa8, 0xb2, 0x80, 0x41, 0xd8, 0xf8, 0x99, 0x22, 0x7f, 0x3c, 0xe5,
0x60, 0x62, 0xdb, 0x1a, 0xa2, 0xb2, 0xd1, 0xc7, 0x2b, 0xcc, 0x77, 0x29, 0x0b, 0x9a, 0x00, 0xfe,
0x82, 0x7f, 0x5e, 0x71, 0xcc, 0x19, 0x52, 0xd3, 0x75, 0x86, 0x8e, 0xbe, 0xcd, 0x78, 0x75, 0x4f,
0xfd, 0x31, 0x5e, 0x91, 0xbc, 0xf0, 0xf2, 0x0b, 0xf2, 0xa4, 0x70, 0xd3, 0x65, 0x16, 0x9b, 0x04,
0x2a, 0xc4, 0x07, 0xe8, 0x84, 0x0b, 0xf5, 0x01, 0x29, 0x27, 0xcb, 0x61, 0x61, 0x08, 0xa9, 0x54,
0xde, 0xbb, 0x46, 0x1e, 0x63, 0x46, 0x31, 0xfc, 0x85, 0xa7, 0x6a, 0x67, 0x5d, 0x87, 0x94, 0x39,
0x1a, 0xdc, 0xf2, 0x10, 0x80, 0xa7, 0x61, 0x0a, 0x37, 0x22, 0x96, 0xd8, 0x86, 0x0c, 0x66, 0x7b,
0xd7, 0x5e, 0x95, 0x61, 0x5e, 0xde, 0x51, 0x63, 0x03, 0xea, 0x89, 0x00, 0x12, 0xcc, 0x5f, 0x33,
0x7e, 0xcc, 0x01, 0xe1, 0xe7, 0x95, 0xc2, 0x0d, 0x0f, 0x99, 0x59, 0xe3, 0x33, 0xca, 0xcc, 0x04,
0x03, 0xf2, 0xfb, 0xaf, 0xe4, 0x9e, 0xdf, 0x97, 0x8d, 0xab, 0xc6, 0xcb, 0x53, 0x52, 0x90, 0xee,
0xd2, 0x8a, 0x10, 0x25, 0x41, 0x6d, 0xc0, 0x8a, 0x62, 0xa2, 0xd4, 0xb2, 0x24, 0xaa, 0x35, 0x58,
0xb0, 0xfd, 0xe1, 0xd0, 0x09, 0x02, 0x4c, 0xd8, 0x0c, 0x9c, 0x6f, 0x35, 0x53, 0xa9, 0xca, 0x15,
0x75, 0x26, 0x6e, 0x7b, 0xdd, 0xf8, 0x29, 0x07, 0x4d, 0x1e, 0x6c, 0x02, 0xfd, 0xfb, 0x08, 0x27,
0xc7, 0xe6, 0x6f, 0x03, 0xff, 0x01, 0x54, 0x84, 0x03, 0x1f, 0x3d, 0x28, 0xec, 0x5b, 0x49, 0xec,
0xa3, 0x82, 0x4f, 0x40, 0xff, 0x1f, 0x58, 0x51, 0xee, 0x53, 0xe8, 0xde, 0x82, 0xf9, 0x40, 0xa4,
0xa0, 0x5a, 0xeb, 0x72, 0xd2, 0x9c, 0x4c, 0xcf, 0xf8, 0x79, 0x0e, 0x56, 0xd3, 0xfb, 0x15, 0x81,
0xfc, 0x0f, 0x9a, 0x19, 0x32, 0x90, 0x6c, 0x74, 0x3f, 0x99, 0x77, 0x6a, 0x63, 0x4a, 0xdc, 0xfe,
0x3d, 0x07, 0x8d, 0xa4, 0x28, 0xd3, 0xf4, 0x32, 0x64, 0x35, 0x37, 0xbb, 0x3f, 0xe5, 0x33, 0xfd,
0xa9, 0x30, 0xbb, 0x3f, 0x15, 0xaf, 0xe8, 0x4f, 0xf3, 0x7a, 0x68, 0x4c, 0x5c, 0xf7, 0x92, 0x30,
0x1b, 0x01, 0x56, 0xfe, 0x0c, 0x60, 0xf7, 0x61, 0xf9, 0xa3, 0xe5, 0xba, 0x94, 0xbd, 0x92, 0x26,
0x35, 0xdc, 0x68, 0xf3, 0xd2, 0x61, 0x1e, 0x92, 0x85, 0xe9, 0x7b, 0xae, 0x9c, 0xbe, 0xca, 0xc6,
0x26, 0xac, 0xa4, 0xb4, 0xa3, 0xb6, 0xaf, 0x63, 0xe2, 0x9a, 0x39, 0x63, 0x0d, 0x56, 0x94, 0xa3,
0xa4, 0x61, 0xe3, 0x2e, 0xac, 0xa6, 0x17, 0x66, 0xdb, 0xc8, 0x1b, 0x5f, 0x43, 0xf3, 0x3d, 0x8e,
0xab, 0x98, 0xd7, 0x89, 0xd5, 0x73, 0xe9, 0x81, 0xe3, 0x9d, 0xf3, 0x61, 0xd0, 0xe9, 0x3f, 0x56,
0xec, 0x2f, 0x3e, 0x3a, 0x51, 0x9b, 0xe7, 0xb3, 0xed, 0x67, 0x81, 0xc5, 0xc1, 0xe3, 0x52, 0xf2,
0x72, 0x51, 0x44, 0xb9, 0x0e, 0x6b, 0xdd, 0x81, 0x7f, 0x19, 0xf7, 0xa2, 0xe3, 0xdc, 0x85, 0x56,
0x76, 0x49, 0x45, 0x7a, 0x37, 0xd6, 0x1e, 0x65, 0x09, 0xe9, 0x31, 0x29, 0x1d, 0xaf, 0xf1, 0x15,
0x94, 0xf6, 0xbd, 0x0b, 0xdf, 0xb1, 0x05, 0x89, 0x0c, 0xf1, 0xf8, 0xa2, 0x0e, 0x8f, 0x1d, 0x98,
0x3a, 0x23, 0xa6, 0x18, 0x01, 0xa9, 0x74, 0x6c, 0x8e, 0xc6, 0xd4, 0x19, 0x5a, 0x67, 0x54, 0x4d,
0x41, 0x18, 0xef, 0x58, 0x3e, 0x04, 0x0a, 0x7a, 0x2a, 0x92, 0xd3, 0xaf, 0x28, 0x08, 0xe3, 0x16,
0x10, 0x1c, 0xc7, 0x94, 0xfd, 0x30, 0xba, 0x68, 0x93, 0xa4, 0xab, 0x0d, 0x1c, 0x0f, 0xe5, 0x9b,
0x82, 0xcf, 0xf2, 0x99, 0xe5, 0x7b, 0x40, 0x78, 0xbf, 0x0e, 0xad, 0x84, 0xe7, 0xaf, 0x6f, 0x4b,
0xec, 0xfc, 0x9f, 0xc2, 0x52, 0x42, 0x57, 0x79, 0xbc, 0x09, 0x65, 0x47, 0x8a, 0x34, 0x1e, 0x0d,
0x85, 0x87, 0xd2, 0xbc, 0xd7, 0x81, 0x7a, 0xa2, 0xee, 0x48, 0x09, 0xf2, 0xdb, 0x07, 0x07, 0x38,
0xd4, 0x56, 0xa1, 0x74, 0x74, 0xbc, 0x7b, 0xb8, 0x7f, 0xf8, 0x06, 0x27, 0x59, 0xfc, 0xd8, 0x39,
0x38, 0xea, 0xf2, 0x8f, 0xb9, 0xce, 0x6f, 0x65, 0xa8, 0x84, 0x63, 0x27, 0xf9, 0x3f, 0xd4, 0x13,
0xa5, 0x47, 0xae, 0x2b, 0x17, 0xb3, 0xca, 0xb7, 0x7d, 0x63, 0xf6, 0xa2, 0x8a, 0xf7, 0x1d, 0x34,
0x92, 0x35, 0x48, 0x6e, 0x24, 0x2f, 0x47, 0xca, 0xda, 0xc6, 0x15, 0xab, 0xca, 0xdc, 0x0b, 0x28,
0xeb, 0x07, 0x08, 0x59, 0x9d, 0xfd, 0xd6, 0x69, 0xaf, 0x65, 0xe4, 0x6a, 0xf3, 0x4b, 0xa8, 0x84,
0x2f, 0x0d, 0x12, 0xd7, 0x8a, 0xbf, 0x56, 0xda, 0xad, 0xec, 0x82, 0xda, 0xbf, 0x0d, 0x10, 0xcd,
0xfa, 0xa4, 0x75, 0xd5, 0x83, 0xa3, 0xbd, 0x3e, 0x63, 0x45, 0x99, 0x78, 0x0d, 0xd5, 0xd8, 0x28,
0x4f, 0x62, 0xc4, 0x9e, 0x7a, 0x1b, 0xb4, 0xdb, 0xb3, 0x96, 0xa2, 0x44, 0xc2, 0xb9, 0x8f, 0x44,
0xcf, 0x86, 0xe4, 0x74, 0x18, 0x26, 0x92, 0x1d, 0x11, 0x9f, 0x41, 0x49, 0xcd, 0x7c, 0x64, 0x45,
0x29, 0x25, 0xc7, 0xc2, 0xf6, 0x6a, 0x5a, 0xac, 0x76, 0xee, 0x40, 0x35, 0xd6, 0x8e, 0xc3, 0xf8,
0xb3, 0x2d, 0x3a, 0x3c, 0x85, 0x74, 0x43, 0x7c, 0x94, 0xc3, 0xf6, 0x50, 0x8b, 0x0f, 0x43, 0x24,
0x4c, 0x35, 0x3b, 0x21, 0x85, 0x49, 0x64, 0xc6, 0x1a, 0xb4, 0x73, 0x08, 0x0b, 0xc9, 0xee, 0x10,
0x84, 0xc5, 0x35, 0xb3, 0xb1, 0x85, 0xc5, 0x75, 0x45, 0xdb, 0x7a, 0x2e, 0xff, 0x3b, 0x50, 0x37,
0x98, 0x90, 0x58, 0x21, 0x68, 0x0b, 0x4b, 0x09, 0x99, 0xdc, 0xb7, 0x99, 0xc3, 0x58, 0x9e, 0x02,
0x44, 0xfc, 0x40, 0x52, 0x77, 0x32, 0xac, 0x88, 0x19, 0x14, 0xf2, 0x04, 0xea, 0x07, 0xbe, 0x7f,
0x3e, 0x19, 0xe9, 0xbd, 0xda, 0x6d, 0x8c, 0x48, 0xda, 0x29, 0x7b, 0x64, 0x17, 0x6a, 0x31, 0x72,
0x08, 0xc2, 0x73, 0xc8, 0xb2, 0x4b, 0x58, 0x47, 0xb3, 0xc8, 0xa4, 0x8b, 0x8f, 0xf5, 0x14, 0xf1,
0x92, 0x7f, 0xe8, 0x0c, 0x67, 0x93, 0x75, 0xfb, 0x9f, 0x57, 0xae, 0x4b, 0xa3, 0xbd, 0x79, 0xf1,
0x7f, 0xcc, 0x93, 0x3f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x5a, 0x3d, 0xfd, 0x15, 0x9c, 0x11, 0x00,
0x00,
}

@ -19,6 +19,11 @@ service Lightning {
rpc PendingChannels(PendingChannelRequest) returns (PendingChannelResponse);
rpc SendPayment(stream SendRequest) returns (stream SendResponse);
rpc AddInvoice(Invoice) returns (AddInvoiceResponse);
rpc LookupInvoice(PaymentHash) returns (Invoice);
rpc ListInvoices(ListInvoiceRequest) returns (ListInvoiceResponse);
rpc ShowRoutingTable(ShowRoutingTableRequest) returns (ShowRoutingTableResponse);
}
@ -244,3 +249,25 @@ message ShowRoutingTableRequest {
message ShowRoutingTableResponse {
repeated RoutingTableLink channels = 1;
}
message Invoice {
string memo = 1;
bytes receipt = 2;
bytes r_preimage = 3;
bytes r_hash = 4;
int64 value = 5;
}
message AddInvoiceResponse {
bytes r_hash = 1;
}
message PaymentHash {
bytes r_hash = 1;
}
message ListInvoiceRequest {
bool pending_only = 1;
}
message ListInvoiceResponse {
repeated Invoice invoices = 1;
}