lnrpc: split off channel info from ListPeers into new ListChannels RPC

This commit extracts the channel information that was previously
returned within the ListPeers command to a new RPC command:
ListChannels. Additionally, any pending HTLC’s within the open channel
are also displayed.
This commit is contained in:
Olaoluwa Osuntokun 2016-09-25 20:02:33 -07:00
parent 0b841ec686
commit 68c4f0432e
No known key found for this signature in database
GPG Key ID: 9CC5B105D03521A2
2 changed files with 221 additions and 164 deletions

@ -23,6 +23,8 @@ It has these top-level messages:
ConnectPeerResponse
HTLC
ActiveChannel
ListChannelsRequest
ListChannelsResponse
Peer
ListPeersRequest
ListPeersResponse
@ -251,10 +253,11 @@ func (*ConnectPeerResponse) ProtoMessage() {}
func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
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,proto3" json:"hash_lock,omitempty"`
ToUs bool `protobuf:"varint,4,opt,name=to_us" json:"to_us,omitempty"`
Incoming bool `protobuf:"varint,1,opt,name=incoming" json:"incoming,omitempty"`
Amount int64 `protobuf:"varint,2,opt,name=amount" json:"amount,omitempty"`
HashLock []byte `protobuf:"bytes,3,opt,name=hash_lock,proto3" json:"hash_lock,omitempty"`
ExpirationHeight uint32 `protobuf:"varint,4,opt,name=expiration_height" json:"expiration_height,omitempty"`
RevocationDelay uint32 `protobuf:"varint,5,opt,name=revocation_delay" json:"revocation_delay,omitempty"`
}
func (m *HTLC) Reset() { *m = HTLC{} }
@ -263,13 +266,12 @@ func (*HTLC) ProtoMessage() {}
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:"remote_id,omitempty"`
RemotePubkey string `protobuf:"bytes,1,opt,name=remote_pubkey" json:"remote_pubkey,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:"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"`
UnsettledBalance int64 `protobuf:"varint,6,opt,name=unsettled_balance" json:"unsettled_balance,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"`
}
@ -286,6 +288,30 @@ func (m *ActiveChannel) GetPendingHtlcs() []*HTLC {
return nil
}
type ListChannelsRequest struct {
}
func (m *ListChannelsRequest) Reset() { *m = ListChannelsRequest{} }
func (m *ListChannelsRequest) String() string { return proto.CompactTextString(m) }
func (*ListChannelsRequest) ProtoMessage() {}
func (*ListChannelsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
type ListChannelsResponse struct {
Channels []*ActiveChannel `protobuf:"bytes,9,rep,name=channels" json:"channels,omitempty"`
}
func (m *ListChannelsResponse) Reset() { *m = ListChannelsResponse{} }
func (m *ListChannelsResponse) String() string { return proto.CompactTextString(m) }
func (*ListChannelsResponse) ProtoMessage() {}
func (*ListChannelsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
func (m *ListChannelsResponse) GetChannels() []*ActiveChannel {
if m != nil {
return m.Channels
}
return nil
}
type Peer struct {
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"`
@ -295,21 +321,12 @@ type Peer struct {
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"`
}
func (m *Peer) Reset() { *m = Peer{} }
func (m *Peer) String() string { return proto.CompactTextString(m) }
func (*Peer) ProtoMessage() {}
func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
func (m *Peer) GetChannels() []*ActiveChannel {
if m != nil {
return m.Channels
}
return nil
}
func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
type ListPeersRequest struct {
}
@ -317,7 +334,7 @@ type ListPeersRequest struct {
func (m *ListPeersRequest) Reset() { *m = ListPeersRequest{} }
func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) }
func (*ListPeersRequest) ProtoMessage() {}
func (*ListPeersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
func (*ListPeersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
type ListPeersResponse struct {
Peers []*Peer `protobuf:"bytes,1,rep,name=peers" json:"peers,omitempty"`
@ -326,7 +343,7 @@ type ListPeersResponse struct {
func (m *ListPeersResponse) Reset() { *m = ListPeersResponse{} }
func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) }
func (*ListPeersResponse) ProtoMessage() {}
func (*ListPeersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
func (*ListPeersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
func (m *ListPeersResponse) GetPeers() []*Peer {
if m != nil {
@ -341,7 +358,7 @@ type GetInfoRequest struct {
func (m *GetInfoRequest) Reset() { *m = GetInfoRequest{} }
func (m *GetInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetInfoRequest) ProtoMessage() {}
func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
type GetInfoResponse struct {
LightningId string `protobuf:"bytes,1,opt,name=lightning_id" json:"lightning_id,omitempty"`
@ -355,7 +372,7 @@ type GetInfoResponse struct {
func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} }
func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetInfoResponse) ProtoMessage() {}
func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
type ConfirmationUpdate struct {
BlockSha []byte `protobuf:"bytes,1,opt,name=block_sha,proto3" json:"block_sha,omitempty"`
@ -366,7 +383,7 @@ type ConfirmationUpdate struct {
func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} }
func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) }
func (*ConfirmationUpdate) ProtoMessage() {}
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
type ChannelOpenUpdate struct {
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point" json:"channel_point,omitempty"`
@ -375,7 +392,7 @@ type ChannelOpenUpdate struct {
func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} }
func (m *ChannelOpenUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelOpenUpdate) ProtoMessage() {}
func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
func (m *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint {
if m != nil {
@ -392,7 +409,7 @@ type ChannelCloseUpdate struct {
func (m *ChannelCloseUpdate) Reset() { *m = ChannelCloseUpdate{} }
func (m *ChannelCloseUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseUpdate) ProtoMessage() {}
func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
type CloseChannelRequest struct {
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point" json:"channel_point,omitempty"`
@ -403,7 +420,7 @@ type CloseChannelRequest struct {
func (m *CloseChannelRequest) Reset() { *m = CloseChannelRequest{} }
func (m *CloseChannelRequest) String() string { return proto.CompactTextString(m) }
func (*CloseChannelRequest) ProtoMessage() {}
func (*CloseChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
func (*CloseChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
func (m *CloseChannelRequest) GetChannelPoint() *ChannelPoint {
if m != nil {
@ -423,7 +440,7 @@ type CloseStatusUpdate struct {
func (m *CloseStatusUpdate) Reset() { *m = CloseStatusUpdate{} }
func (m *CloseStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*CloseStatusUpdate) ProtoMessage() {}
func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
type isCloseStatusUpdate_Update interface {
isCloseStatusUpdate_Update()
@ -571,7 +588,7 @@ type PendingUpdate struct {
func (m *PendingUpdate) Reset() { *m = PendingUpdate{} }
func (m *PendingUpdate) String() string { return proto.CompactTextString(m) }
func (*PendingUpdate) ProtoMessage() {}
func (*PendingUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
func (*PendingUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
type OpenChannelRequest struct {
TargetPeerId int32 `protobuf:"varint,1,opt,name=target_peer_id" json:"target_peer_id,omitempty"`
@ -585,7 +602,7 @@ type OpenChannelRequest struct {
func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) }
func (*OpenChannelRequest) ProtoMessage() {}
func (*OpenChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
func (*OpenChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
type OpenStatusUpdate struct {
// Types that are valid to be assigned to Update:
@ -598,7 +615,7 @@ type OpenStatusUpdate struct {
func (m *OpenStatusUpdate) Reset() { *m = OpenStatusUpdate{} }
func (m *OpenStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*OpenStatusUpdate) ProtoMessage() {}
func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
type isOpenStatusUpdate_Update interface {
isOpenStatusUpdate_Update()
@ -746,7 +763,7 @@ type PendingChannelRequest struct {
func (m *PendingChannelRequest) Reset() { *m = PendingChannelRequest{} }
func (m *PendingChannelRequest) String() string { return proto.CompactTextString(m) }
func (*PendingChannelRequest) ProtoMessage() {}
func (*PendingChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
func (*PendingChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
type PendingChannelResponse struct {
PendingChannels []*PendingChannelResponse_PendingChannel `protobuf:"bytes,1,rep,name=pending_channels" json:"pending_channels,omitempty"`
@ -755,7 +772,7 @@ type PendingChannelResponse struct {
func (m *PendingChannelResponse) Reset() { *m = PendingChannelResponse{} }
func (m *PendingChannelResponse) String() string { return proto.CompactTextString(m) }
func (*PendingChannelResponse) ProtoMessage() {}
func (*PendingChannelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
func (*PendingChannelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
func (m *PendingChannelResponse) GetPendingChannels() []*PendingChannelResponse_PendingChannel {
if m != nil {
@ -779,7 +796,7 @@ func (m *PendingChannelResponse_PendingChannel) Reset() { *m = PendingCh
func (m *PendingChannelResponse_PendingChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelResponse_PendingChannel) ProtoMessage() {}
func (*PendingChannelResponse_PendingChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{28, 0}
return fileDescriptor0, []int{30, 0}
}
type WalletBalanceRequest struct {
@ -789,7 +806,7 @@ type WalletBalanceRequest struct {
func (m *WalletBalanceRequest) Reset() { *m = WalletBalanceRequest{} }
func (m *WalletBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceRequest) ProtoMessage() {}
func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
type WalletBalanceResponse struct {
Balance float64 `protobuf:"fixed64,1,opt,name=balance" json:"balance,omitempty"`
@ -798,7 +815,7 @@ type WalletBalanceResponse struct {
func (m *WalletBalanceResponse) Reset() { *m = WalletBalanceResponse{} }
func (m *WalletBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceResponse) ProtoMessage() {}
func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{30} }
func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
type ChannelBalanceRequest struct {
}
@ -806,7 +823,7 @@ type ChannelBalanceRequest struct {
func (m *ChannelBalanceRequest) Reset() { *m = ChannelBalanceRequest{} }
func (m *ChannelBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceRequest) ProtoMessage() {}
func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{31} }
func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
type ChannelBalanceResponse struct {
Balance int64 `protobuf:"varint,1,opt,name=balance" json:"balance,omitempty"`
@ -815,7 +832,7 @@ type ChannelBalanceResponse struct {
func (m *ChannelBalanceResponse) Reset() { *m = ChannelBalanceResponse{} }
func (m *ChannelBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*ChannelBalanceResponse) ProtoMessage() {}
func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{32} }
func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
type RoutingTableLink struct {
Id1 string `protobuf:"bytes,1,opt,name=id1" json:"id1,omitempty"`
@ -828,7 +845,7 @@ type RoutingTableLink struct {
func (m *RoutingTableLink) Reset() { *m = RoutingTableLink{} }
func (m *RoutingTableLink) String() string { return proto.CompactTextString(m) }
func (*RoutingTableLink) ProtoMessage() {}
func (*RoutingTableLink) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{33} }
func (*RoutingTableLink) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
type ShowRoutingTableRequest struct {
}
@ -836,7 +853,7 @@ type ShowRoutingTableRequest struct {
func (m *ShowRoutingTableRequest) Reset() { *m = ShowRoutingTableRequest{} }
func (m *ShowRoutingTableRequest) String() string { return proto.CompactTextString(m) }
func (*ShowRoutingTableRequest) ProtoMessage() {}
func (*ShowRoutingTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{34} }
func (*ShowRoutingTableRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
type ShowRoutingTableResponse struct {
Channels []*RoutingTableLink `protobuf:"bytes,1,rep,name=channels" json:"channels,omitempty"`
@ -845,7 +862,7 @@ type ShowRoutingTableResponse struct {
func (m *ShowRoutingTableResponse) Reset() { *m = ShowRoutingTableResponse{} }
func (m *ShowRoutingTableResponse) String() string { return proto.CompactTextString(m) }
func (*ShowRoutingTableResponse) ProtoMessage() {}
func (*ShowRoutingTableResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{35} }
func (*ShowRoutingTableResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{37} }
func (m *ShowRoutingTableResponse) GetChannels() []*RoutingTableLink {
if m != nil {
@ -866,7 +883,7 @@ type Invoice struct {
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} }
func (*Invoice) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{38} }
type AddInvoiceResponse struct {
RHash []byte `protobuf:"bytes,1,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
@ -875,7 +892,7 @@ type AddInvoiceResponse struct {
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} }
func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{39} }
type PaymentHash struct {
RHash []byte `protobuf:"bytes,1,opt,name=r_hash,proto3" json:"r_hash,omitempty"`
@ -884,7 +901,7 @@ type PaymentHash struct {
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} }
func (*PaymentHash) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{40} }
type ListInvoiceRequest struct {
PendingOnly bool `protobuf:"varint,1,opt,name=pending_only" json:"pending_only,omitempty"`
@ -893,7 +910,7 @@ type ListInvoiceRequest struct {
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} }
func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{41} }
type ListInvoiceResponse struct {
Invoices []*Invoice `protobuf:"bytes,1,rep,name=invoices" json:"invoices,omitempty"`
@ -902,7 +919,7 @@ type ListInvoiceResponse struct {
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 (*ListInvoiceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{42} }
func (m *ListInvoiceResponse) GetInvoices() []*Invoice {
if m != nil {
@ -926,6 +943,8 @@ func init() {
proto.RegisterType((*ConnectPeerResponse)(nil), "lnrpc.ConnectPeerResponse")
proto.RegisterType((*HTLC)(nil), "lnrpc.HTLC")
proto.RegisterType((*ActiveChannel)(nil), "lnrpc.ActiveChannel")
proto.RegisterType((*ListChannelsRequest)(nil), "lnrpc.ListChannelsRequest")
proto.RegisterType((*ListChannelsResponse)(nil), "lnrpc.ListChannelsResponse")
proto.RegisterType((*Peer)(nil), "lnrpc.Peer")
proto.RegisterType((*ListPeersRequest)(nil), "lnrpc.ListPeersRequest")
proto.RegisterType((*ListPeersResponse)(nil), "lnrpc.ListPeersResponse")
@ -980,6 +999,7 @@ type LightningClient interface {
OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (Lightning_OpenChannelClient, error)
CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (Lightning_CloseChannelClient, error)
PendingChannels(ctx context.Context, in *PendingChannelRequest, opts ...grpc.CallOption) (*PendingChannelResponse, error)
ListChannels(ctx context.Context, in *ListChannelsRequest, opts ...grpc.CallOption) (*ListChannelsResponse, 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)
@ -1140,6 +1160,15 @@ func (c *lightningClient) PendingChannels(ctx context.Context, in *PendingChanne
return out, nil
}
func (c *lightningClient) ListChannels(ctx context.Context, in *ListChannelsRequest, opts ...grpc.CallOption) (*ListChannelsResponse, error) {
out := new(ListChannelsResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/ListChannels", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) SendPayment(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendPaymentClient, error) {
stream, err := grpc.NewClientStream(ctx, &_Lightning_serviceDesc.Streams[2], c.cc, "/lnrpc.Lightning/SendPayment", opts...)
if err != nil {
@ -1221,6 +1250,7 @@ type LightningServer interface {
OpenChannel(*OpenChannelRequest, Lightning_OpenChannelServer) error
CloseChannel(*CloseChannelRequest, Lightning_CloseChannelServer) error
PendingChannels(context.Context, *PendingChannelRequest) (*PendingChannelResponse, error)
ListChannels(context.Context, *ListChannelsRequest) (*ListChannelsResponse, error)
SendPayment(Lightning_SendPaymentServer) error
AddInvoice(context.Context, *Invoice) (*AddInvoiceResponse, error)
LookupInvoice(context.Context, *PaymentHash) (*Invoice, error)
@ -1436,6 +1466,24 @@ func _Lightning_PendingChannels_Handler(srv interface{}, ctx context.Context, de
return interceptor(ctx, in, info, handler)
}
func _Lightning_ListChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListChannelsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).ListChannels(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/ListChannels",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).ListChannels(ctx, req.(*ListChannelsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_SendPayment_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(LightningServer).SendPayment(&lightningSendPaymentServer{stream})
}
@ -1574,6 +1622,10 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
MethodName: "PendingChannels",
Handler: _Lightning_PendingChannels_Handler,
},
{
MethodName: "ListChannels",
Handler: _Lightning_ListChannels_Handler,
},
{
MethodName: "AddInvoice",
Handler: _Lightning_AddInvoice_Handler,
@ -1615,113 +1667,117 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 1727 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0xeb, 0x6e, 0x13, 0xd7,
0x16, 0xc6, 0xb1, 0x1d, 0xdb, 0xcb, 0x97, 0x38, 0x3b, 0x37, 0xc7, 0x90, 0x73, 0x38, 0x23, 0x40,
0x01, 0x41, 0x00, 0x73, 0x24, 0x10, 0xe8, 0x70, 0x14, 0x42, 0x4a, 0x52, 0x42, 0x92, 0xe2, 0x20,
0xd4, 0x5f, 0xd3, 0xf1, 0x78, 0x27, 0x1e, 0x65, 0x3c, 0xe3, 0x7a, 0xb6, 0x13, 0xdc, 0x07, 0xe8,
0x33, 0xf4, 0x11, 0xaa, 0xaa, 0xaa, 0xfa, 0x0e, 0xfd, 0x55, 0x55, 0xea, 0x33, 0x75, 0xed, 0xdb,
0x5c, 0x1d, 0xa4, 0xfe, 0xe8, 0x2f, 0x6b, 0xd6, 0x5e, 0x7b, 0x5d, 0xbe, 0xbd, 0xf6, 0xb7, 0xd6,
0x36, 0x54, 0xc6, 0x23, 0x7b, 0x6b, 0x34, 0xf6, 0x99, 0x4f, 0x8a, 0xae, 0x87, 0x1f, 0xc6, 0x57,
0x50, 0xed, 0x52, 0xaf, 0xff, 0x9e, 0x7e, 0x3b, 0xa1, 0x01, 0x23, 0x35, 0x28, 0xf4, 0xf1, 0xb7,
0x95, 0xbb, 0x99, 0xdb, 0xac, 0x91, 0x2a, 0xe4, 0xad, 0x21, 0x6b, 0xcd, 0xe1, 0x47, 0x9e, 0x2c,
0x43, 0x6d, 0x64, 0x4d, 0x87, 0xd4, 0x63, 0xe6, 0xc0, 0x0a, 0x06, 0xad, 0xbc, 0x50, 0x59, 0x84,
0xca, 0xa9, 0x15, 0x30, 0x33, 0x40, 0x23, 0xad, 0x02, 0x8a, 0xca, 0x46, 0x03, 0x6a, 0xd2, 0x64,
0x30, 0xf2, 0xbd, 0x80, 0x1a, 0xcf, 0xa1, 0xb6, 0x33, 0xb0, 0x3c, 0x8f, 0xba, 0xc7, 0xbe, 0xe3,
0x31, 0x6e, 0xe8, 0x74, 0xe2, 0xf5, 0x1d, 0xef, 0xcc, 0x64, 0x9f, 0x9c, 0xbe, 0xf2, 0x85, 0x52,
0x7f, 0xc2, 0x46, 0x13, 0x66, 0x3a, 0x5e, 0x9f, 0x7e, 0x12, 0x4e, 0xeb, 0xc6, 0x7f, 0xa1, 0x79,
0xe0, 0x9c, 0x0d, 0x98, 0x87, 0xda, 0xdb, 0xfd, 0xfe, 0x98, 0x06, 0x01, 0x21, 0x00, 0xa3, 0x49,
0xef, 0x2d, 0x9d, 0xee, 0xf1, 0x30, 0xf8, 0xee, 0x0a, 0x8f, 0x7b, 0xe0, 0x07, 0x32, 0xd4, 0x8a,
0xf1, 0x7d, 0x0e, 0x16, 0x78, 0x08, 0xef, 0x2c, 0x6f, 0xaa, 0x33, 0x7b, 0x09, 0x35, 0x6e, 0xe0,
0xc4, 0xdf, 0x1e, 0xfa, 0x13, 0x8f, 0x67, 0x98, 0xdf, 0xac, 0x76, 0x36, 0xb7, 0x04, 0x0c, 0x5b,
0x29, 0xed, 0xad, 0xb8, 0xea, 0xae, 0xc7, 0xc6, 0xd3, 0xf6, 0x13, 0x58, 0xcc, 0x08, 0x39, 0x40,
0xe7, 0x74, 0xaa, 0x62, 0xa8, 0x43, 0xf1, 0xc2, 0x72, 0x27, 0x54, 0xe2, 0xf5, 0x7c, 0xee, 0x59,
0xce, 0xb8, 0x09, 0xcd, 0xc8, 0xb2, 0x84, 0x83, 0x87, 0x1a, 0xa6, 0x5d, 0x31, 0x1e, 0x49, 0x8d,
0x1d, 0x44, 0x26, 0x88, 0x1d, 0x82, 0x85, 0xae, 0x94, 0xd9, 0x06, 0xcc, 0x5b, 0x32, 0x64, 0x61,
0xd7, 0xf8, 0x0f, 0x2c, 0xc6, 0x76, 0xcc, 0x34, 0xfa, 0x43, 0x0e, 0x16, 0x0f, 0xe9, 0xa5, 0x02,
0x4c, 0x9b, 0xed, 0xa0, 0xce, 0x74, 0x44, 0x85, 0x4e, 0xa3, 0x73, 0x4b, 0x65, 0x9e, 0xd1, 0xdb,
0x52, 0x9f, 0x27, 0xa8, 0x6b, 0x1c, 0x41, 0x35, 0xf6, 0x49, 0xd6, 0x60, 0xe9, 0xe3, 0xfe, 0xc9,
0xe1, 0x6e, 0xb7, 0x6b, 0x1e, 0x7f, 0x78, 0xf5, 0x76, 0xf7, 0x6b, 0x73, 0x6f, 0xbb, 0xbb, 0xd7,
0xbc, 0x46, 0x56, 0x81, 0xa0, 0xf4, 0x64, 0xf7, 0x75, 0x42, 0x9e, 0x23, 0x0b, 0x50, 0x8d, 0x0b,
0xe6, 0x8c, 0xdb, 0xa8, 0x18, 0xf3, 0xa8, 0xc2, 0x5f, 0x80, 0x92, 0x25, 0x45, 0x2a, 0x83, 0x17,
0x40, 0x76, 0x7c, 0x2c, 0x19, 0x9b, 0x1d, 0x53, 0x3a, 0xd6, 0x19, 0xdc, 0x8e, 0x01, 0x53, 0xed,
0xac, 0xa9, 0x0c, 0xd2, 0x05, 0x62, 0xdc, 0x81, 0xa5, 0xc4, 0xe6, 0xc8, 0xc9, 0x08, 0xbf, 0x4d,
0x05, 0x53, 0xd1, 0x78, 0x0d, 0x85, 0xbd, 0x93, 0x83, 0x1d, 0xac, 0xa7, 0x39, 0x25, 0xcb, 0xa7,
0xd1, 0xe6, 0xf5, 0xcd, 0xab, 0xdd, 0x74, 0x7d, 0xfb, 0x5c, 0x95, 0x3c, 0x9e, 0x33, 0xf3, 0xcd,
0x49, 0xa0, 0xca, 0xfd, 0xcf, 0x1c, 0xd4, 0xb7, 0x6d, 0xe6, 0x5c, 0x50, 0x55, 0xe5, 0x7c, 0xcf,
0x98, 0x0e, 0x7d, 0x46, 0xb5, 0xab, 0x0a, 0x59, 0x81, 0xba, 0x2d, 0x57, 0xcd, 0x11, 0xbf, 0x04,
0xb2, 0x50, 0x49, 0x13, 0xca, 0xb6, 0x35, 0xb2, 0x6c, 0x87, 0x4d, 0x85, 0xf1, 0x3c, 0x57, 0x44,
0x57, 0x96, 0x6b, 0xf6, 0x2c, 0xd7, 0xf2, 0x6c, 0x2a, 0x9c, 0xe4, 0x11, 0xdf, 0x86, 0x32, 0xa9,
0xe5, 0x45, 0x21, 0x5f, 0x87, 0xc5, 0x09, 0xe6, 0xc6, 0x98, 0x4b, 0xfb, 0x66, 0x8f, 0xca, 0xa5,
0x79, 0xb1, 0x64, 0x40, 0x7d, 0x44, 0xe5, 0x35, 0x1b, 0x30, 0xd7, 0x0e, 0x5a, 0x25, 0x51, 0xf1,
0x55, 0x85, 0x9a, 0xc8, 0x7c, 0x09, 0xaa, 0xde, 0x64, 0x68, 0x4e, 0x46, 0x7d, 0x8b, 0xd1, 0xa0,
0x55, 0xc6, 0x8d, 0x05, 0xe3, 0xb7, 0x1c, 0x14, 0x38, 0x70, 0xfc, 0x4a, 0xba, 0x1a, 0xdb, 0x28,
0x95, 0x18, 0x8c, 0x3c, 0x89, 0x62, 0xfc, 0xf0, 0xf2, 0x42, 0x03, 0x01, 0xed, 0x4d, 0xd1, 0x1e,
0x27, 0x05, 0x26, 0x12, 0x28, 0x44, 0xb2, 0x31, 0xb5, 0x2f, 0x44, 0xf0, 0x05, 0x9e, 0x7d, 0x60,
0x31, 0xa9, 0x25, 0x63, 0x56, 0x12, 0xa1, 0x53, 0x12, 0x12, 0x34, 0xee, 0x78, 0x3d, 0x3c, 0x90,
0xbe, 0x88, 0xae, 0x4c, 0xee, 0x20, 0x64, 0x12, 0xc9, 0xa0, 0x55, 0x11, 0x19, 0x2d, 0xab, 0x8c,
0x12, 0x87, 0x60, 0x10, 0xce, 0x1c, 0x81, 0xa8, 0x00, 0x5d, 0xd9, 0xc6, 0x43, 0x58, 0x8c, 0xc9,
0x54, 0x59, 0xb4, 0xa1, 0xc8, 0xf3, 0x09, 0x14, 0x23, 0x68, 0x7c, 0xb8, 0x92, 0xd1, 0x84, 0xc6,
0x1b, 0xca, 0xf6, 0xbd, 0x53, 0x5f, 0x9b, 0xf8, 0x11, 0xa9, 0x25, 0x14, 0x29, 0x0b, 0xb3, 0x71,
0x6a, 0x41, 0xd3, 0xe9, 0x63, 0x6a, 0x78, 0xb6, 0xa6, 0xc6, 0x47, 0x9e, 0xfa, 0x1a, 0x2c, 0x84,
0x2b, 0xc8, 0x64, 0x9c, 0x41, 0x24, 0x70, 0x37, 0x60, 0x99, 0x1f, 0x87, 0x3e, 0xb6, 0x30, 0x4f,
0x0e, 0x61, 0x9d, 0x5c, 0x87, 0x25, 0xbe, 0x6a, 0x89, 0x34, 0xa3, 0xc5, 0xa2, 0x58, 0xc4, 0x9a,
0x93, 0x5b, 0x79, 0x26, 0xf3, 0x82, 0x3b, 0x3f, 0x88, 0x3b, 0x74, 0xea, 0x8c, 0x87, 0x16, 0x73,
0x7c, 0xef, 0x83, 0x38, 0x64, 0xae, 0xd8, 0xe3, 0xc5, 0x6c, 0x06, 0x03, 0x2b, 0xa2, 0x5e, 0x29,
0x1a, 0x50, 0x9e, 0x86, 0x3a, 0x56, 0x2c, 0x39, 0x6e, 0xd1, 0x46, 0x13, 0x81, 0xe9, 0xd2, 0x53,
0x26, 0x82, 0xac, 0x1b, 0xff, 0x87, 0x45, 0x85, 0xf1, 0x11, 0x06, 0xaa, 0xac, 0xde, 0x4b, 0xd7,
0xb7, 0xbc, 0xa2, 0x4b, 0x0a, 0xcc, 0x38, 0xff, 0x8b, 0xbb, 0x2d, 0xbf, 0x77, 0x5c, 0x3f, 0xa0,
0xca, 0x02, 0x06, 0x61, 0xe3, 0x67, 0xaa, 0x2b, 0xe0, 0xf1, 0x07, 0x13, 0xdb, 0xd6, 0xd8, 0x95,
0x8d, 0x3e, 0xde, 0x6d, 0xbe, 0x4b, 0x59, 0xd0, 0xcc, 0xf0, 0x37, 0xfc, 0xf3, 0x52, 0x64, 0xce,
0x90, 0x9a, 0xae, 0x33, 0x74, 0xf4, 0x35, 0xc7, 0x3b, 0x7d, 0xea, 0x8f, 0xf1, 0xee, 0xe4, 0x85,
0x97, 0x5f, 0x91, 0x40, 0x85, 0x9b, 0x2e, 0xb3, 0xd8, 0x24, 0x50, 0x21, 0x3e, 0x40, 0x27, 0x5c,
0xa8, 0x0f, 0x48, 0x39, 0x59, 0x0e, 0x2b, 0x46, 0x48, 0xa5, 0xf2, 0xde, 0x35, 0xf2, 0x18, 0x33,
0x8a, 0xe1, 0x2f, 0x3c, 0x55, 0x3b, 0xeb, 0x3a, 0xa4, 0xcc, 0xd1, 0xe0, 0x96, 0x87, 0x00, 0x3c,
0x0d, 0x53, 0xb8, 0x11, 0xb1, 0xc4, 0x36, 0x64, 0x30, 0xdb, 0xbb, 0xf6, 0xaa, 0x0c, 0xf3, 0xf2,
0xf2, 0x1a, 0x1b, 0x50, 0x4f, 0x04, 0x90, 0x68, 0x09, 0x35, 0xe3, 0xa7, 0x1c, 0x10, 0x7e, 0x5e,
0x29, 0xdc, 0xf0, 0x90, 0x99, 0x35, 0x3e, 0xa3, 0xcc, 0x4c, 0x50, 0x23, 0x27, 0x06, 0x25, 0xf7,
0xfc, 0xbe, 0xec, 0x68, 0x35, 0x5e, 0x9e, 0x92, 0x9b, 0x74, 0xfb, 0x56, 0x4c, 0x29, 0x99, 0x6b,
0x03, 0x56, 0x14, 0x45, 0xa5, 0x96, 0x25, 0x83, 0x61, 0xd1, 0xdb, 0xfe, 0x70, 0xe8, 0x04, 0x01,
0x26, 0x6c, 0x06, 0xce, 0x77, 0x9a, 0xc2, 0x54, 0xe5, 0x8a, 0x3a, 0x53, 0x95, 0xfb, 0x73, 0x0e,
0x9a, 0x3c, 0xd8, 0x04, 0xfa, 0xf7, 0x11, 0x4e, 0x8e, 0xcd, 0x3f, 0x06, 0xfe, 0x03, 0xa8, 0x08,
0x07, 0x3e, 0x7a, 0x50, 0xd8, 0xb7, 0x92, 0xd8, 0x47, 0x05, 0x9f, 0x80, 0xfe, 0x7f, 0xb0, 0xa2,
0xdc, 0xa7, 0xd0, 0xbd, 0x05, 0xf3, 0x81, 0x48, 0x41, 0xf5, 0xdc, 0xe5, 0xa4, 0x39, 0x99, 0x9e,
0xf1, 0xcb, 0x1c, 0xac, 0xa6, 0xf7, 0x2b, 0x66, 0xf9, 0x02, 0x9a, 0x19, 0x32, 0x90, 0x34, 0x75,
0x3f, 0x99, 0x77, 0x6a, 0x63, 0x4a, 0xdc, 0xfe, 0x23, 0x07, 0x8d, 0xa4, 0x28, 0xd3, 0x0d, 0x33,
0x2c, 0x36, 0x37, 0xbb, 0x71, 0xe5, 0x33, 0x8d, 0xab, 0x30, 0xbb, 0x71, 0x15, 0xaf, 0x68, 0x5c,
0xf3, 0x7a, 0x9a, 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, 0x1c, 0xcb, 0xca, 0xc6, 0x26, 0xac, 0xa4, 0xb4, 0xa3, 0x79, 0x40, 0xc7,
0xc4, 0x35, 0x73, 0xc6, 0x1a, 0xac, 0x28, 0x47, 0x49, 0xc3, 0xc6, 0x5d, 0x58, 0x4d, 0x2f, 0xcc,
0xb6, 0x91, 0x37, 0xbe, 0x81, 0xe6, 0x7b, 0x9c, 0x63, 0x31, 0xaf, 0x13, 0xab, 0xe7, 0xd2, 0x03,
0xc7, 0x3b, 0xe7, 0x53, 0xa2, 0xd3, 0x7f, 0xac, 0xda, 0x82, 0xf8, 0xe8, 0x44, 0xfd, 0x9f, 0x0f,
0xbd, 0x9f, 0x05, 0x16, 0x27, 0x92, 0x4b, 0xc9, 0xcb, 0x45, 0x11, 0xe5, 0x3a, 0xac, 0x75, 0x07,
0xfe, 0x65, 0xdc, 0x8b, 0x8e, 0x73, 0x17, 0x5a, 0xd9, 0x25, 0x15, 0xe9, 0xdd, 0x58, 0xdf, 0x94,
0x25, 0xa4, 0xe7, 0xa7, 0x74, 0xbc, 0x86, 0x0b, 0xa5, 0x7d, 0xef, 0xc2, 0x77, 0x6c, 0x41, 0x22,
0x43, 0x3c, 0xbe, 0xa8, 0xf5, 0x63, 0x6b, 0xa6, 0xce, 0x88, 0x29, 0x46, 0x40, 0x2a, 0x1d, 0x9b,
0xa3, 0x31, 0x75, 0x86, 0xd6, 0x19, 0x55, 0xe3, 0x11, 0xc6, 0x3b, 0x96, 0x2f, 0x84, 0x82, 0x1e,
0x97, 0xe4, 0x58, 0x5c, 0xd4, 0x0d, 0x5d, 0xcd, 0x2b, 0xa2, 0x12, 0xca, 0xc6, 0x2d, 0x20, 0x38,
0xb8, 0x29, 0x87, 0x61, 0xb8, 0x91, 0x15, 0xc9, 0x5f, 0x1b, 0x38, 0x48, 0xca, 0xd7, 0x07, 0x9f,
0xfa, 0x33, 0xcb, 0xf7, 0x80, 0xf0, 0xce, 0x1e, 0x5a, 0x09, 0x0b, 0x42, 0x5f, 0x9f, 0x58, 0x41,
0x3c, 0x85, 0xa5, 0x84, 0xae, 0xf2, 0x78, 0x13, 0xca, 0x8e, 0x14, 0x69, 0x80, 0x1a, 0x0a, 0x20,
0xa5, 0x79, 0xaf, 0x03, 0xf5, 0x44, 0x21, 0x92, 0x12, 0xe4, 0xb7, 0x0f, 0x0e, 0x70, 0xfc, 0xad,
0x42, 0xe9, 0xe8, 0x78, 0xf7, 0x70, 0xff, 0xf0, 0x0d, 0xce, 0xbc, 0xf8, 0xb1, 0x73, 0x70, 0xd4,
0xe5, 0x1f, 0x73, 0x9d, 0xdf, 0xcb, 0x50, 0x09, 0x07, 0x54, 0xf2, 0x25, 0xd4, 0x13, 0xb5, 0x48,
0xae, 0x2b, 0x17, 0xb3, 0xea, 0xb9, 0x7d, 0x63, 0xf6, 0xa2, 0x8a, 0xf7, 0x1d, 0x34, 0x92, 0x45,
0x49, 0x6e, 0x24, 0x6f, 0x4b, 0xca, 0xda, 0xc6, 0x15, 0xab, 0xca, 0xdc, 0x0b, 0x28, 0xeb, 0xa7,
0x0a, 0x59, 0x9d, 0xfd, 0x2a, 0x6a, 0xaf, 0x65, 0xe4, 0x6a, 0xf3, 0x4b, 0xa8, 0x84, 0x6f, 0x12,
0x12, 0xd7, 0x8a, 0xbf, 0x6b, 0xda, 0xad, 0xec, 0x82, 0xda, 0xbf, 0x0d, 0x10, 0xbd, 0x0a, 0x48,
0xeb, 0xaa, 0xa7, 0x49, 0x7b, 0x7d, 0xc6, 0x8a, 0x32, 0xf1, 0x1a, 0xaa, 0xb1, 0xa1, 0x9f, 0xc4,
0x98, 0x3e, 0xf5, 0x8a, 0x68, 0xb7, 0x67, 0x2d, 0x45, 0x89, 0x84, 0x13, 0x22, 0x89, 0x1e, 0x18,
0xc9, 0x39, 0x32, 0x4c, 0x24, 0x3b, 0x4c, 0x3e, 0x83, 0x92, 0x9a, 0x0e, 0xc9, 0x8a, 0x52, 0x4a,
0x0e, 0x90, 0xed, 0xd5, 0xb4, 0x58, 0xed, 0xdc, 0x81, 0x6a, 0xac, 0x3f, 0x87, 0xf1, 0x67, 0x7b,
0x76, 0x78, 0x0a, 0xe9, 0x0e, 0xf9, 0x28, 0x87, 0xfd, 0xa2, 0x16, 0x9f, 0x8e, 0x48, 0x98, 0x6a,
0x76, 0x64, 0x0a, 0x93, 0xc8, 0xcc, 0x39, 0x68, 0xe7, 0x10, 0x16, 0x92, 0xed, 0x22, 0x08, 0x8b,
0x6b, 0x66, 0xa7, 0x0b, 0x8b, 0xeb, 0x8a, 0x3e, 0xf6, 0x5c, 0xfe, 0xcb, 0xa0, 0x6e, 0x30, 0x21,
0xb1, 0x42, 0xd0, 0x16, 0x96, 0x12, 0x32, 0xb9, 0x6f, 0x33, 0x87, 0xb1, 0x3c, 0x05, 0x88, 0xf8,
0x81, 0xa4, 0xee, 0x64, 0x58, 0x11, 0x33, 0x28, 0xe4, 0x09, 0xd4, 0x0f, 0x7c, 0xff, 0x7c, 0x32,
0xd2, 0x7b, 0xb5, 0xdb, 0x18, 0x91, 0xb4, 0x53, 0xf6, 0xc8, 0x2e, 0xd4, 0x62, 0xe4, 0x10, 0x84,
0xe7, 0x90, 0x65, 0x97, 0xb0, 0x8e, 0x66, 0x91, 0x49, 0x17, 0x9f, 0xf5, 0x29, 0x26, 0x26, 0xff,
0xd2, 0x19, 0xce, 0x66, 0xef, 0xf6, 0xbf, 0xaf, 0x5c, 0x97, 0x46, 0x7b, 0xf3, 0xe2, 0x9f, 0x9b,
0x27, 0x7f, 0x05, 0x00, 0x00, 0xff, 0xff, 0x8c, 0x25, 0x2a, 0x5e, 0xc6, 0x11, 0x00, 0x00,
// 1781 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x58, 0xdd, 0x6e, 0x13, 0xd7,
0x16, 0xc6, 0xb1, 0x1d, 0xdb, 0xcb, 0x3f, 0x71, 0x76, 0xfe, 0x1c, 0x43, 0xce, 0xe1, 0x8c, 0x00,
0x05, 0x04, 0x01, 0xcc, 0x91, 0x40, 0xa0, 0xc3, 0x51, 0x08, 0x29, 0x49, 0x31, 0x49, 0x8a, 0x83,
0x50, 0xaf, 0xa6, 0x93, 0xf1, 0x4e, 0x3c, 0xca, 0x78, 0x66, 0xea, 0xd9, 0x4e, 0x70, 0x1f, 0xa0,
0x0f, 0xd0, 0xab, 0x4a, 0x7d, 0x81, 0xaa, 0xaa, 0xaa, 0xbe, 0x47, 0xef, 0xfa, 0x44, 0x5d, 0xfb,
0x67, 0xfe, 0x27, 0x48, 0xbd, 0xe8, 0x95, 0x35, 0x6b, 0xaf, 0xbd, 0xfe, 0xf6, 0xb7, 0xbf, 0xb5,
0xb6, 0xa1, 0x36, 0xf1, 0xcc, 0x2d, 0x6f, 0xe2, 0x32, 0x97, 0x94, 0x6d, 0x07, 0x3f, 0xb4, 0xaf,
0xa0, 0x3e, 0xa0, 0xce, 0xf0, 0x3d, 0xfd, 0x76, 0x4a, 0x7d, 0x46, 0x1a, 0x50, 0x1a, 0xe2, 0x6f,
0xa7, 0x70, 0xb3, 0xb0, 0xd9, 0x20, 0x75, 0x28, 0x1a, 0x63, 0xd6, 0x99, 0xc3, 0x8f, 0x22, 0x59,
0x86, 0x86, 0x67, 0xcc, 0xc6, 0xd4, 0x61, 0xfa, 0xc8, 0xf0, 0x47, 0x9d, 0xa2, 0x50, 0x59, 0x84,
0xda, 0xa9, 0xe1, 0x33, 0xdd, 0x47, 0x23, 0x9d, 0x12, 0x8a, 0xaa, 0x5a, 0x0b, 0x1a, 0xd2, 0xa4,
0xef, 0xb9, 0x8e, 0x4f, 0xb5, 0xe7, 0xd0, 0xd8, 0x19, 0x19, 0x8e, 0x43, 0xed, 0x23, 0xd7, 0x72,
0x18, 0x37, 0x74, 0x3a, 0x75, 0x86, 0x96, 0x73, 0xa6, 0xb3, 0x4f, 0xd6, 0x50, 0xf9, 0x42, 0xa9,
0x3b, 0x65, 0xde, 0x94, 0xe9, 0x96, 0x33, 0xa4, 0x9f, 0x84, 0xd3, 0xa6, 0xf6, 0x5f, 0x68, 0xf7,
0xad, 0xb3, 0x11, 0x73, 0x50, 0x7b, 0x7b, 0x38, 0x9c, 0x50, 0xdf, 0x27, 0x04, 0xc0, 0x9b, 0x9e,
0xbc, 0xa5, 0xb3, 0x3d, 0x1e, 0x06, 0xdf, 0x5d, 0xe3, 0x71, 0x8f, 0x5c, 0x5f, 0x86, 0x5a, 0xd3,
0xbe, 0x2f, 0xc0, 0x02, 0x0f, 0xe1, 0x9d, 0xe1, 0xcc, 0x82, 0xcc, 0x5e, 0x42, 0x83, 0x1b, 0x38,
0x76, 0xb7, 0xc7, 0xee, 0xd4, 0xe1, 0x19, 0x16, 0x37, 0xeb, 0xbd, 0xcd, 0x2d, 0x51, 0x86, 0xad,
0x94, 0xf6, 0x56, 0x5c, 0x75, 0xd7, 0x61, 0x93, 0x59, 0xf7, 0x09, 0x2c, 0x66, 0x84, 0xbc, 0x40,
0xe7, 0x74, 0xa6, 0x62, 0x68, 0x42, 0xf9, 0xc2, 0xb0, 0xa7, 0x54, 0xd6, 0xeb, 0xf9, 0xdc, 0xb3,
0x82, 0x76, 0x13, 0xda, 0x91, 0x65, 0x59, 0x0e, 0x1e, 0x6a, 0x98, 0x76, 0x4d, 0x7b, 0x24, 0x35,
0x76, 0xb0, 0x32, 0x7e, 0xec, 0x10, 0x0c, 0x74, 0xa5, 0xcc, 0xb6, 0x60, 0xde, 0x90, 0x21, 0x0b,
0xbb, 0xda, 0x7f, 0x60, 0x31, 0xb6, 0x23, 0xd7, 0xe8, 0x8f, 0x05, 0x58, 0x3c, 0xa0, 0x97, 0xaa,
0x60, 0x81, 0xd9, 0x1e, 0xea, 0xcc, 0x3c, 0x2a, 0x74, 0x5a, 0xbd, 0x5b, 0x2a, 0xf3, 0x8c, 0xde,
0x96, 0xfa, 0x3c, 0x46, 0x5d, 0xed, 0x10, 0xea, 0xb1, 0x4f, 0xb2, 0x06, 0x4b, 0x1f, 0xf7, 0x8f,
0x0f, 0x76, 0x07, 0x03, 0xfd, 0xe8, 0xc3, 0xab, 0xb7, 0xbb, 0x5f, 0xeb, 0x7b, 0xdb, 0x83, 0xbd,
0xf6, 0x35, 0xb2, 0x0a, 0x04, 0xa5, 0xc7, 0xbb, 0xaf, 0x13, 0xf2, 0x02, 0x59, 0x80, 0x7a, 0x5c,
0x30, 0xa7, 0xdd, 0x46, 0xc5, 0x98, 0x47, 0x15, 0xfe, 0x02, 0x54, 0x0c, 0x29, 0x52, 0x19, 0xbc,
0x00, 0xb2, 0xe3, 0x22, 0x64, 0x4c, 0x76, 0x44, 0xe9, 0x24, 0xc8, 0xe0, 0x76, 0xac, 0x30, 0xf5,
0xde, 0x9a, 0xca, 0x20, 0x0d, 0x10, 0xed, 0x0e, 0x2c, 0x25, 0x36, 0x47, 0x4e, 0x3c, 0xfc, 0xd6,
0x55, 0x99, 0xca, 0x9a, 0x07, 0xa5, 0xbd, 0xe3, 0xfe, 0x0e, 0x69, 0x43, 0xd5, 0x72, 0x4c, 0x77,
0x8c, 0x26, 0xc4, 0x4a, 0x35, 0x5d, 0x73, 0x8e, 0x72, 0x8e, 0x79, 0xdd, 0x76, 0xcd, 0x73, 0x05,
0xfc, 0x75, 0x58, 0xa4, 0x9f, 0x3c, 0x6b, 0x62, 0x30, 0xcb, 0x75, 0xf4, 0x11, 0xe5, 0x41, 0x88,
0x0b, 0xd0, 0x24, 0x1d, 0x68, 0x4f, 0xe8, 0x85, 0x6b, 0xca, 0xa5, 0x21, 0xb5, 0x8d, 0x59, 0xa7,
0x2c, 0xe0, 0xfc, 0x67, 0x01, 0x9a, 0xdb, 0x26, 0xb3, 0x2e, 0xa8, 0xba, 0x11, 0x64, 0x05, 0x9a,
0x13, 0x3a, 0x76, 0x19, 0xd5, 0x11, 0xd3, 0x11, 0x96, 0x50, 0x6c, 0x4a, 0x0d, 0xdd, 0xe3, 0x97,
0x46, 0x02, 0x9b, 0x47, 0x6a, 0x1a, 0x9e, 0x61, 0x5a, 0x6c, 0x26, 0xc2, 0x28, 0x72, 0x45, 0x0c,
0xca, 0xb0, 0xf5, 0x13, 0xc3, 0x36, 0x1c, 0x93, 0x8a, 0x10, 0x8a, 0x78, 0x1e, 0x2d, 0x65, 0x36,
0x90, 0x97, 0x85, 0x1c, 0xa3, 0x9e, 0x62, 0x2d, 0x18, 0xb3, 0xe9, 0x30, 0x5c, 0x9a, 0x17, 0x4b,
0x1a, 0x34, 0x3d, 0x2a, 0xaf, 0xe5, 0x88, 0xd9, 0xa6, 0xdf, 0xa9, 0x88, 0x1b, 0x52, 0x57, 0x55,
0x16, 0x95, 0x5a, 0x82, 0xba, 0x33, 0x1d, 0xeb, 0x53, 0x6f, 0x68, 0x30, 0xea, 0x77, 0xaa, 0xb8,
0xb1, 0xa4, 0xad, 0xc0, 0x52, 0xdf, 0xf2, 0x99, 0xca, 0x28, 0x80, 0x91, 0xf6, 0x12, 0x96, 0x93,
0x62, 0x75, 0x0c, 0x77, 0x30, 0x07, 0x25, 0xeb, 0xd4, 0x84, 0x8b, 0x65, 0xe5, 0x22, 0x51, 0x19,
0xed, 0xa7, 0x02, 0x94, 0xf8, 0xf9, 0x71, 0x66, 0xb0, 0x83, 0x23, 0x0e, 0x0e, 0xaf, 0x16, 0x3f,
0x4d, 0x5e, 0x9b, 0x72, 0x1c, 0x43, 0x45, 0xa1, 0x81, 0x3c, 0x71, 0x32, 0xc3, 0x30, 0x39, 0x37,
0xc9, 0xa3, 0x29, 0x45, 0xb2, 0x09, 0x35, 0x2f, 0x44, 0x4d, 0x4a, 0xbc, 0xa8, 0xbe, 0xc1, 0xa4,
0x96, 0x2c, 0x85, 0x92, 0x08, 0x9d, 0x8a, 0x90, 0xa0, 0x71, 0xcb, 0x39, 0x41, 0x44, 0x0c, 0x45,
0xd2, 0x55, 0x8d, 0x70, 0x62, 0xf2, 0x05, 0xc0, 0xc2, 0x8c, 0x1f, 0xc2, 0x62, 0x4c, 0xa6, 0xd2,
0xed, 0x42, 0x99, 0xc7, 0xe9, 0x2b, 0xc2, 0x09, 0xca, 0xc9, 0x95, 0xb4, 0x36, 0xb4, 0xde, 0x50,
0xb6, 0xef, 0x9c, 0xba, 0x81, 0x89, 0x9f, 0x91, 0xb9, 0x42, 0x91, 0xb2, 0x90, 0x9f, 0x3f, 0x82,
0xcc, 0x1a, 0x62, 0xc8, 0x08, 0x05, 0x3d, 0xc8, 0x5b, 0x82, 0x64, 0x0d, 0x16, 0xc2, 0x15, 0x05,
0x2a, 0x59, 0x90, 0x1b, 0xb0, 0xcc, 0x4f, 0x2f, 0x38, 0xe5, 0xf0, 0x14, 0x24, 0x6a, 0xaf, 0xc3,
0x12, 0x5f, 0x35, 0xc4, 0x21, 0x44, 0x8b, 0x02, 0xb8, 0xfc, 0x02, 0xc8, 0xad, 0x3c, 0x93, 0x79,
0x81, 0xe5, 0x0f, 0xe2, 0x8a, 0x9e, 0x5a, 0x93, 0xb1, 0xc0, 0xf9, 0x07, 0x81, 0x09, 0xae, 0x78,
0xc2, 0x6f, 0x89, 0xee, 0x8f, 0x8c, 0x88, 0xd9, 0xa5, 0x48, 0x5d, 0x12, 0x79, 0x5c, 0x88, 0x50,
0x6e, 0xd1, 0x44, 0x13, 0xbe, 0x6e, 0xd3, 0x53, 0x26, 0x82, 0x6c, 0x6a, 0xff, 0x87, 0x45, 0x85,
0x80, 0x43, 0x0c, 0x54, 0x59, 0xbd, 0x97, 0xbe, 0x0e, 0x92, 0x01, 0x96, 0x54, 0x31, 0xe3, 0xed,
0x45, 0x50, 0x87, 0xfc, 0xde, 0xb1, 0x5d, 0x9f, 0x2a, 0x0b, 0x18, 0x84, 0x89, 0x9f, 0xa9, 0xa6,
0x83, 0xc7, 0xea, 0x4f, 0x4d, 0x33, 0xa8, 0x5d, 0x55, 0x1b, 0x22, 0x75, 0xf0, 0x5d, 0xca, 0x42,
0x40, 0x3c, 0x7f, 0xc3, 0x3f, 0x87, 0x18, 0xb3, 0xc6, 0x54, 0xb7, 0xad, 0xb1, 0x15, 0xf0, 0x07,
0xb6, 0x86, 0x53, 0x77, 0x82, 0x57, 0xad, 0x28, 0xbc, 0xfc, 0x8e, 0xfc, 0x2c, 0xdc, 0x0c, 0x98,
0xc1, 0xa6, 0xbe, 0x0a, 0xf1, 0x01, 0x3a, 0xe1, 0xc2, 0xe0, 0x80, 0x94, 0x93, 0xe5, 0x10, 0x31,
0x42, 0x2a, 0x95, 0xf7, 0xae, 0x91, 0xc7, 0x98, 0x51, 0xac, 0xfe, 0xc2, 0x53, 0xbd, 0xb7, 0x1e,
0x84, 0x94, 0x39, 0x1a, 0xdc, 0xf2, 0x10, 0x80, 0xa7, 0xa1, 0x0b, 0x37, 0x22, 0x96, 0xd8, 0x86,
0x4c, 0xcd, 0xf6, 0xae, 0xbd, 0xaa, 0xc2, 0xbc, 0xbc, 0xeb, 0xda, 0x06, 0x34, 0x13, 0x01, 0x24,
0x3a, 0x4e, 0x43, 0xfb, 0xa5, 0x00, 0x84, 0x9f, 0x57, 0xaa, 0x6e, 0x78, 0xc8, 0xcc, 0x98, 0x9c,
0x51, 0xa6, 0x27, 0x98, 0x97, 0xf3, 0x88, 0x92, 0x3b, 0xee, 0x50, 0x36, 0xcc, 0x06, 0x87, 0xa7,
0xa4, 0xb2, 0x60, 0x3a, 0x50, 0x14, 0x2c, 0x89, 0x6e, 0x03, 0x56, 0x14, 0xa3, 0xa5, 0x96, 0x25,
0xe1, 0x21, 0xe8, 0x91, 0xc1, 0xc7, 0x96, 0xef, 0x73, 0xce, 0xf5, 0xad, 0xef, 0x02, 0xc6, 0x53,
0xc8, 0x15, 0x38, 0x53, 0xc8, 0xfd, 0xb5, 0x00, 0x6d, 0x1e, 0x6c, 0xa2, 0xfa, 0xf7, 0xb1, 0x9c,
0xbc, 0x36, 0xff, 0x58, 0xf1, 0x1f, 0x40, 0x4d, 0x38, 0x70, 0xd1, 0x83, 0xaa, 0x7d, 0x27, 0x59,
0xfb, 0x08, 0xf0, 0x89, 0xd2, 0xff, 0x0f, 0x56, 0x94, 0xfb, 0x54, 0x75, 0x6f, 0xc1, 0xbc, 0x2f,
0x52, 0x50, 0x2d, 0x7d, 0x39, 0x69, 0x4e, 0xa6, 0xa7, 0xfd, 0x36, 0x07, 0xab, 0xe9, 0xfd, 0x8a,
0x59, 0xbe, 0x80, 0x76, 0x86, 0x0c, 0x24, 0x4d, 0xdd, 0x4f, 0xe6, 0x9d, 0xda, 0x98, 0x12, 0x77,
0xff, 0x28, 0x40, 0x2b, 0x29, 0xca, 0x34, 0xdb, 0x0c, 0x8b, 0xcd, 0xe5, 0xf7, 0xb9, 0x62, 0xa6,
0xcf, 0x95, 0xf2, 0xfb, 0x5c, 0xf9, 0x8a, 0x3e, 0x37, 0x1f, 0x0c, 0xab, 0x89, 0xeb, 0x5e, 0x11,
0x66, 0xa3, 0x82, 0x55, 0x3f, 0x53, 0xb0, 0xfb, 0xb0, 0xfc, 0xd1, 0xb0, 0x6d, 0xca, 0x5e, 0x49,
0x93, 0x41, 0xb9, 0xd1, 0xe6, 0xa5, 0xc5, 0x1c, 0x24, 0x0b, 0xdd, 0x75, 0x6c, 0xd9, 0xa9, 0xab,
0xda, 0x26, 0xac, 0xa4, 0xb4, 0xa3, 0x71, 0x23, 0x88, 0x89, 0x6b, 0x16, 0xb4, 0x35, 0x58, 0x51,
0x8e, 0x92, 0x86, 0xb5, 0xbb, 0xb0, 0x9a, 0x5e, 0xc8, 0xb7, 0x51, 0xd4, 0xbe, 0x81, 0xf6, 0x7b,
0x1c, 0x93, 0x31, 0xaf, 0x63, 0xe3, 0xc4, 0xa6, 0x7d, 0xcb, 0x39, 0xe7, 0x43, 0xa8, 0x35, 0x7c,
0xac, 0xda, 0x82, 0xf8, 0xe8, 0x45, 0xe3, 0x02, 0x9f, 0xa9, 0x3f, 0x5b, 0x58, 0x1c, 0x75, 0x2e,
0x25, 0x2f, 0x97, 0x45, 0x94, 0xeb, 0xb0, 0x36, 0x18, 0xb9, 0x97, 0x71, 0x2f, 0x41, 0x9c, 0xbb,
0xd0, 0xc9, 0x2e, 0xa9, 0x48, 0xef, 0xc6, 0xba, 0xba, 0x84, 0x50, 0x30, 0x9e, 0xa5, 0xe3, 0xd5,
0x6c, 0xa8, 0xec, 0x3b, 0x17, 0xae, 0x65, 0x0a, 0x12, 0x19, 0xe3, 0xf1, 0x45, 0x2d, 0x1d, 0x5b,
0x2e, 0xb5, 0x3c, 0xa6, 0x18, 0x01, 0xa9, 0x74, 0xa2, 0x7b, 0x13, 0x6a, 0x8d, 0x8d, 0x33, 0xaa,
0xe6, 0x2e, 0x8c, 0x77, 0x22, 0x1f, 0x20, 0x25, 0xf1, 0x1d, 0x4e, 0xdd, 0xe5, 0xa0, 0x51, 0xab,
0xf1, 0x46, 0x20, 0xa1, 0xaa, 0xdd, 0x02, 0x82, 0x73, 0xa1, 0x72, 0x18, 0x86, 0x1b, 0x59, 0x91,
0xfc, 0xb5, 0x81, 0x73, 0xaa, 0x7c, 0xdc, 0xf0, 0x47, 0x45, 0x66, 0xf9, 0x1e, 0x10, 0xde, 0xd9,
0x43, 0x2b, 0x21, 0x20, 0x82, 0xeb, 0x13, 0x03, 0xc4, 0x53, 0x39, 0x0e, 0xa5, 0x3d, 0xde, 0xe4,
0x43, 0xa6, 0x10, 0x05, 0x05, 0x6a, 0xa9, 0x02, 0x29, 0xcd, 0x7b, 0x3d, 0x68, 0x26, 0x80, 0x48,
0x2a, 0x50, 0xdc, 0xee, 0xf7, 0x71, 0xba, 0xae, 0x43, 0xe5, 0xf0, 0x68, 0xf7, 0x60, 0xff, 0xe0,
0x0d, 0x8e, 0xd4, 0xf8, 0xb1, 0xd3, 0x3f, 0x1c, 0xf0, 0x8f, 0xb9, 0xde, 0x0f, 0x35, 0xa8, 0x85,
0xf3, 0x2f, 0xf9, 0x12, 0x9a, 0x09, 0x2c, 0x92, 0xeb, 0xca, 0x45, 0x1e, 0x9e, 0xbb, 0x37, 0xf2,
0x17, 0x55, 0xbc, 0xef, 0xa0, 0x95, 0x04, 0x25, 0xb9, 0x91, 0xbc, 0x2d, 0x29, 0x6b, 0x1b, 0x57,
0xac, 0x2a, 0x73, 0x2f, 0xa0, 0x1a, 0xbc, 0x84, 0xc8, 0x6a, 0xfe, 0xa3, 0xab, 0xbb, 0x96, 0x91,
0xab, 0xcd, 0x2f, 0xa1, 0x16, 0x3e, 0x79, 0x48, 0x5c, 0x2b, 0xfe, 0x6c, 0xea, 0x76, 0xb2, 0x0b,
0x6a, 0xff, 0x36, 0x40, 0xf4, 0xe8, 0x20, 0x9d, 0xab, 0x5e, 0x3e, 0xdd, 0xf5, 0x9c, 0x15, 0x65,
0xe2, 0x35, 0xd4, 0x63, 0x6f, 0x0a, 0x12, 0x63, 0xfa, 0xd4, 0x23, 0xa5, 0xdb, 0xcd, 0x5b, 0x8a,
0x12, 0x09, 0x27, 0x44, 0x12, 0xbd, 0x5f, 0x92, 0x73, 0x64, 0x98, 0x48, 0x76, 0x98, 0x7c, 0x06,
0x15, 0x35, 0x1d, 0x92, 0x15, 0xa5, 0x94, 0x1c, 0x20, 0xbb, 0xab, 0x69, 0xb1, 0xda, 0xb9, 0x03,
0xf5, 0x58, 0x7f, 0x0e, 0xe3, 0xcf, 0xf6, 0xec, 0xf0, 0x14, 0xd2, 0x1d, 0xf2, 0x51, 0x01, 0xfb,
0x45, 0x23, 0x3e, 0x1d, 0x91, 0x30, 0xd5, 0xec, 0xc8, 0x14, 0x26, 0x91, 0x99, 0x73, 0xd0, 0xce,
0x01, 0x2c, 0x24, 0xdb, 0x85, 0x1f, 0x82, 0x2b, 0xb7, 0xd3, 0x85, 0xe0, 0xba, 0xa2, 0x8f, 0xbd,
0x81, 0x46, 0xfc, 0xa9, 0x11, 0xc6, 0x95, 0xf3, 0x2c, 0xe9, 0x5e, 0xcf, 0x5d, 0x53, 0x86, 0x9e,
0xcb, 0x7f, 0x43, 0x14, 0x15, 0x10, 0x12, 0x43, 0x54, 0xb0, 0x7f, 0x29, 0x21, 0x93, 0xfb, 0x36,
0x0b, 0x98, 0xd4, 0x53, 0x80, 0x88, 0x68, 0x48, 0xea, 0x72, 0x87, 0xd0, 0xca, 0xe1, 0xa2, 0x27,
0xd0, 0xec, 0xbb, 0xee, 0xf9, 0xd4, 0x0b, 0xf6, 0x06, 0x6e, 0x63, 0x8c, 0xd4, 0x4d, 0xd9, 0x23,
0xbb, 0x32, 0x65, 0xf5, 0xe9, 0x87, 0x07, 0x9a, 0xa5, 0xa9, 0x6e, 0x37, 0x6f, 0x49, 0xf9, 0x1e,
0x40, 0x3b, 0x4d, 0xe9, 0xe4, 0x5f, 0x41, 0x86, 0xf9, 0x6d, 0xa0, 0xfb, 0xef, 0x2b, 0xd7, 0xa5,
0xd1, 0x93, 0x79, 0xf1, 0x0f, 0xd3, 0x93, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x24, 0x8f, 0x46,
0x46, 0x6e, 0x12, 0x00, 0x00,
}

@ -16,7 +16,9 @@ service Lightning {
rpc OpenChannel(OpenChannelRequest) returns (stream OpenStatusUpdate);
rpc CloseChannel(CloseChannelRequest) returns (stream CloseStatusUpdate);
rpc PendingChannels(PendingChannelRequest) returns (PendingChannelResponse);
rpc ListChannels(ListChannelsRequest) returns (ListChannelsResponse);
rpc SendPayment(stream SendRequest) returns (stream SendResponse);
@ -84,31 +86,33 @@ message ConnectPeerResponse {
}
message HTLC {
int64 id = 1;
bool incoming = 1;
int64 amount = 2;
bytes hash_lock = 3;
bool to_us = 4;
uint32 expiration_height = 4;
uint32 revocation_delay = 5;
}
message ActiveChannel {
// TODO(roasbeef): make channel points a string everywhere in rpc?
string remote_id = 1;
string remote_pubkey = 1;
string channel_point = 2;
int64 capacity = 3;
int64 local_balance = 4;
int64 remote_balance = 5;
int64 unsettled_belance = 6;
int64 unsettled_balance = 6;
repeated HTLC pending_htlcs = 7;
uint64 num_updates = 8;
// TODO(roasbeef): other stuffs
}
message ListChannelsRequest {}
message ListChannelsResponse {
repeated ActiveChannel channels = 9;
}
message Peer {
string lightning_id = 1;
int32 peer_id = 2;
@ -121,9 +125,6 @@ message Peer {
int64 sat_recv = 7;
bool inbound = 8;
// TODO(roasbeef): add pending channels
repeated ActiveChannel channels = 9;
}
message ListPeersRequest {}