lnrpc: add bi-directional streaming SendPayment RPC

This commit is contained in:
Olaoluwa Osuntokun 2016-07-12 17:36:34 -07:00
parent 7dea354711
commit 09f6ecef1f
No known key found for this signature in database
GPG Key ID: 9CC5B105D03521A2
2 changed files with 222 additions and 115 deletions

@ -9,6 +9,8 @@ It is generated from these files:
rpc.proto rpc.proto
It has these top-level messages: It has these top-level messages:
SendRequest
SendResponse
ChannelPoint ChannelPoint
LightningAddress LightningAddress
SendManyRequest SendManyRequest
@ -105,9 +107,29 @@ func (x NewAddressRequest_AddressType) String() string {
return proto.EnumName(NewAddressRequest_AddressType_name, int32(x)) return proto.EnumName(NewAddressRequest_AddressType_name, int32(x))
} }
func (NewAddressRequest_AddressType) EnumDescriptor() ([]byte, []int) { func (NewAddressRequest_AddressType) EnumDescriptor() ([]byte, []int) {
return fileDescriptor0, []int{6, 0} return fileDescriptor0, []int{8, 0}
} }
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,proto3" json:"payment_hash,omitempty"`
FastSend bool `protobuf:"varint,4,opt,name=fast_send" json:"fast_send,omitempty"`
}
func (m *SendRequest) Reset() { *m = SendRequest{} }
func (m *SendRequest) String() string { return proto.CompactTextString(m) }
func (*SendRequest) ProtoMessage() {}
func (*SendRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
type SendResponse struct {
}
func (m *SendResponse) Reset() { *m = SendResponse{} }
func (m *SendResponse) String() string { return proto.CompactTextString(m) }
func (*SendResponse) ProtoMessage() {}
func (*SendResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
type ChannelPoint struct { type ChannelPoint struct {
FundingTxid []byte `protobuf:"bytes,1,opt,name=funding_txid,proto3" json:"funding_txid,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"` OutputIndex uint32 `protobuf:"varint,2,opt,name=output_index" json:"output_index,omitempty"`
@ -116,7 +138,7 @@ type ChannelPoint struct {
func (m *ChannelPoint) Reset() { *m = ChannelPoint{} } func (m *ChannelPoint) Reset() { *m = ChannelPoint{} }
func (m *ChannelPoint) String() string { return proto.CompactTextString(m) } func (m *ChannelPoint) String() string { return proto.CompactTextString(m) }
func (*ChannelPoint) ProtoMessage() {} func (*ChannelPoint) ProtoMessage() {}
func (*ChannelPoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } func (*ChannelPoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
type LightningAddress struct { type LightningAddress struct {
PubKeyHash string `protobuf:"bytes,1,opt,name=pubKeyHash" json:"pubKeyHash,omitempty"` PubKeyHash string `protobuf:"bytes,1,opt,name=pubKeyHash" json:"pubKeyHash,omitempty"`
@ -126,7 +148,7 @@ type LightningAddress struct {
func (m *LightningAddress) Reset() { *m = LightningAddress{} } func (m *LightningAddress) Reset() { *m = LightningAddress{} }
func (m *LightningAddress) String() string { return proto.CompactTextString(m) } func (m *LightningAddress) String() string { return proto.CompactTextString(m) }
func (*LightningAddress) ProtoMessage() {} func (*LightningAddress) ProtoMessage() {}
func (*LightningAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } func (*LightningAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
type SendManyRequest struct { type SendManyRequest struct {
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"` 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"`
@ -135,7 +157,7 @@ type SendManyRequest struct {
func (m *SendManyRequest) Reset() { *m = SendManyRequest{} } func (m *SendManyRequest) Reset() { *m = SendManyRequest{} }
func (m *SendManyRequest) String() string { return proto.CompactTextString(m) } func (m *SendManyRequest) String() string { return proto.CompactTextString(m) }
func (*SendManyRequest) ProtoMessage() {} func (*SendManyRequest) ProtoMessage() {}
func (*SendManyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } func (*SendManyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *SendManyRequest) GetAddrToAmount() map[string]int64 { func (m *SendManyRequest) GetAddrToAmount() map[string]int64 {
if m != nil { if m != nil {
@ -151,7 +173,7 @@ type SendManyResponse struct {
func (m *SendManyResponse) Reset() { *m = SendManyResponse{} } func (m *SendManyResponse) Reset() { *m = SendManyResponse{} }
func (m *SendManyResponse) String() string { return proto.CompactTextString(m) } func (m *SendManyResponse) String() string { return proto.CompactTextString(m) }
func (*SendManyResponse) ProtoMessage() {} func (*SendManyResponse) ProtoMessage() {}
func (*SendManyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } func (*SendManyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
type SendCoinsRequest struct { type SendCoinsRequest struct {
Addr string `protobuf:"bytes,1,opt,name=addr" json:"addr,omitempty"` Addr string `protobuf:"bytes,1,opt,name=addr" json:"addr,omitempty"`
@ -161,7 +183,7 @@ type SendCoinsRequest struct {
func (m *SendCoinsRequest) Reset() { *m = SendCoinsRequest{} } func (m *SendCoinsRequest) Reset() { *m = SendCoinsRequest{} }
func (m *SendCoinsRequest) String() string { return proto.CompactTextString(m) } func (m *SendCoinsRequest) String() string { return proto.CompactTextString(m) }
func (*SendCoinsRequest) ProtoMessage() {} func (*SendCoinsRequest) ProtoMessage() {}
func (*SendCoinsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } func (*SendCoinsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
type SendCoinsResponse struct { type SendCoinsResponse struct {
Txid string `protobuf:"bytes,1,opt,name=txid" json:"txid,omitempty"` Txid string `protobuf:"bytes,1,opt,name=txid" json:"txid,omitempty"`
@ -170,7 +192,7 @@ type SendCoinsResponse struct {
func (m *SendCoinsResponse) Reset() { *m = SendCoinsResponse{} } func (m *SendCoinsResponse) Reset() { *m = SendCoinsResponse{} }
func (m *SendCoinsResponse) String() string { return proto.CompactTextString(m) } func (m *SendCoinsResponse) String() string { return proto.CompactTextString(m) }
func (*SendCoinsResponse) ProtoMessage() {} func (*SendCoinsResponse) ProtoMessage() {}
func (*SendCoinsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } func (*SendCoinsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
type NewAddressRequest struct { type NewAddressRequest struct {
Type NewAddressRequest_AddressType `protobuf:"varint,1,opt,name=type,enum=lnrpc.NewAddressRequest_AddressType" json:"type,omitempty"` Type NewAddressRequest_AddressType `protobuf:"varint,1,opt,name=type,enum=lnrpc.NewAddressRequest_AddressType" json:"type,omitempty"`
@ -179,7 +201,7 @@ type NewAddressRequest struct {
func (m *NewAddressRequest) Reset() { *m = NewAddressRequest{} } func (m *NewAddressRequest) Reset() { *m = NewAddressRequest{} }
func (m *NewAddressRequest) String() string { return proto.CompactTextString(m) } func (m *NewAddressRequest) String() string { return proto.CompactTextString(m) }
func (*NewAddressRequest) ProtoMessage() {} func (*NewAddressRequest) ProtoMessage() {}
func (*NewAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } func (*NewAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
type NewAddressResponse struct { type NewAddressResponse struct {
Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"` Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
@ -188,7 +210,7 @@ type NewAddressResponse struct {
func (m *NewAddressResponse) Reset() { *m = NewAddressResponse{} } func (m *NewAddressResponse) Reset() { *m = NewAddressResponse{} }
func (m *NewAddressResponse) String() string { return proto.CompactTextString(m) } func (m *NewAddressResponse) String() string { return proto.CompactTextString(m) }
func (*NewAddressResponse) ProtoMessage() {} func (*NewAddressResponse) ProtoMessage() {}
func (*NewAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} } func (*NewAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
type ConnectPeerRequest struct { type ConnectPeerRequest struct {
Addr *LightningAddress `protobuf:"bytes,1,opt,name=addr" json:"addr,omitempty"` Addr *LightningAddress `protobuf:"bytes,1,opt,name=addr" json:"addr,omitempty"`
@ -197,7 +219,7 @@ type ConnectPeerRequest struct {
func (m *ConnectPeerRequest) Reset() { *m = ConnectPeerRequest{} } func (m *ConnectPeerRequest) Reset() { *m = ConnectPeerRequest{} }
func (m *ConnectPeerRequest) String() string { return proto.CompactTextString(m) } func (m *ConnectPeerRequest) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerRequest) ProtoMessage() {} func (*ConnectPeerRequest) ProtoMessage() {}
func (*ConnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} } func (*ConnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (m *ConnectPeerRequest) GetAddr() *LightningAddress { func (m *ConnectPeerRequest) GetAddr() *LightningAddress {
if m != nil { if m != nil {
@ -213,7 +235,7 @@ type ConnectPeerResponse struct {
func (m *ConnectPeerResponse) Reset() { *m = ConnectPeerResponse{} } func (m *ConnectPeerResponse) Reset() { *m = ConnectPeerResponse{} }
func (m *ConnectPeerResponse) String() string { return proto.CompactTextString(m) } func (m *ConnectPeerResponse) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerResponse) ProtoMessage() {} func (*ConnectPeerResponse) ProtoMessage() {}
func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} } func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
type HTLC struct { type HTLC struct {
Id int64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"` Id int64 `protobuf:"varint,1,opt,name=id" json:"id,omitempty"`
@ -225,7 +247,7 @@ type HTLC struct {
func (m *HTLC) Reset() { *m = HTLC{} } func (m *HTLC) Reset() { *m = HTLC{} }
func (m *HTLC) String() string { return proto.CompactTextString(m) } func (m *HTLC) String() string { return proto.CompactTextString(m) }
func (*HTLC) ProtoMessage() {} func (*HTLC) ProtoMessage() {}
func (*HTLC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} } func (*HTLC) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
type ActiveChannel struct { type ActiveChannel struct {
// TODO(roasbeef): make channel points a string everywhere in rpc? // TODO(roasbeef): make channel points a string everywhere in rpc?
@ -242,7 +264,7 @@ type ActiveChannel struct {
func (m *ActiveChannel) Reset() { *m = ActiveChannel{} } func (m *ActiveChannel) Reset() { *m = ActiveChannel{} }
func (m *ActiveChannel) String() string { return proto.CompactTextString(m) } func (m *ActiveChannel) String() string { return proto.CompactTextString(m) }
func (*ActiveChannel) ProtoMessage() {} func (*ActiveChannel) ProtoMessage() {}
func (*ActiveChannel) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} } func (*ActiveChannel) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
func (m *ActiveChannel) GetPendingHtlcs() []*HTLC { func (m *ActiveChannel) GetPendingHtlcs() []*HTLC {
if m != nil { if m != nil {
@ -267,7 +289,7 @@ type Peer struct {
func (m *Peer) Reset() { *m = Peer{} } func (m *Peer) Reset() { *m = Peer{} }
func (m *Peer) String() string { return proto.CompactTextString(m) } func (m *Peer) String() string { return proto.CompactTextString(m) }
func (*Peer) ProtoMessage() {} func (*Peer) ProtoMessage() {}
func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} } func (*Peer) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
func (m *Peer) GetChannels() []*ActiveChannel { func (m *Peer) GetChannels() []*ActiveChannel {
if m != nil { if m != nil {
@ -282,7 +304,7 @@ type ListPeersRequest struct {
func (m *ListPeersRequest) Reset() { *m = ListPeersRequest{} } func (m *ListPeersRequest) Reset() { *m = ListPeersRequest{} }
func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) } func (m *ListPeersRequest) String() string { return proto.CompactTextString(m) }
func (*ListPeersRequest) ProtoMessage() {} func (*ListPeersRequest) ProtoMessage() {}
func (*ListPeersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} } func (*ListPeersRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
type ListPeersResponse struct { type ListPeersResponse struct {
Peers []*Peer `protobuf:"bytes,1,rep,name=peers" json:"peers,omitempty"` Peers []*Peer `protobuf:"bytes,1,rep,name=peers" json:"peers,omitempty"`
@ -291,7 +313,7 @@ type ListPeersResponse struct {
func (m *ListPeersResponse) Reset() { *m = ListPeersResponse{} } func (m *ListPeersResponse) Reset() { *m = ListPeersResponse{} }
func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) } func (m *ListPeersResponse) String() string { return proto.CompactTextString(m) }
func (*ListPeersResponse) ProtoMessage() {} func (*ListPeersResponse) ProtoMessage() {}
func (*ListPeersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} } func (*ListPeersResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
func (m *ListPeersResponse) GetPeers() []*Peer { func (m *ListPeersResponse) GetPeers() []*Peer {
if m != nil { if m != nil {
@ -306,7 +328,7 @@ type GetInfoRequest struct {
func (m *GetInfoRequest) Reset() { *m = GetInfoRequest{} } func (m *GetInfoRequest) Reset() { *m = GetInfoRequest{} }
func (m *GetInfoRequest) String() string { return proto.CompactTextString(m) } func (m *GetInfoRequest) String() string { return proto.CompactTextString(m) }
func (*GetInfoRequest) ProtoMessage() {} func (*GetInfoRequest) ProtoMessage() {}
func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} } func (*GetInfoRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
type GetInfoResponse struct { type GetInfoResponse struct {
LightningId string `protobuf:"bytes,1,opt,name=lightning_id" json:"lightning_id,omitempty"` LightningId string `protobuf:"bytes,1,opt,name=lightning_id" json:"lightning_id,omitempty"`
@ -319,7 +341,7 @@ type GetInfoResponse struct {
func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} } func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} }
func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) } func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetInfoResponse) ProtoMessage() {} func (*GetInfoResponse) ProtoMessage() {}
func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} } func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
type ConfirmationUpdate struct { type ConfirmationUpdate struct {
BlockSha []byte `protobuf:"bytes,1,opt,name=block_sha,proto3" json:"block_sha,omitempty"` BlockSha []byte `protobuf:"bytes,1,opt,name=block_sha,proto3" json:"block_sha,omitempty"`
@ -330,7 +352,7 @@ type ConfirmationUpdate struct {
func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} } func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} }
func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) } func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) }
func (*ConfirmationUpdate) ProtoMessage() {} func (*ConfirmationUpdate) ProtoMessage() {}
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} } func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
type ChannelOpenUpdate struct { type ChannelOpenUpdate struct {
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point" json:"channel_point,omitempty"` ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point" json:"channel_point,omitempty"`
@ -339,7 +361,7 @@ type ChannelOpenUpdate struct {
func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} } func (m *ChannelOpenUpdate) Reset() { *m = ChannelOpenUpdate{} }
func (m *ChannelOpenUpdate) String() string { return proto.CompactTextString(m) } func (m *ChannelOpenUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelOpenUpdate) ProtoMessage() {} func (*ChannelOpenUpdate) ProtoMessage() {}
func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} } func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} }
func (m *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint { func (m *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint {
if m != nil { if m != nil {
@ -356,7 +378,7 @@ type ChannelCloseUpdate struct {
func (m *ChannelCloseUpdate) Reset() { *m = ChannelCloseUpdate{} } func (m *ChannelCloseUpdate) Reset() { *m = ChannelCloseUpdate{} }
func (m *ChannelCloseUpdate) String() string { return proto.CompactTextString(m) } func (m *ChannelCloseUpdate) String() string { return proto.CompactTextString(m) }
func (*ChannelCloseUpdate) ProtoMessage() {} func (*ChannelCloseUpdate) ProtoMessage() {}
func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} } func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} }
type CloseChannelRequest struct { type CloseChannelRequest struct {
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point" json:"channel_point,omitempty"` ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point" json:"channel_point,omitempty"`
@ -367,7 +389,7 @@ type CloseChannelRequest struct {
func (m *CloseChannelRequest) Reset() { *m = CloseChannelRequest{} } func (m *CloseChannelRequest) Reset() { *m = CloseChannelRequest{} }
func (m *CloseChannelRequest) String() string { return proto.CompactTextString(m) } func (m *CloseChannelRequest) String() string { return proto.CompactTextString(m) }
func (*CloseChannelRequest) ProtoMessage() {} func (*CloseChannelRequest) ProtoMessage() {}
func (*CloseChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{20} } func (*CloseChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} }
func (m *CloseChannelRequest) GetChannelPoint() *ChannelPoint { func (m *CloseChannelRequest) GetChannelPoint() *ChannelPoint {
if m != nil { if m != nil {
@ -386,7 +408,7 @@ type CloseStatusUpdate struct {
func (m *CloseStatusUpdate) Reset() { *m = CloseStatusUpdate{} } func (m *CloseStatusUpdate) Reset() { *m = CloseStatusUpdate{} }
func (m *CloseStatusUpdate) String() string { return proto.CompactTextString(m) } func (m *CloseStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*CloseStatusUpdate) ProtoMessage() {} func (*CloseStatusUpdate) ProtoMessage() {}
func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{21} } func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} }
type isCloseStatusUpdate_Update interface { type isCloseStatusUpdate_Update interface {
isCloseStatusUpdate_Update() isCloseStatusUpdate_Update()
@ -509,7 +531,7 @@ type OpenChannelRequest struct {
func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} } func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) } func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) }
func (*OpenChannelRequest) ProtoMessage() {} func (*OpenChannelRequest) ProtoMessage() {}
func (*OpenChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{22} } func (*OpenChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} }
func (m *OpenChannelRequest) GetTargetNode() *LightningAddress { func (m *OpenChannelRequest) GetTargetNode() *LightningAddress {
if m != nil { if m != nil {
@ -528,7 +550,7 @@ type OpenStatusUpdate struct {
func (m *OpenStatusUpdate) Reset() { *m = OpenStatusUpdate{} } func (m *OpenStatusUpdate) Reset() { *m = OpenStatusUpdate{} }
func (m *OpenStatusUpdate) String() string { return proto.CompactTextString(m) } func (m *OpenStatusUpdate) String() string { return proto.CompactTextString(m) }
func (*OpenStatusUpdate) ProtoMessage() {} func (*OpenStatusUpdate) ProtoMessage() {}
func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{23} } func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
type isOpenStatusUpdate_Update interface { type isOpenStatusUpdate_Update interface {
isOpenStatusUpdate_Update() isOpenStatusUpdate_Update()
@ -646,7 +668,7 @@ type PendingChannelRequest struct {
func (m *PendingChannelRequest) Reset() { *m = PendingChannelRequest{} } func (m *PendingChannelRequest) Reset() { *m = PendingChannelRequest{} }
func (m *PendingChannelRequest) String() string { return proto.CompactTextString(m) } func (m *PendingChannelRequest) String() string { return proto.CompactTextString(m) }
func (*PendingChannelRequest) ProtoMessage() {} func (*PendingChannelRequest) ProtoMessage() {}
func (*PendingChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{24} } func (*PendingChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} }
type PendingChannelResponse struct { type PendingChannelResponse struct {
PendingChannels []*PendingChannelResponse_PendingChannel `protobuf:"bytes,1,rep,name=pending_channels" json:"pending_channels,omitempty"` PendingChannels []*PendingChannelResponse_PendingChannel `protobuf:"bytes,1,rep,name=pending_channels" json:"pending_channels,omitempty"`
@ -655,7 +677,7 @@ type PendingChannelResponse struct {
func (m *PendingChannelResponse) Reset() { *m = PendingChannelResponse{} } func (m *PendingChannelResponse) Reset() { *m = PendingChannelResponse{} }
func (m *PendingChannelResponse) String() string { return proto.CompactTextString(m) } func (m *PendingChannelResponse) String() string { return proto.CompactTextString(m) }
func (*PendingChannelResponse) ProtoMessage() {} func (*PendingChannelResponse) ProtoMessage() {}
func (*PendingChannelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} } func (*PendingChannelResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} }
func (m *PendingChannelResponse) GetPendingChannels() []*PendingChannelResponse_PendingChannel { func (m *PendingChannelResponse) GetPendingChannels() []*PendingChannelResponse_PendingChannel {
if m != nil { if m != nil {
@ -679,7 +701,7 @@ func (m *PendingChannelResponse_PendingChannel) Reset() { *m = PendingCh
func (m *PendingChannelResponse_PendingChannel) String() string { return proto.CompactTextString(m) } func (m *PendingChannelResponse_PendingChannel) String() string { return proto.CompactTextString(m) }
func (*PendingChannelResponse_PendingChannel) ProtoMessage() {} func (*PendingChannelResponse_PendingChannel) ProtoMessage() {}
func (*PendingChannelResponse_PendingChannel) Descriptor() ([]byte, []int) { func (*PendingChannelResponse_PendingChannel) Descriptor() ([]byte, []int) {
return fileDescriptor0, []int{25, 0} return fileDescriptor0, []int{27, 0}
} }
type WalletBalanceRequest struct { type WalletBalanceRequest struct {
@ -689,7 +711,7 @@ type WalletBalanceRequest struct {
func (m *WalletBalanceRequest) Reset() { *m = WalletBalanceRequest{} } func (m *WalletBalanceRequest) Reset() { *m = WalletBalanceRequest{} }
func (m *WalletBalanceRequest) String() string { return proto.CompactTextString(m) } func (m *WalletBalanceRequest) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceRequest) ProtoMessage() {} func (*WalletBalanceRequest) ProtoMessage() {}
func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{26} } func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{28} }
type WalletBalanceResponse struct { type WalletBalanceResponse struct {
Balance float64 `protobuf:"fixed64,1,opt,name=balance" json:"balance,omitempty"` Balance float64 `protobuf:"fixed64,1,opt,name=balance" json:"balance,omitempty"`
@ -698,9 +720,11 @@ type WalletBalanceResponse struct {
func (m *WalletBalanceResponse) Reset() { *m = WalletBalanceResponse{} } func (m *WalletBalanceResponse) Reset() { *m = WalletBalanceResponse{} }
func (m *WalletBalanceResponse) String() string { return proto.CompactTextString(m) } func (m *WalletBalanceResponse) String() string { return proto.CompactTextString(m) }
func (*WalletBalanceResponse) ProtoMessage() {} func (*WalletBalanceResponse) ProtoMessage() {}
func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{27} } func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{29} }
func init() { func init() {
proto.RegisterType((*SendRequest)(nil), "lnrpc.SendRequest")
proto.RegisterType((*SendResponse)(nil), "lnrpc.SendResponse")
proto.RegisterType((*ChannelPoint)(nil), "lnrpc.ChannelPoint") proto.RegisterType((*ChannelPoint)(nil), "lnrpc.ChannelPoint")
proto.RegisterType((*LightningAddress)(nil), "lnrpc.LightningAddress") proto.RegisterType((*LightningAddress)(nil), "lnrpc.LightningAddress")
proto.RegisterType((*SendManyRequest)(nil), "lnrpc.SendManyRequest") proto.RegisterType((*SendManyRequest)(nil), "lnrpc.SendManyRequest")
@ -755,6 +779,7 @@ type LightningClient interface {
OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (Lightning_OpenChannelClient, error) OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (Lightning_OpenChannelClient, error)
CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (Lightning_CloseChannelClient, error) CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (Lightning_CloseChannelClient, error)
PendingChannels(ctx context.Context, in *PendingChannelRequest, opts ...grpc.CallOption) (*PendingChannelResponse, error) PendingChannels(ctx context.Context, in *PendingChannelRequest, opts ...grpc.CallOption) (*PendingChannelResponse, error)
SendPayment(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendPaymentClient, error)
} }
type lightningClient struct { type lightningClient struct {
@ -901,6 +926,37 @@ func (c *lightningClient) PendingChannels(ctx context.Context, in *PendingChanne
return out, nil 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 {
return nil, err
}
x := &lightningSendPaymentClient{stream}
return x, nil
}
type Lightning_SendPaymentClient interface {
Send(*SendRequest) error
Recv() (*SendResponse, error)
grpc.ClientStream
}
type lightningSendPaymentClient struct {
grpc.ClientStream
}
func (x *lightningSendPaymentClient) Send(m *SendRequest) error {
return x.ClientStream.SendMsg(m)
}
func (x *lightningSendPaymentClient) Recv() (*SendResponse, error) {
m := new(SendResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// Server API for Lightning service // Server API for Lightning service
type LightningServer interface { type LightningServer interface {
@ -914,6 +970,7 @@ type LightningServer interface {
OpenChannel(*OpenChannelRequest, Lightning_OpenChannelServer) error OpenChannel(*OpenChannelRequest, Lightning_OpenChannelServer) error
CloseChannel(*CloseChannelRequest, Lightning_CloseChannelServer) error CloseChannel(*CloseChannelRequest, Lightning_CloseChannelServer) error
PendingChannels(context.Context, *PendingChannelRequest) (*PendingChannelResponse, error) PendingChannels(context.Context, *PendingChannelRequest) (*PendingChannelResponse, error)
SendPayment(Lightning_SendPaymentServer) error
} }
func RegisterLightningServer(s *grpc.Server, srv LightningServer) { func RegisterLightningServer(s *grpc.Server, srv LightningServer) {
@ -1106,6 +1163,32 @@ func _Lightning_PendingChannels_Handler(srv interface{}, ctx context.Context, de
return interceptor(ctx, in, info, handler) return interceptor(ctx, in, info, handler)
} }
func _Lightning_SendPayment_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(LightningServer).SendPayment(&lightningSendPaymentServer{stream})
}
type Lightning_SendPaymentServer interface {
Send(*SendResponse) error
Recv() (*SendRequest, error)
grpc.ServerStream
}
type lightningSendPaymentServer struct {
grpc.ServerStream
}
func (x *lightningSendPaymentServer) Send(m *SendResponse) error {
return x.ServerStream.SendMsg(m)
}
func (x *lightningSendPaymentServer) Recv() (*SendRequest, error) {
m := new(SendRequest)
if err := x.ServerStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
var _Lightning_serviceDesc = grpc.ServiceDesc{ var _Lightning_serviceDesc = grpc.ServiceDesc{
ServiceName: "lnrpc.Lightning", ServiceName: "lnrpc.Lightning",
HandlerType: (*LightningServer)(nil), HandlerType: (*LightningServer)(nil),
@ -1154,93 +1237,104 @@ var _Lightning_serviceDesc = grpc.ServiceDesc{
Handler: _Lightning_CloseChannel_Handler, Handler: _Lightning_CloseChannel_Handler,
ServerStreams: true, ServerStreams: true,
}, },
{
StreamName: "SendPayment",
Handler: _Lightning_SendPayment_Handler,
ServerStreams: true,
ClientStreams: true,
},
}, },
} }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 1341 bytes of a gzipped FileDescriptorProto // 1412 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x57, 0x4b, 0x6f, 0x13, 0x57, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x57, 0x4d, 0x6f, 0xdb, 0x46,
0x14, 0xc6, 0xaf, 0xd8, 0x3e, 0x8e, 0x13, 0xfb, 0xe6, 0x65, 0x06, 0x90, 0xe8, 0x08, 0x50, 0x84, 0x13, 0x0e, 0xf5, 0x61, 0x49, 0x23, 0xcb, 0x96, 0xd6, 0x5f, 0x0a, 0x93, 0x00, 0x79, 0x89, 0x24,
0x68, 0xa0, 0xa1, 0x0b, 0x04, 0x2a, 0x55, 0x30, 0x29, 0xa6, 0xa4, 0x49, 0x54, 0x07, 0xa1, 0xae, 0x30, 0x82, 0xbc, 0x4e, 0xea, 0xf4, 0x10, 0x24, 0x68, 0x0a, 0xc7, 0x71, 0xe3, 0x34, 0xae, 0xed,
0x46, 0xe3, 0xf1, 0x0d, 0x1e, 0x31, 0x9e, 0x99, 0xfa, 0xde, 0x01, 0xdc, 0x45, 0xa5, 0x6e, 0xba, 0xd6, 0x0e, 0x82, 0x9e, 0x08, 0x8a, 0x5c, 0x47, 0x44, 0x28, 0x92, 0xd5, 0x2e, 0x93, 0xa8, 0x87,
0xed, 0xb6, 0xbf, 0xa2, 0xcb, 0xfe, 0x81, 0x2e, 0x2b, 0xf5, 0x37, 0xf5, 0xdc, 0xc7, 0x78, 0x5e, 0x02, 0xbd, 0xf4, 0xda, 0x6b, 0x7f, 0x45, 0xff, 0x44, 0x8f, 0x05, 0xfa, 0x63, 0xfa, 0x0b, 0x3a,
0x36, 0x52, 0xd5, 0xe5, 0x9c, 0x7b, 0x9e, 0xdf, 0x3d, 0xe7, 0x3b, 0x77, 0xa0, 0x39, 0x0b, 0x9d, 0xfb, 0x41, 0xf1, 0x4b, 0x0e, 0x50, 0xf4, 0x24, 0x70, 0x76, 0xf6, 0x99, 0x99, 0x67, 0x67, 0x9e,
0x83, 0x70, 0x16, 0xf0, 0x80, 0xd4, 0x3c, 0x1f, 0x3f, 0xcc, 0xc7, 0xb0, 0xde, 0x9f, 0xd8, 0xbe, 0x5d, 0x41, 0x67, 0x1a, 0xbb, 0x3b, 0xf1, 0x34, 0xe2, 0x11, 0x69, 0x06, 0x21, 0x7e, 0x58, 0xdf,
0x4f, 0xbd, 0xf3, 0xc0, 0xf5, 0x39, 0xd9, 0x86, 0xf5, 0xcb, 0xc8, 0x1f, 0xbb, 0xfe, 0x5b, 0x8b, 0x42, 0xf7, 0x8c, 0x86, 0xde, 0x77, 0xf4, 0x87, 0x84, 0x32, 0x4e, 0x96, 0xa1, 0xe1, 0xe1, 0xef,
0x7f, 0x74, 0xc7, 0xbd, 0xd2, 0xcd, 0xd2, 0xfe, 0xba, 0x90, 0x06, 0x11, 0x0f, 0x23, 0x6e, 0xb9, 0xd0, 0xb8, 0x69, 0x6c, 0x2f, 0x93, 0x2e, 0xd4, 0x9d, 0x09, 0x1f, 0xd6, 0xf0, 0xa3, 0x4e, 0xd6,
0xfe, 0x98, 0x7e, 0xec, 0x95, 0x51, 0xda, 0x36, 0xbf, 0x84, 0xce, 0x89, 0xfb, 0x76, 0xc2, 0x7d, 0x61, 0x39, 0x76, 0x66, 0x13, 0x1a, 0x72, 0x7b, 0xec, 0xb0, 0xf1, 0xb0, 0x2e, 0x5d, 0x06, 0xd0,
0xd4, 0x3e, 0x1a, 0x8f, 0x67, 0x94, 0x31, 0x42, 0x00, 0xc2, 0x68, 0xf4, 0x8a, 0xce, 0x07, 0x36, 0xb9, 0x70, 0x18, 0xb7, 0x19, 0x82, 0x0c, 0x1b, 0x68, 0x6a, 0x5b, 0x2b, 0xb0, 0xac, 0x20, 0x59,
0x9b, 0x48, 0xeb, 0x26, 0x59, 0x87, 0xea, 0x24, 0x60, 0x5c, 0x5a, 0x35, 0xcd, 0x5f, 0x4b, 0xb0, 0x1c, 0x85, 0x8c, 0x5a, 0x8f, 0x61, 0x79, 0x7f, 0xec, 0x84, 0x21, 0x0d, 0x4e, 0x23, 0x3f, 0xe4,
0x39, 0xa4, 0xfe, 0xf8, 0x3b, 0xdb, 0x9f, 0x7f, 0x4f, 0x7f, 0x8c, 0x28, 0xe3, 0xe4, 0x29, 0xac, 0x02, 0xe8, 0x22, 0x09, 0x3d, 0x3f, 0x7c, 0x6b, 0xf3, 0x8f, 0xbe, 0xa7, 0x63, 0xa1, 0x35, 0x4a,
0x0b, 0x07, 0x17, 0xc1, 0xd1, 0x34, 0x88, 0x7c, 0x8e, 0x76, 0x95, 0xfd, 0xd6, 0xe1, 0xfe, 0x81, 0x78, 0x9c, 0x70, 0xdb, 0x0f, 0x3d, 0xfa, 0x51, 0x06, 0xed, 0x59, 0x9f, 0x43, 0xff, 0xc8, 0x7f,
0xcc, 0xf1, 0x20, 0xa7, 0x7d, 0x90, 0x56, 0x3d, 0xf6, 0xf9, 0x6c, 0x6e, 0x3c, 0x84, 0x6e, 0x41, 0x3b, 0xe6, 0x21, 0x7a, 0xef, 0x79, 0xde, 0x94, 0x32, 0x46, 0x08, 0x40, 0x9c, 0x8c, 0x5e, 0xd1,
0x48, 0x5a, 0x50, 0x79, 0x47, 0xe7, 0x3a, 0x87, 0x36, 0xd4, 0xde, 0xdb, 0x5e, 0x44, 0x65, 0x12, 0xd9, 0xa1, 0x48, 0x43, 0xec, 0xee, 0x88, 0xbc, 0xc7, 0x11, 0x53, 0xa9, 0x76, 0xac, 0x5f, 0x0c,
0x95, 0xc7, 0xe5, 0x47, 0x25, 0xf3, 0x26, 0x74, 0x12, 0xcf, 0x2c, 0x0c, 0x7c, 0x46, 0x45, 0xaa, 0x58, 0x15, 0x29, 0x7c, 0xe3, 0x84, 0xb3, 0xb4, 0xb2, 0xa7, 0xb0, 0x2c, 0x00, 0xce, 0xa3, 0xbd,
0x8b, 0xb2, 0x9b, 0xe6, 0x03, 0xa5, 0xd1, 0x47, 0x64, 0x58, 0x9c, 0x2a, 0x6a, 0xd8, 0x18, 0x4a, 0x49, 0x94, 0x84, 0xa2, 0xc2, 0xfa, 0x76, 0x77, 0x77, 0x7b, 0x47, 0xd2, 0xb0, 0x53, 0xf2, 0xde,
0xbb, 0xdd, 0x80, 0x35, 0x5b, 0xa5, 0x2c, 0xfd, 0x9a, 0x9f, 0x41, 0x37, 0x65, 0xb1, 0xd4, 0xe9, 0xc9, 0xbb, 0x1e, 0x84, 0x7c, 0x3a, 0x33, 0x1f, 0xc2, 0xa0, 0x62, 0x14, 0x04, 0xbd, 0xa3, 0x33,
0xef, 0x25, 0xe8, 0x9e, 0xd2, 0x0f, 0x1a, 0xb0, 0xd8, 0xed, 0x21, 0xea, 0xcc, 0x43, 0x2a, 0x75, 0x9d, 0x43, 0x0f, 0x9a, 0xef, 0x9d, 0x20, 0xa1, 0x8a, 0xaf, 0xc7, 0xb5, 0x47, 0x86, 0x75, 0x13,
0x36, 0x0e, 0x6f, 0xe9, 0xca, 0x0b, 0x7a, 0x07, 0xfa, 0xf3, 0x02, 0x75, 0xcd, 0x33, 0x68, 0xa5, 0xfa, 0x19, 0xb2, 0xa2, 0x43, 0xa4, 0x3a, 0x2f, 0xbb, 0x63, 0x3d, 0x50, 0x1e, 0xfb, 0xc8, 0x0c,
0x3e, 0xc9, 0x1e, 0x6c, 0xbd, 0x79, 0x79, 0x71, 0x7a, 0x3c, 0x1c, 0x5a, 0xe7, 0xaf, 0x9f, 0xbd, 0xcb, 0x1d, 0x82, 0x83, 0xa1, 0x34, 0xec, 0x0a, 0x2c, 0x39, 0x2a, 0x65, 0x89, 0x6b, 0xfd, 0x0f,
0x3a, 0xfe, 0xc1, 0x1a, 0x1c, 0x0d, 0x07, 0x9d, 0x2b, 0x64, 0x17, 0x08, 0x4a, 0x2f, 0x8e, 0x9f, 0x06, 0xb9, 0x1d, 0x0b, 0x41, 0x7f, 0x33, 0x60, 0x70, 0x4c, 0x3f, 0x68, 0xc2, 0x52, 0xd8, 0x5d,
0x67, 0xe4, 0x25, 0xb2, 0x09, 0xad, 0xb4, 0xa0, 0x6c, 0xde, 0x46, 0xc5, 0x54, 0x44, 0x9d, 0xfe, 0xf4, 0x99, 0xc5, 0x54, 0xfa, 0xac, 0xec, 0xde, 0xd2, 0x95, 0x57, 0xfc, 0x76, 0xf4, 0xe7, 0x39,
0x26, 0xd4, 0x6d, 0x25, 0xd2, 0x15, 0x3c, 0x01, 0xd2, 0x0f, 0xb0, 0x65, 0x1c, 0x7e, 0x4e, 0xe9, 0xfa, 0x5a, 0x27, 0xd0, 0xcd, 0x7d, 0x92, 0x2d, 0x58, 0x7b, 0xf3, 0xf2, 0xfc, 0xf8, 0xe0, 0xec,
0x2c, 0xae, 0xe0, 0x76, 0x0a, 0x98, 0xd6, 0xe1, 0x9e, 0xae, 0x20, 0xdf, 0x20, 0xe6, 0x1d, 0xd8, 0xcc, 0x3e, 0x7d, 0xfd, 0xec, 0xd5, 0xc1, 0xf7, 0xf6, 0xe1, 0xde, 0xd9, 0x61, 0xff, 0x0a, 0xd9,
0xca, 0x18, 0x27, 0x41, 0x42, 0xfc, 0xb6, 0x34, 0x4c, 0x35, 0xf3, 0x39, 0x54, 0x07, 0x17, 0x27, 0x04, 0x82, 0xd6, 0xf3, 0x83, 0xe7, 0x05, 0xbb, 0x41, 0x56, 0xa1, 0x9b, 0x37, 0xd4, 0xac, 0xdb,
0x7d, 0xec, 0xa7, 0xb2, 0x96, 0x55, 0xf2, 0x68, 0x93, 0x2e, 0x34, 0x27, 0xd8, 0x66, 0x96, 0x17, 0xe8, 0x98, 0x8b, 0xa8, 0xd3, 0x5f, 0x85, 0x96, 0xa3, 0x4c, 0xba, 0x82, 0x27, 0x40, 0xf6, 0x23,
0x38, 0xef, 0x7a, 0x15, 0xd9, 0xa9, 0x78, 0xcf, 0x3c, 0xb0, 0x22, 0xd6, 0xab, 0xe2, 0x67, 0xc3, 0x6c, 0x19, 0x97, 0x9f, 0x52, 0x3a, 0x4d, 0x2b, 0xb8, 0x9d, 0x23, 0xa6, 0xbb, 0xbb, 0xa5, 0x2b,
0xfc, 0xa7, 0x04, 0xed, 0x23, 0x87, 0xbb, 0xef, 0xa9, 0xee, 0x72, 0x61, 0x33, 0xa3, 0xd3, 0x80, 0x28, 0x37, 0x88, 0x75, 0x07, 0xd6, 0x0a, 0x9b, 0xb3, 0x20, 0x31, 0x7e, 0xdb, 0x9a, 0xa6, 0xa6,
0xd3, 0x38, 0x54, 0x93, 0xec, 0x40, 0xdb, 0x51, 0xa7, 0x56, 0x28, 0x86, 0x40, 0x35, 0x2a, 0xe9, 0xf5, 0x1c, 0x1a, 0x87, 0xe7, 0x47, 0xfb, 0xd8, 0x4f, 0x35, 0x6d, 0xab, 0x97, 0xd9, 0x16, 0xfd,
0x40, 0xc3, 0xb1, 0x43, 0xdb, 0x71, 0xf9, 0x5c, 0x3a, 0xaf, 0x08, 0x45, 0x0c, 0x65, 0x7b, 0xd6, 0x2d, 0xba, 0xdd, 0x0e, 0x22, 0xf7, 0x9d, 0x6e, 0x79, 0x3c, 0x67, 0x1e, 0xd9, 0x09, 0xd3, 0xed,
0xc8, 0xf6, 0x6c, 0xdf, 0xa1, 0x32, 0x48, 0x05, 0xf1, 0xdd, 0xd0, 0x2e, 0x63, 0x79, 0x4d, 0xca, 0xfe, 0x97, 0x01, 0xbd, 0x3d, 0x97, 0xfb, 0xef, 0xa9, 0xee, 0x72, 0xb1, 0x67, 0x4a, 0x27, 0x11,
0xaf, 0x42, 0x37, 0xc2, 0xda, 0x38, 0xf7, 0xe8, 0xd8, 0x1a, 0x51, 0x75, 0xb4, 0x26, 0x8f, 0x4c, 0xa7, 0x69, 0xa8, 0x0e, 0xd9, 0x80, 0x9e, 0xab, 0x56, 0xed, 0x58, 0x0c, 0x81, 0x6a, 0x54, 0xd2,
0x68, 0x87, 0x54, 0x8d, 0xd9, 0x84, 0x7b, 0x0e, 0xeb, 0xd5, 0x65, 0xc7, 0xb7, 0x34, 0x6a, 0xb2, 0x87, 0xb6, 0xeb, 0xc4, 0x8e, 0xeb, 0xf3, 0x99, 0x04, 0xaf, 0x0b, 0x47, 0x0c, 0xe5, 0x04, 0xf6,
0xf2, 0x2d, 0x68, 0xf9, 0xd1, 0xd4, 0x8a, 0xc2, 0xb1, 0xcd, 0x29, 0xeb, 0x35, 0xd0, 0xb0, 0x6a, 0xc8, 0x09, 0x9c, 0xd0, 0xa5, 0x32, 0x48, 0x1d, 0xf9, 0x5d, 0xd1, 0x90, 0xa9, 0xbd, 0x29, 0xed,
0xfe, 0x55, 0x82, 0xaa, 0x00, 0x4e, 0x8c, 0xa4, 0x17, 0x63, 0x9b, 0x94, 0x92, 0x82, 0x51, 0x14, 0x57, 0x61, 0x90, 0x60, 0x6d, 0x9c, 0x07, 0xd4, 0xb3, 0x47, 0x54, 0x2d, 0x2d, 0xc9, 0x25, 0x0b,
0x51, 0x4b, 0x5f, 0x5e, 0x45, 0x6a, 0x20, 0xa0, 0xa3, 0x39, 0xfa, 0xb3, 0x18, 0xc5, 0x4a, 0x45, 0x7a, 0x31, 0x55, 0x63, 0x36, 0xe6, 0x81, 0xcb, 0x86, 0x2d, 0xd9, 0xf1, 0x5d, 0xcd, 0x9a, 0xac,
0x01, 0xd5, 0x44, 0x36, 0xa3, 0xce, 0x7b, 0x99, 0x7c, 0x55, 0x54, 0xcf, 0x6c, 0xae, 0xb4, 0x54, 0x7c, 0x0d, 0xba, 0x61, 0x32, 0xb1, 0x93, 0xd8, 0x73, 0x38, 0x65, 0xc3, 0x36, 0x6e, 0x6c, 0x58,
0xce, 0x5a, 0x22, 0x75, 0xea, 0x52, 0x82, 0xce, 0x5d, 0x7f, 0x84, 0x17, 0x32, 0x96, 0xd9, 0x35, 0x7f, 0x18, 0xd0, 0x10, 0xc4, 0x89, 0x91, 0x0c, 0x52, 0x6e, 0xb3, 0x52, 0x72, 0x34, 0x8a, 0x22,
0xc8, 0x1d, 0x84, 0x4c, 0x21, 0xc9, 0x7a, 0x4d, 0x59, 0xd1, 0xb6, 0xae, 0x28, 0x73, 0x09, 0x26, 0x9a, 0xf9, 0xc3, 0xab, 0x4b, 0x0f, 0x24, 0x74, 0x34, 0x43, 0x3c, 0x21, 0x0a, 0x5c, 0x16, 0xd0,
0x11, 0xcc, 0xc1, 0x64, 0x07, 0xc4, 0x9d, 0x6d, 0xde, 0x87, 0x6e, 0x4a, 0xa6, 0xdb, 0xc2, 0x80, 0xc8, 0x6c, 0x53, 0xea, 0xbe, 0x97, 0xc9, 0x37, 0x44, 0xf5, 0xcc, 0xe1, 0xca, 0x4b, 0xe5, 0xac,
0x9a, 0xa8, 0x87, 0x69, 0x46, 0x88, 0xf1, 0x11, 0x4a, 0x66, 0x07, 0x36, 0x5e, 0x50, 0xfe, 0xd2, 0x2d, 0xd2, 0xa7, 0x25, 0x2d, 0x08, 0xee, 0x87, 0x23, 0x3c, 0x10, 0x4f, 0x66, 0xd7, 0x26, 0x77,
0xbf, 0x0c, 0x62, 0x17, 0xbf, 0x21, 0xb5, 0x2c, 0x44, 0xda, 0xc3, 0x72, 0x9c, 0x7a, 0xd0, 0x71, 0x90, 0x32, 0xc5, 0x24, 0x1b, 0x76, 0x64, 0x45, 0xeb, 0xba, 0xa2, 0xc2, 0x21, 0x58, 0x44, 0x28,
0xc7, 0x58, 0x1a, 0xde, 0xad, 0x15, 0xe3, 0xa3, 0x6e, 0xfd, 0x3a, 0x6c, 0x0b, 0xd4, 0xe3, 0xdb, 0x07, 0x93, 0x1d, 0x90, 0x76, 0xb6, 0x75, 0x1f, 0x06, 0x39, 0x9b, 0x6e, 0x0b, 0x13, 0x9a, 0xa2,
0x59, 0x94, 0x23, 0xd0, 0x6b, 0x93, 0x6b, 0xb0, 0x25, 0x4e, 0x6d, 0x59, 0x4d, 0x72, 0x58, 0x95, 0x1e, 0xa6, 0x15, 0x21, 0xe5, 0x47, 0x38, 0x59, 0x7d, 0x58, 0x79, 0x41, 0xf9, 0xcb, 0xf0, 0x22,
0x87, 0xd8, 0x5a, 0xca, 0x54, 0x24, 0x5c, 0x93, 0x14, 0xf9, 0x5a, 0x8e, 0xca, 0xa5, 0x3b, 0x9b, 0x4a, 0x21, 0x7e, 0x45, 0x69, 0x99, 0x9b, 0x34, 0xc2, 0x62, 0x9e, 0x86, 0xd0, 0xf7, 0x3d, 0x2c,
0xda, 0xdc, 0x0d, 0xfc, 0xd7, 0xf2, 0x2e, 0x85, 0xe2, 0x48, 0xf4, 0xac, 0xc5, 0x26, 0x76, 0xc2, 0x0d, 0xcf, 0xd6, 0x4e, 0xf9, 0x51, 0xa7, 0x7e, 0x1d, 0xd6, 0x05, 0xeb, 0xe9, 0xe9, 0xcc, 0xcb,
0xb0, 0x4a, 0x34, 0xa1, 0x22, 0x5b, 0x7d, 0x7b, 0xd8, 0x59, 0xc2, 0xa3, 0x83, 0x2e, 0x98, 0xe5, 0x11, 0xec, 0xf5, 0xc8, 0x35, 0x58, 0x13, 0xab, 0x8e, 0xac, 0x26, 0x5b, 0x6c, 0xc8, 0x45, 0x6c,
0xd1, 0x4b, 0xae, 0xd2, 0x30, 0xbf, 0x86, 0xae, 0x86, 0xf2, 0x0c, 0x13, 0xd5, 0x5e, 0xef, 0xe6, 0x2d, 0xb5, 0x55, 0x24, 0xdc, 0x94, 0x12, 0xf9, 0x5a, 0x8e, 0xca, 0x85, 0x3f, 0x9d, 0x38, 0xdc,
0xdb, 0x58, 0x4d, 0xe2, 0x96, 0xc6, 0x2c, 0x4d, 0xf3, 0x72, 0x84, 0xd5, 0x77, 0xdf, 0x0b, 0x18, 0x8f, 0xc2, 0xd7, 0xf2, 0x2c, 0x85, 0xe3, 0x48, 0xf4, 0xac, 0xcd, 0xc6, 0x4e, 0xa6, 0xb0, 0xca,
0xd5, 0x1e, 0x30, 0x09, 0x07, 0x3f, 0x73, 0xe4, 0x8f, 0xb7, 0xcc, 0x22, 0xc7, 0x89, 0x21, 0x6a, 0x34, 0xa6, 0x22, 0x5b, 0x7d, 0x7a, 0xd8, 0x59, 0x02, 0xd1, 0x45, 0x08, 0x66, 0x07, 0xf4, 0x82,
0x98, 0x21, 0x8e, 0xb0, 0xb0, 0xd2, 0x1e, 0x62, 0x02, 0xf8, 0x0f, 0xf1, 0x45, 0xc7, 0x71, 0x77, 0xab, 0x34, 0xac, 0x2f, 0x61, 0xa0, 0xa9, 0x3c, 0xc1, 0x44, 0x35, 0xea, 0xdd, 0x72, 0x1b, 0xab,
0x4a, 0x2d, 0xcf, 0x9d, 0xba, 0xf1, 0x34, 0xe3, 0xb8, 0xd8, 0x9e, 0x17, 0x7c, 0xb0, 0x2e, 0x83, 0x49, 0x5c, 0xd3, 0x9c, 0xe5, 0x65, 0x5e, 0x8e, 0xb0, 0xfa, 0xde, 0x0f, 0x22, 0x46, 0x35, 0x02,
0x99, 0x83, 0xe0, 0x8a, 0x10, 0xb2, 0xde, 0x86, 0xf9, 0x0b, 0x72, 0xa6, 0x0c, 0x39, 0xe4, 0x36, 0x26, 0xe1, 0xe2, 0x67, 0x49, 0xfc, 0xf1, 0x94, 0x59, 0xe2, 0xba, 0x29, 0x45, 0x6d, 0x2b, 0xc6,
0x8f, 0x98, 0x4e, 0xf7, 0x0b, 0x4c, 0x37, 0x05, 0xae, 0x8e, 0x77, 0x35, 0x8e, 0x57, 0xc0, 0x7d, 0x11, 0x16, 0xbb, 0x34, 0x42, 0x2a, 0x00, 0xff, 0x22, 0xbe, 0xe8, 0x38, 0xee, 0x4f, 0xa8, 0x1d,
0x70, 0x85, 0xdc, 0x07, 0x10, 0x39, 0x6a, 0xe7, 0xe5, 0xac, 0x41, 0x01, 0x90, 0xc1, 0x95, 0x67, 0xf8, 0x13, 0x3f, 0x9d, 0x66, 0x1c, 0x17, 0x27, 0x08, 0xa2, 0x0f, 0xf6, 0x45, 0x34, 0x75, 0x91,
0x0d, 0x58, 0x53, 0x03, 0x28, 0x26, 0x8f, 0x08, 0xb4, 0x73, 0x55, 0xe3, 0x15, 0x71, 0x7b, 0xf6, 0x5c, 0x11, 0x42, 0xd6, 0xdb, 0xb6, 0x7e, 0x46, 0xcd, 0x94, 0x21, 0xcf, 0xb8, 0xc3, 0x13, 0xa6,
0x96, 0x72, 0x2b, 0xc3, 0x5f, 0xe4, 0x1e, 0xb4, 0xb4, 0xdc, 0x0f, 0xc6, 0x71, 0xa8, 0x55, 0xac, 0xd3, 0xfd, 0x0c, 0xd3, 0xcd, 0x91, 0xab, 0xe3, 0x5d, 0x4d, 0xe3, 0x55, 0x78, 0x3f, 0xbc, 0x42,
0x28, 0xba, 0x4e, 0x31, 0x4b, 0xbc, 0x7c, 0x35, 0xcf, 0x29, 0xde, 0xb9, 0x01, 0x3b, 0x9a, 0x60, 0xee, 0x03, 0x88, 0x1c, 0x35, 0x78, 0xad, 0xb8, 0xa1, 0x42, 0xc8, 0xe1, 0x95, 0x67, 0x6d, 0x58,
0x72, 0xc7, 0x8a, 0x7f, 0xf6, 0x60, 0xd3, 0x09, 0xa6, 0x53, 0x97, 0x31, 0x2c, 0xd5, 0x62, 0xee, 0x52, 0x03, 0x28, 0x26, 0x8f, 0x08, 0xb6, 0x4b, 0x55, 0xe3, 0x11, 0x71, 0x67, 0xfa, 0x96, 0x72,
0x4f, 0x31, 0x01, 0xe9, 0x86, 0x94, 0xed, 0x23, 0x87, 0xb8, 0x6d, 0xfe, 0x0c, 0x1d, 0x51, 0xc4, 0xbb, 0xa0, 0x5f, 0xe4, 0x1e, 0x74, 0xb5, 0x3d, 0x8c, 0xbc, 0x34, 0xd4, 0x65, 0xaa, 0x28, 0xba,
0xff, 0xc5, 0xf1, 0x73, 0x68, 0x4a, 0x1c, 0x03, 0xf4, 0xa5, 0x6b, 0xeb, 0x65, 0x61, 0x4c, 0x1a, 0x4e, 0x29, 0x4b, 0x7a, 0xf9, 0x6a, 0x9d, 0x53, 0xba, 0x73, 0x03, 0x36, 0xb4, 0xc0, 0x94, 0x96,
0x33, 0x83, 0xe2, 0x57, 0xb0, 0x73, 0xae, 0x46, 0x2b, 0x87, 0xe3, 0x2d, 0x58, 0x63, 0x32, 0x29, 0x95, 0xfe, 0x6c, 0xc1, 0xaa, 0x1b, 0x4d, 0x26, 0x3e, 0x63, 0x58, 0xaa, 0xcd, 0xfc, 0x1f, 0x53,
0xbd, 0x02, 0xb7, 0xb3, 0xee, 0x54, 0xc2, 0xe6, 0x1f, 0x65, 0xd8, 0xcd, 0xdb, 0xeb, 0x41, 0xff, 0x01, 0xd2, 0x0d, 0x29, 0xdb, 0x47, 0x0e, 0x71, 0xcf, 0xfa, 0x09, 0xfa, 0xa2, 0x88, 0xff, 0xca,
0x06, 0x3a, 0x85, 0xa1, 0x55, 0xac, 0x71, 0x6f, 0xc1, 0x1a, 0xcb, 0x0c, 0x73, 0x62, 0xe3, 0xef, 0xe3, 0xff, 0xa1, 0x23, 0x79, 0x8c, 0x10, 0x4b, 0xd7, 0x36, 0x2c, 0xd2, 0x98, 0x35, 0x66, 0x81,
0x12, 0x6c, 0x64, 0x45, 0x85, 0xe5, 0x54, 0x20, 0x95, 0xf2, 0xf2, 0x3d, 0x52, 0x29, 0xec, 0x91, 0xc5, 0x2f, 0x60, 0xe3, 0x54, 0x8d, 0x56, 0x89, 0xc7, 0x5b, 0xb0, 0xc4, 0x64, 0x52, 0xfa, 0x0a,
0xea, 0xf2, 0x3d, 0x52, 0x5b, 0xb1, 0x47, 0x14, 0xf1, 0xe6, 0xc7, 0xb2, 0x2e, 0xdd, 0x26, 0x80, 0x5c, 0x2f, 0xc2, 0xa9, 0x84, 0xad, 0xdf, 0x6b, 0xb0, 0x59, 0xde, 0xaf, 0x07, 0xfd, 0x2b, 0xe8,
0x35, 0x3e, 0x01, 0xd8, 0x3d, 0xd8, 0x7e, 0x83, 0x53, 0x45, 0xf9, 0x33, 0xe5, 0x32, 0x86, 0x1b, 0x57, 0x86, 0x56, 0xa9, 0xc6, 0xbd, 0xb9, 0x6a, 0x2c, 0xda, 0x58, 0x32, 0x9b, 0x7f, 0x1a, 0xb0,
0x7d, 0x7e, 0x70, 0xb9, 0x8f, 0xbd, 0x67, 0x05, 0xbe, 0xa7, 0x5e, 0x49, 0x0d, 0x73, 0x1f, 0x76, 0x52, 0x34, 0x55, 0x2e, 0xa7, 0x8a, 0xa8, 0xd4, 0x16, 0xdf, 0x23, 0xf5, 0xca, 0x3d, 0xd2, 0x58,
0x72, 0xda, 0xc9, 0x7a, 0x8e, 0x73, 0x12, 0x9a, 0xa5, 0xbb, 0x87, 0xd0, 0xce, 0x04, 0x22, 0x75, 0x7c, 0x8f, 0x34, 0x2f, 0xb9, 0x47, 0x96, 0xd2, 0xc7, 0x5d, 0x61, 0x2c, 0x5b, 0x12, 0x36, 0x23,
0xa8, 0x1c, 0x9d, 0x9c, 0xe0, 0x6b, 0xa3, 0x05, 0xf5, 0xb3, 0xf3, 0xe3, 0xd3, 0x97, 0xa7, 0x2f, 0xac, 0xfd, 0x09, 0xc2, 0xee, 0xc1, 0xfa, 0x1b, 0x9c, 0x2a, 0xca, 0x9f, 0x29, 0xc8, 0x94, 0x6e,
0xf0, 0x89, 0x81, 0x1f, 0xfd, 0x93, 0xb3, 0xa1, 0xf8, 0x28, 0x1f, 0xfe, 0x59, 0x83, 0xe6, 0xa2, 0xc4, 0xfc, 0xe0, 0xf3, 0x10, 0x7b, 0xcf, 0x8e, 0xc2, 0x40, 0xbd, 0x92, 0xda, 0xd6, 0x36, 0x6c,
0xf3, 0xc9, 0xb7, 0xd0, 0xce, 0xc4, 0x22, 0xd7, 0x74, 0x01, 0xcb, 0xf2, 0x35, 0xae, 0x2f, 0x3f, 0x94, 0xbc, 0xb3, 0xeb, 0x39, 0xcd, 0x49, 0x78, 0x1a, 0x77, 0x77, 0xa1, 0x57, 0x08, 0x44, 0x5a,
0xd4, 0xe9, 0x3d, 0x81, 0x46, 0xfc, 0x94, 0x23, 0xbb, 0xcb, 0x5f, 0x8d, 0xc6, 0x5e, 0x41, 0xae, 0x50, 0xdf, 0x3b, 0x3a, 0xc2, 0xd7, 0x46, 0x17, 0x5a, 0x27, 0xa7, 0x07, 0xc7, 0x2f, 0x8f, 0x5f,
0x8d, 0x9f, 0x42, 0x73, 0xf1, 0x66, 0x23, 0x69, 0xad, 0xf4, 0xbb, 0xcf, 0xe8, 0x15, 0x0f, 0xb4, 0xe0, 0x13, 0x03, 0x3f, 0xf6, 0x8f, 0x4e, 0xce, 0xc4, 0x47, 0x6d, 0xf7, 0xef, 0x26, 0x74, 0xe6,
0xfd, 0x11, 0x40, 0xf2, 0x6a, 0x22, 0xbd, 0x55, 0x4f, 0x37, 0xe3, 0xea, 0x92, 0x13, 0xed, 0xe2, 0x9d, 0x4f, 0xbe, 0x86, 0x5e, 0x21, 0x16, 0xb9, 0xa6, 0x0b, 0x58, 0x94, 0xaf, 0x79, 0x7d, 0xf1,
0x39, 0xb4, 0x52, 0x8f, 0x22, 0x92, 0x1a, 0xbd, 0xdc, 0x2b, 0xcb, 0x30, 0x96, 0x1d, 0x25, 0x85, 0xa2, 0x4e, 0xef, 0x09, 0xb4, 0xd3, 0xa7, 0x1c, 0xd9, 0x5c, 0xfc, 0x6a, 0x34, 0xb7, 0x2a, 0x76,
0x2c, 0x36, 0x28, 0x49, 0xa8, 0x26, 0xbb, 0x67, 0x17, 0x85, 0x14, 0x97, 0xed, 0x23, 0xa8, 0xeb, 0xbd, 0xf9, 0x29, 0x74, 0xe6, 0x6f, 0x36, 0x92, 0xf7, 0xca, 0xbf, 0xfb, 0xcc, 0x61, 0x75, 0x41,
0xed, 0x49, 0x76, 0xb4, 0x52, 0x76, 0xc1, 0x1a, 0xbb, 0x79, 0x71, 0x92, 0x7f, 0x8a, 0x1a, 0x17, 0xef, 0xdf, 0x03, 0xc8, 0x5e, 0x4d, 0x64, 0x78, 0xd9, 0xd3, 0xcd, 0xbc, 0xba, 0x60, 0x45, 0x43,
0xf9, 0x17, 0xe9, 0xd2, 0x58, 0xc9, 0x12, 0x0f, 0x4a, 0xe4, 0x05, 0xfe, 0x8b, 0xa4, 0xf6, 0x0a, 0x3c, 0x87, 0x6e, 0xee, 0x51, 0x44, 0x72, 0xa3, 0x57, 0x7a, 0x65, 0x99, 0xe6, 0xa2, 0xa5, 0xac,
0x59, 0xd4, 0x5a, 0x5c, 0x36, 0xc6, 0x6a, 0xd2, 0x46, 0x47, 0xa7, 0xb0, 0x99, 0x9d, 0x60, 0x24, 0x90, 0xf9, 0x0d, 0x4a, 0x32, 0xa9, 0x29, 0xde, 0xb3, 0xf3, 0x42, 0xaa, 0x97, 0xed, 0x23, 0x68,
0xd8, 0x15, 0x1c, 0xa0, 0xbc, 0xdd, 0xf8, 0x24, 0x43, 0x8c, 0xd6, 0xe4, 0x2f, 0xd3, 0xc3, 0x7f, 0xe9, 0xdb, 0x93, 0x6c, 0x68, 0xa7, 0xe2, 0x05, 0x6b, 0x6e, 0x96, 0xcd, 0x59, 0xfe, 0x39, 0x69,
0x03, 0x00, 0x00, 0xff, 0xff, 0xc9, 0x77, 0x85, 0x99, 0x3f, 0x0d, 0x00, 0x00, 0x9c, 0xe7, 0x5f, 0x95, 0x4b, 0xf3, 0x52, 0x95, 0x78, 0x60, 0x90, 0x17, 0xf8, 0x5f, 0x24, 0x77,
0xaf, 0x90, 0x79, 0xad, 0xd5, 0xcb, 0xc6, 0xbc, 0x5c, 0xb4, 0x11, 0xe8, 0x18, 0x56, 0x8b, 0x13,
0x8c, 0x02, 0x7b, 0x89, 0x06, 0x28, 0xb4, 0x1b, 0x9f, 0x54, 0x08, 0xf2, 0x58, 0xfd, 0x0f, 0x3b,
0x55, 0xff, 0xb0, 0x08, 0xc9, 0xb5, 0x42, 0x8a, 0xb0, 0x56, 0xb0, 0xa9, 0x7d, 0xdb, 0xc6, 0x03,
0x63, 0xb4, 0x24, 0xff, 0xd1, 0x3d, 0xfc, 0x27, 0x00, 0x00, 0xff, 0xff, 0xd8, 0xf3, 0x62, 0x93,
0xde, 0x0d, 0x00, 0x00,
} }

@ -15,6 +15,19 @@ service Lightning {
rpc OpenChannel(OpenChannelRequest) returns (stream ChannelOpenUpdate); rpc OpenChannel(OpenChannelRequest) returns (stream ChannelOpenUpdate);
rpc CloseChannel(CloseChannelRequest) returns (stream ChannelCloseUpdate); rpc CloseChannel(CloseChannelRequest) returns (stream ChannelCloseUpdate);
rpc PendingChannels(PendingChannelRequest) returns (PendingChannelResponse); rpc PendingChannels(PendingChannelRequest) returns (PendingChannelResponse);
rpc SendPayment(stream SendRequest) returns (stream SendResponse);
}
message SendRequest {
bytes dest = 1;
int64 amt = 2;
bytes payment_hash = 3;
bool fast_send = 4;
}
message SendResponse{
// TODO(roasbeef): info about route? stats?
} }
message ChannelPoint { message ChannelPoint {