lnd.xprv/lnrpc/rpc.pb.go
BitfuryLightning 2bcff188e8 lncli: Add graphical output of routing table
LIGHT-131, LIGHT-140, LIGHT-138
`lncli showroutingtable` may output routing table as image.
Use graphviz for graph rendering.
Add explicit version dependency for tools. Add error checking.
2016-09-06 20:06:51 -04:00

1502 lines
61 KiB
Go

// Code generated by protoc-gen-go.
// source: rpc.proto
// DO NOT EDIT!
/*
Package lnrpc is a generated protocol buffer package.
It is generated from these files:
rpc.proto
It has these top-level messages:
SendRequest
SendResponse
ChannelPoint
LightningAddress
SendManyRequest
SendManyResponse
SendCoinsRequest
SendCoinsResponse
NewAddressRequest
NewAddressResponse
ConnectPeerRequest
ConnectPeerResponse
HTLC
ActiveChannel
Peer
ListPeersRequest
ListPeersResponse
GetInfoRequest
GetInfoResponse
ConfirmationUpdate
ChannelOpenUpdate
ChannelCloseUpdate
CloseChannelRequest
CloseStatusUpdate
PendingUpdate
OpenChannelRequest
OpenStatusUpdate
PendingChannelRequest
PendingChannelResponse
WalletBalanceRequest
WalletBalanceResponse
RoutingTableLink
ShowRoutingTableRequest
ShowRoutingTableResponse
*/
package lnrpc
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type ChannelStatus int32
const (
ChannelStatus_ALL ChannelStatus = 0
ChannelStatus_OPENING ChannelStatus = 1
ChannelStatus_CLOSING ChannelStatus = 2
)
var ChannelStatus_name = map[int32]string{
0: "ALL",
1: "OPENING",
2: "CLOSING",
}
var ChannelStatus_value = map[string]int32{
"ALL": 0,
"OPENING": 1,
"CLOSING": 2,
}
func (x ChannelStatus) String() string {
return proto.EnumName(ChannelStatus_name, int32(x))
}
func (ChannelStatus) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
type NewAddressRequest_AddressType int32
const (
NewAddressRequest_WITNESS_PUBKEY_HASH NewAddressRequest_AddressType = 0
NewAddressRequest_NESTED_PUBKEY_HASH NewAddressRequest_AddressType = 1
NewAddressRequest_PUBKEY_HASH NewAddressRequest_AddressType = 2
)
var NewAddressRequest_AddressType_name = map[int32]string{
0: "WITNESS_PUBKEY_HASH",
1: "NESTED_PUBKEY_HASH",
2: "PUBKEY_HASH",
}
var NewAddressRequest_AddressType_value = map[string]int32{
"WITNESS_PUBKEY_HASH": 0,
"NESTED_PUBKEY_HASH": 1,
"PUBKEY_HASH": 2,
}
func (x NewAddressRequest_AddressType) String() string {
return proto.EnumName(NewAddressRequest_AddressType_name, int32(x))
}
func (NewAddressRequest_AddressType) EnumDescriptor() ([]byte, []int) {
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 {
FundingTxid []byte `protobuf:"bytes,1,opt,name=funding_txid,proto3" json:"funding_txid,omitempty"`
OutputIndex uint32 `protobuf:"varint,2,opt,name=output_index" json:"output_index,omitempty"`
}
func (m *ChannelPoint) Reset() { *m = ChannelPoint{} }
func (m *ChannelPoint) String() string { return proto.CompactTextString(m) }
func (*ChannelPoint) ProtoMessage() {}
func (*ChannelPoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
type LightningAddress struct {
PubKeyHash string `protobuf:"bytes,1,opt,name=pubKeyHash" json:"pubKeyHash,omitempty"`
Host string `protobuf:"bytes,2,opt,name=host" json:"host,omitempty"`
}
func (m *LightningAddress) Reset() { *m = LightningAddress{} }
func (m *LightningAddress) String() string { return proto.CompactTextString(m) }
func (*LightningAddress) ProtoMessage() {}
func (*LightningAddress) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
type SendManyRequest struct {
AddrToAmount map[string]int64 `protobuf:"bytes,1,rep,name=AddrToAmount" json:"AddrToAmount,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
}
func (m *SendManyRequest) Reset() { *m = SendManyRequest{} }
func (m *SendManyRequest) String() string { return proto.CompactTextString(m) }
func (*SendManyRequest) ProtoMessage() {}
func (*SendManyRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *SendManyRequest) GetAddrToAmount() map[string]int64 {
if m != nil {
return m.AddrToAmount
}
return nil
}
type SendManyResponse struct {
Txid string `protobuf:"bytes,1,opt,name=txid" json:"txid,omitempty"`
}
func (m *SendManyResponse) Reset() { *m = SendManyResponse{} }
func (m *SendManyResponse) String() string { return proto.CompactTextString(m) }
func (*SendManyResponse) ProtoMessage() {}
func (*SendManyResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
type SendCoinsRequest struct {
Addr string `protobuf:"bytes,1,opt,name=addr" json:"addr,omitempty"`
Amount int64 `protobuf:"varint,2,opt,name=amount" json:"amount,omitempty"`
}
func (m *SendCoinsRequest) Reset() { *m = SendCoinsRequest{} }
func (m *SendCoinsRequest) String() string { return proto.CompactTextString(m) }
func (*SendCoinsRequest) ProtoMessage() {}
func (*SendCoinsRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
type SendCoinsResponse struct {
Txid string `protobuf:"bytes,1,opt,name=txid" json:"txid,omitempty"`
}
func (m *SendCoinsResponse) Reset() { *m = SendCoinsResponse{} }
func (m *SendCoinsResponse) String() string { return proto.CompactTextString(m) }
func (*SendCoinsResponse) ProtoMessage() {}
func (*SendCoinsResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
type NewAddressRequest struct {
Type NewAddressRequest_AddressType `protobuf:"varint,1,opt,name=type,enum=lnrpc.NewAddressRequest_AddressType" json:"type,omitempty"`
}
func (m *NewAddressRequest) Reset() { *m = NewAddressRequest{} }
func (m *NewAddressRequest) String() string { return proto.CompactTextString(m) }
func (*NewAddressRequest) ProtoMessage() {}
func (*NewAddressRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
type NewAddressResponse struct {
Address string `protobuf:"bytes,1,opt,name=address" json:"address,omitempty"`
}
func (m *NewAddressResponse) Reset() { *m = NewAddressResponse{} }
func (m *NewAddressResponse) String() string { return proto.CompactTextString(m) }
func (*NewAddressResponse) ProtoMessage() {}
func (*NewAddressResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
type ConnectPeerRequest struct {
Addr *LightningAddress `protobuf:"bytes,1,opt,name=addr" json:"addr,omitempty"`
}
func (m *ConnectPeerRequest) Reset() { *m = ConnectPeerRequest{} }
func (m *ConnectPeerRequest) String() string { return proto.CompactTextString(m) }
func (*ConnectPeerRequest) ProtoMessage() {}
func (*ConnectPeerRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (m *ConnectPeerRequest) GetAddr() *LightningAddress {
if m != nil {
return m.Addr
}
return nil
}
type ConnectPeerResponse struct {
PeerId int32 `protobuf:"varint,1,opt,name=peer_id" json:"peer_id,omitempty"`
}
func (m *ConnectPeerResponse) Reset() { *m = ConnectPeerResponse{} }
func (m *ConnectPeerResponse) String() string { return proto.CompactTextString(m) }
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"`
}
func (m *HTLC) Reset() { *m = HTLC{} }
func (m *HTLC) String() string { return proto.CompactTextString(m) }
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"`
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"`
PendingHtlcs []*HTLC `protobuf:"bytes,7,rep,name=pending_htlcs" json:"pending_htlcs,omitempty"`
NumUpdates uint64 `protobuf:"varint,8,opt,name=num_updates" json:"num_updates,omitempty"`
}
func (m *ActiveChannel) Reset() { *m = ActiveChannel{} }
func (m *ActiveChannel) String() string { return proto.CompactTextString(m) }
func (*ActiveChannel) ProtoMessage() {}
func (*ActiveChannel) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
func (m *ActiveChannel) GetPendingHtlcs() []*HTLC {
if m != nil {
return m.PendingHtlcs
}
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"`
Address string `protobuf:"bytes,3,opt,name=address" json:"address,omitempty"`
BytesSent uint64 `protobuf:"varint,4,opt,name=bytes_sent" json:"bytes_sent,omitempty"`
BytesRecv uint64 `protobuf:"varint,5,opt,name=bytes_recv" json:"bytes_recv,omitempty"`
SatSent int64 `protobuf:"varint,6,opt,name=sat_sent" json:"sat_sent,omitempty"`
SatRecv int64 `protobuf:"varint,7,opt,name=sat_recv" json:"sat_recv,omitempty"`
Inbound bool `protobuf:"varint,8,opt,name=inbound" json:"inbound,omitempty"`
// TODO(roasbeef): add pending channels
Channels []*ActiveChannel `protobuf:"bytes,9,rep,name=channels" json:"channels,omitempty"`
}
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
}
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} }
type ListPeersResponse struct {
Peers []*Peer `protobuf:"bytes,1,rep,name=peers" json:"peers,omitempty"`
}
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 (m *ListPeersResponse) GetPeers() []*Peer {
if m != nil {
return m.Peers
}
return nil
}
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} }
type GetInfoResponse struct {
LightningId string `protobuf:"bytes,1,opt,name=lightning_id" json:"lightning_id,omitempty"`
IdentityAddress string `protobuf:"bytes,2,opt,name=identity_address" json:"identity_address,omitempty"`
NumPendingChannels uint32 `protobuf:"varint,3,opt,name=num_pending_channels" json:"num_pending_channels,omitempty"`
NumActiveChannels uint32 `protobuf:"varint,4,opt,name=num_active_channels" json:"num_active_channels,omitempty"`
NumPeers uint32 `protobuf:"varint,5,opt,name=num_peers" json:"num_peers,omitempty"`
}
func (m *GetInfoResponse) Reset() { *m = GetInfoResponse{} }
func (m *GetInfoResponse) String() string { return proto.CompactTextString(m) }
func (*GetInfoResponse) ProtoMessage() {}
func (*GetInfoResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{18} }
type ConfirmationUpdate struct {
BlockSha []byte `protobuf:"bytes,1,opt,name=block_sha,proto3" json:"block_sha,omitempty"`
BlockHeight int32 `protobuf:"varint,2,opt,name=block_height" json:"block_height,omitempty"`
NumConfsLeft uint32 `protobuf:"varint,3,opt,name=num_confs_left" json:"num_confs_left,omitempty"`
}
func (m *ConfirmationUpdate) Reset() { *m = ConfirmationUpdate{} }
func (m *ConfirmationUpdate) String() string { return proto.CompactTextString(m) }
func (*ConfirmationUpdate) ProtoMessage() {}
func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{19} }
type ChannelOpenUpdate struct {
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point" json:"channel_point,omitempty"`
}
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 (m *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint {
if m != nil {
return m.ChannelPoint
}
return nil
}
type ChannelCloseUpdate struct {
ClosingTxid []byte `protobuf:"bytes,1,opt,name=closing_txid,proto3" json:"closing_txid,omitempty"`
Success bool `protobuf:"varint,2,opt,name=success" json:"success,omitempty"`
}
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} }
type CloseChannelRequest struct {
ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point" json:"channel_point,omitempty"`
TimeLimit int64 `protobuf:"varint,2,opt,name=time_limit" json:"time_limit,omitempty"`
AllowForceClose bool `protobuf:"varint,3,opt,name=allow_force_close" json:"allow_force_close,omitempty"`
}
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 (m *CloseChannelRequest) GetChannelPoint() *ChannelPoint {
if m != nil {
return m.ChannelPoint
}
return nil
}
type CloseStatusUpdate struct {
// Types that are valid to be assigned to Update:
// *CloseStatusUpdate_ClosePending
// *CloseStatusUpdate_Confirmation
// *CloseStatusUpdate_ChanClose
Update isCloseStatusUpdate_Update `protobuf_oneof:"update"`
}
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} }
type isCloseStatusUpdate_Update interface {
isCloseStatusUpdate_Update()
}
type CloseStatusUpdate_ClosePending struct {
ClosePending *PendingUpdate `protobuf:"bytes,1,opt,name=close_pending,oneof"`
}
type CloseStatusUpdate_Confirmation struct {
Confirmation *ConfirmationUpdate `protobuf:"bytes,2,opt,name=confirmation,oneof"`
}
type CloseStatusUpdate_ChanClose struct {
ChanClose *ChannelCloseUpdate `protobuf:"bytes,3,opt,name=chan_close,oneof"`
}
func (*CloseStatusUpdate_ClosePending) isCloseStatusUpdate_Update() {}
func (*CloseStatusUpdate_Confirmation) isCloseStatusUpdate_Update() {}
func (*CloseStatusUpdate_ChanClose) isCloseStatusUpdate_Update() {}
func (m *CloseStatusUpdate) GetUpdate() isCloseStatusUpdate_Update {
if m != nil {
return m.Update
}
return nil
}
func (m *CloseStatusUpdate) GetClosePending() *PendingUpdate {
if x, ok := m.GetUpdate().(*CloseStatusUpdate_ClosePending); ok {
return x.ClosePending
}
return nil
}
func (m *CloseStatusUpdate) GetConfirmation() *ConfirmationUpdate {
if x, ok := m.GetUpdate().(*CloseStatusUpdate_Confirmation); ok {
return x.Confirmation
}
return nil
}
func (m *CloseStatusUpdate) GetChanClose() *ChannelCloseUpdate {
if x, ok := m.GetUpdate().(*CloseStatusUpdate_ChanClose); ok {
return x.ChanClose
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*CloseStatusUpdate) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _CloseStatusUpdate_OneofMarshaler, _CloseStatusUpdate_OneofUnmarshaler, _CloseStatusUpdate_OneofSizer, []interface{}{
(*CloseStatusUpdate_ClosePending)(nil),
(*CloseStatusUpdate_Confirmation)(nil),
(*CloseStatusUpdate_ChanClose)(nil),
}
}
func _CloseStatusUpdate_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*CloseStatusUpdate)
// update
switch x := m.Update.(type) {
case *CloseStatusUpdate_ClosePending:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ClosePending); err != nil {
return err
}
case *CloseStatusUpdate_Confirmation:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Confirmation); err != nil {
return err
}
case *CloseStatusUpdate_ChanClose:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ChanClose); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("CloseStatusUpdate.Update has unexpected type %T", x)
}
return nil
}
func _CloseStatusUpdate_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*CloseStatusUpdate)
switch tag {
case 1: // update.close_pending
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(PendingUpdate)
err := b.DecodeMessage(msg)
m.Update = &CloseStatusUpdate_ClosePending{msg}
return true, err
case 2: // update.confirmation
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ConfirmationUpdate)
err := b.DecodeMessage(msg)
m.Update = &CloseStatusUpdate_Confirmation{msg}
return true, err
case 3: // update.chan_close
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ChannelCloseUpdate)
err := b.DecodeMessage(msg)
m.Update = &CloseStatusUpdate_ChanClose{msg}
return true, err
default:
return false, nil
}
}
func _CloseStatusUpdate_OneofSizer(msg proto.Message) (n int) {
m := msg.(*CloseStatusUpdate)
// update
switch x := m.Update.(type) {
case *CloseStatusUpdate_ClosePending:
s := proto.Size(x.ClosePending)
n += proto.SizeVarint(1<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *CloseStatusUpdate_Confirmation:
s := proto.Size(x.Confirmation)
n += proto.SizeVarint(2<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *CloseStatusUpdate_ChanClose:
s := proto.Size(x.ChanClose)
n += proto.SizeVarint(3<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
type PendingUpdate struct {
Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"`
}
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} }
type OpenChannelRequest struct {
TargetPeerId int32 `protobuf:"varint,1,opt,name=target_peer_id" json:"target_peer_id,omitempty"`
TargetNode *LightningAddress `protobuf:"bytes,2,opt,name=target_node" json:"target_node,omitempty"`
LocalFundingAmount int64 `protobuf:"varint,3,opt,name=local_funding_amount" json:"local_funding_amount,omitempty"`
RemoteFundingAmount int64 `protobuf:"varint,4,opt,name=remote_funding_amount" json:"remote_funding_amount,omitempty"`
CommissionSize int64 `protobuf:"varint,5,opt,name=commission_size" json:"commission_size,omitempty"`
NumConfs uint32 `protobuf:"varint,6,opt,name=num_confs" json:"num_confs,omitempty"`
}
func (m *OpenChannelRequest) Reset() { *m = OpenChannelRequest{} }
func (m *OpenChannelRequest) String() string { return proto.CompactTextString(m) }
func (*OpenChannelRequest) ProtoMessage() {}
func (*OpenChannelRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{25} }
func (m *OpenChannelRequest) GetTargetNode() *LightningAddress {
if m != nil {
return m.TargetNode
}
return nil
}
type OpenStatusUpdate struct {
// Types that are valid to be assigned to Update:
// *OpenStatusUpdate_ChanPending
// *OpenStatusUpdate_Confirmation
// *OpenStatusUpdate_ChanOpen
Update isOpenStatusUpdate_Update `protobuf_oneof:"update"`
}
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} }
type isOpenStatusUpdate_Update interface {
isOpenStatusUpdate_Update()
}
type OpenStatusUpdate_ChanPending struct {
ChanPending *PendingUpdate `protobuf:"bytes,1,opt,name=chan_pending,oneof"`
}
type OpenStatusUpdate_Confirmation struct {
Confirmation *ConfirmationUpdate `protobuf:"bytes,2,opt,name=confirmation,oneof"`
}
type OpenStatusUpdate_ChanOpen struct {
ChanOpen *ChannelOpenUpdate `protobuf:"bytes,3,opt,name=chan_open,oneof"`
}
func (*OpenStatusUpdate_ChanPending) isOpenStatusUpdate_Update() {}
func (*OpenStatusUpdate_Confirmation) isOpenStatusUpdate_Update() {}
func (*OpenStatusUpdate_ChanOpen) isOpenStatusUpdate_Update() {}
func (m *OpenStatusUpdate) GetUpdate() isOpenStatusUpdate_Update {
if m != nil {
return m.Update
}
return nil
}
func (m *OpenStatusUpdate) GetChanPending() *PendingUpdate {
if x, ok := m.GetUpdate().(*OpenStatusUpdate_ChanPending); ok {
return x.ChanPending
}
return nil
}
func (m *OpenStatusUpdate) GetConfirmation() *ConfirmationUpdate {
if x, ok := m.GetUpdate().(*OpenStatusUpdate_Confirmation); ok {
return x.Confirmation
}
return nil
}
func (m *OpenStatusUpdate) GetChanOpen() *ChannelOpenUpdate {
if x, ok := m.GetUpdate().(*OpenStatusUpdate_ChanOpen); ok {
return x.ChanOpen
}
return nil
}
// XXX_OneofFuncs is for the internal use of the proto package.
func (*OpenStatusUpdate) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
return _OpenStatusUpdate_OneofMarshaler, _OpenStatusUpdate_OneofUnmarshaler, _OpenStatusUpdate_OneofSizer, []interface{}{
(*OpenStatusUpdate_ChanPending)(nil),
(*OpenStatusUpdate_Confirmation)(nil),
(*OpenStatusUpdate_ChanOpen)(nil),
}
}
func _OpenStatusUpdate_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
m := msg.(*OpenStatusUpdate)
// update
switch x := m.Update.(type) {
case *OpenStatusUpdate_ChanPending:
b.EncodeVarint(1<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ChanPending); err != nil {
return err
}
case *OpenStatusUpdate_Confirmation:
b.EncodeVarint(2<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.Confirmation); err != nil {
return err
}
case *OpenStatusUpdate_ChanOpen:
b.EncodeVarint(3<<3 | proto.WireBytes)
if err := b.EncodeMessage(x.ChanOpen); err != nil {
return err
}
case nil:
default:
return fmt.Errorf("OpenStatusUpdate.Update has unexpected type %T", x)
}
return nil
}
func _OpenStatusUpdate_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
m := msg.(*OpenStatusUpdate)
switch tag {
case 1: // update.chan_pending
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(PendingUpdate)
err := b.DecodeMessage(msg)
m.Update = &OpenStatusUpdate_ChanPending{msg}
return true, err
case 2: // update.confirmation
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ConfirmationUpdate)
err := b.DecodeMessage(msg)
m.Update = &OpenStatusUpdate_Confirmation{msg}
return true, err
case 3: // update.chan_open
if wire != proto.WireBytes {
return true, proto.ErrInternalBadWireType
}
msg := new(ChannelOpenUpdate)
err := b.DecodeMessage(msg)
m.Update = &OpenStatusUpdate_ChanOpen{msg}
return true, err
default:
return false, nil
}
}
func _OpenStatusUpdate_OneofSizer(msg proto.Message) (n int) {
m := msg.(*OpenStatusUpdate)
// update
switch x := m.Update.(type) {
case *OpenStatusUpdate_ChanPending:
s := proto.Size(x.ChanPending)
n += proto.SizeVarint(1<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *OpenStatusUpdate_Confirmation:
s := proto.Size(x.Confirmation)
n += proto.SizeVarint(2<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case *OpenStatusUpdate_ChanOpen:
s := proto.Size(x.ChanOpen)
n += proto.SizeVarint(3<<3 | proto.WireBytes)
n += proto.SizeVarint(uint64(s))
n += s
case nil:
default:
panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
}
return n
}
type PendingChannelRequest struct {
Status ChannelStatus `protobuf:"varint,1,opt,name=status,enum=lnrpc.ChannelStatus" json:"status,omitempty"`
}
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} }
type PendingChannelResponse struct {
PendingChannels []*PendingChannelResponse_PendingChannel `protobuf:"bytes,1,rep,name=pending_channels" json:"pending_channels,omitempty"`
}
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 (m *PendingChannelResponse) GetPendingChannels() []*PendingChannelResponse_PendingChannel {
if m != nil {
return m.PendingChannels
}
return nil
}
type PendingChannelResponse_PendingChannel struct {
PeerId int32 `protobuf:"varint,1,opt,name=peer_id" json:"peer_id,omitempty"`
LightningId string `protobuf:"bytes,2,opt,name=lightning_id" json:"lightning_id,omitempty"`
ChannelPoint string `protobuf:"bytes,3,opt,name=channel_point" json:"channel_point,omitempty"`
Capacity int64 `protobuf:"varint,4,opt,name=capacity" json:"capacity,omitempty"`
LocalBalance int64 `protobuf:"varint,5,opt,name=local_balance" json:"local_balance,omitempty"`
RemoteBalance int64 `protobuf:"varint,6,opt,name=remote_balance" json:"remote_balance,omitempty"`
ClosingTxid string `protobuf:"bytes,7,opt,name=closing_txid" json:"closing_txid,omitempty"`
Status ChannelStatus `protobuf:"varint,8,opt,name=status,enum=lnrpc.ChannelStatus" json:"status,omitempty"`
}
func (m *PendingChannelResponse_PendingChannel) Reset() { *m = PendingChannelResponse_PendingChannel{} }
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}
}
type WalletBalanceRequest struct {
WitnessOnly bool `protobuf:"varint,1,opt,name=witness_only" json:"witness_only,omitempty"`
}
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} }
type WalletBalanceResponse struct {
Balance float64 `protobuf:"fixed64,1,opt,name=balance" json:"balance,omitempty"`
}
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} }
type RoutingTableLink struct {
Id1 string `protobuf:"bytes,1,opt,name=id1" json:"id1,omitempty"`
Id2 string `protobuf:"bytes,2,opt,name=id2" json:"id2,omitempty"`
Outpoint string `protobuf:"bytes,3,opt,name=outpoint" json:"outpoint,omitempty"`
Capacity int64 `protobuf:"varint,4,opt,name=capacity" json:"capacity,omitempty"`
Weight float64 `protobuf:"fixed64,5,opt,name=weight" json:"weight,omitempty"`
}
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{31} }
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{32} }
type ShowRoutingTableResponse struct {
Channels []*RoutingTableLink `protobuf:"bytes,1,rep,name=channels" json:"channels,omitempty"`
}
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{33} }
func (m *ShowRoutingTableResponse) GetChannels() []*RoutingTableLink {
if m != nil {
return m.Channels
}
return nil
}
func init() {
proto.RegisterType((*SendRequest)(nil), "lnrpc.SendRequest")
proto.RegisterType((*SendResponse)(nil), "lnrpc.SendResponse")
proto.RegisterType((*ChannelPoint)(nil), "lnrpc.ChannelPoint")
proto.RegisterType((*LightningAddress)(nil), "lnrpc.LightningAddress")
proto.RegisterType((*SendManyRequest)(nil), "lnrpc.SendManyRequest")
proto.RegisterType((*SendManyResponse)(nil), "lnrpc.SendManyResponse")
proto.RegisterType((*SendCoinsRequest)(nil), "lnrpc.SendCoinsRequest")
proto.RegisterType((*SendCoinsResponse)(nil), "lnrpc.SendCoinsResponse")
proto.RegisterType((*NewAddressRequest)(nil), "lnrpc.NewAddressRequest")
proto.RegisterType((*NewAddressResponse)(nil), "lnrpc.NewAddressResponse")
proto.RegisterType((*ConnectPeerRequest)(nil), "lnrpc.ConnectPeerRequest")
proto.RegisterType((*ConnectPeerResponse)(nil), "lnrpc.ConnectPeerResponse")
proto.RegisterType((*HTLC)(nil), "lnrpc.HTLC")
proto.RegisterType((*ActiveChannel)(nil), "lnrpc.ActiveChannel")
proto.RegisterType((*Peer)(nil), "lnrpc.Peer")
proto.RegisterType((*ListPeersRequest)(nil), "lnrpc.ListPeersRequest")
proto.RegisterType((*ListPeersResponse)(nil), "lnrpc.ListPeersResponse")
proto.RegisterType((*GetInfoRequest)(nil), "lnrpc.GetInfoRequest")
proto.RegisterType((*GetInfoResponse)(nil), "lnrpc.GetInfoResponse")
proto.RegisterType((*ConfirmationUpdate)(nil), "lnrpc.ConfirmationUpdate")
proto.RegisterType((*ChannelOpenUpdate)(nil), "lnrpc.ChannelOpenUpdate")
proto.RegisterType((*ChannelCloseUpdate)(nil), "lnrpc.ChannelCloseUpdate")
proto.RegisterType((*CloseChannelRequest)(nil), "lnrpc.CloseChannelRequest")
proto.RegisterType((*CloseStatusUpdate)(nil), "lnrpc.CloseStatusUpdate")
proto.RegisterType((*PendingUpdate)(nil), "lnrpc.PendingUpdate")
proto.RegisterType((*OpenChannelRequest)(nil), "lnrpc.OpenChannelRequest")
proto.RegisterType((*OpenStatusUpdate)(nil), "lnrpc.OpenStatusUpdate")
proto.RegisterType((*PendingChannelRequest)(nil), "lnrpc.PendingChannelRequest")
proto.RegisterType((*PendingChannelResponse)(nil), "lnrpc.PendingChannelResponse")
proto.RegisterType((*PendingChannelResponse_PendingChannel)(nil), "lnrpc.PendingChannelResponse.PendingChannel")
proto.RegisterType((*WalletBalanceRequest)(nil), "lnrpc.WalletBalanceRequest")
proto.RegisterType((*WalletBalanceResponse)(nil), "lnrpc.WalletBalanceResponse")
proto.RegisterType((*RoutingTableLink)(nil), "lnrpc.RoutingTableLink")
proto.RegisterType((*ShowRoutingTableRequest)(nil), "lnrpc.ShowRoutingTableRequest")
proto.RegisterType((*ShowRoutingTableResponse)(nil), "lnrpc.ShowRoutingTableResponse")
proto.RegisterEnum("lnrpc.ChannelStatus", ChannelStatus_name, ChannelStatus_value)
proto.RegisterEnum("lnrpc.NewAddressRequest_AddressType", NewAddressRequest_AddressType_name, NewAddressRequest_AddressType_value)
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion3
// Client API for Lightning service
type LightningClient interface {
WalletBalance(ctx context.Context, in *WalletBalanceRequest, opts ...grpc.CallOption) (*WalletBalanceResponse, error)
SendMany(ctx context.Context, in *SendManyRequest, opts ...grpc.CallOption) (*SendManyResponse, error)
SendCoins(ctx context.Context, in *SendCoinsRequest, opts ...grpc.CallOption) (*SendCoinsResponse, error)
NewAddress(ctx context.Context, in *NewAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error)
ConnectPeer(ctx context.Context, in *ConnectPeerRequest, opts ...grpc.CallOption) (*ConnectPeerResponse, error)
ListPeers(ctx context.Context, in *ListPeersRequest, opts ...grpc.CallOption) (*ListPeersResponse, error)
GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, 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)
PendingChannels(ctx context.Context, in *PendingChannelRequest, opts ...grpc.CallOption) (*PendingChannelResponse, error)
SendPayment(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendPaymentClient, error)
ShowRoutingTable(ctx context.Context, in *ShowRoutingTableRequest, opts ...grpc.CallOption) (*ShowRoutingTableResponse, error)
}
type lightningClient struct {
cc *grpc.ClientConn
}
func NewLightningClient(cc *grpc.ClientConn) LightningClient {
return &lightningClient{cc}
}
func (c *lightningClient) WalletBalance(ctx context.Context, in *WalletBalanceRequest, opts ...grpc.CallOption) (*WalletBalanceResponse, error) {
out := new(WalletBalanceResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/WalletBalance", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) SendMany(ctx context.Context, in *SendManyRequest, opts ...grpc.CallOption) (*SendManyResponse, error) {
out := new(SendManyResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/SendMany", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) SendCoins(ctx context.Context, in *SendCoinsRequest, opts ...grpc.CallOption) (*SendCoinsResponse, error) {
out := new(SendCoinsResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/SendCoins", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) NewAddress(ctx context.Context, in *NewAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error) {
out := new(NewAddressResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/NewAddress", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) ConnectPeer(ctx context.Context, in *ConnectPeerRequest, opts ...grpc.CallOption) (*ConnectPeerResponse, error) {
out := new(ConnectPeerResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/ConnectPeer", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) ListPeers(ctx context.Context, in *ListPeersRequest, opts ...grpc.CallOption) (*ListPeersResponse, error) {
out := new(ListPeersResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/ListPeers", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error) {
out := new(GetInfoResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/GetInfo", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *lightningClient) OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (Lightning_OpenChannelClient, error) {
stream, err := grpc.NewClientStream(ctx, &_Lightning_serviceDesc.Streams[0], c.cc, "/lnrpc.Lightning/OpenChannel", opts...)
if err != nil {
return nil, err
}
x := &lightningOpenChannelClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type Lightning_OpenChannelClient interface {
Recv() (*OpenStatusUpdate, error)
grpc.ClientStream
}
type lightningOpenChannelClient struct {
grpc.ClientStream
}
func (x *lightningOpenChannelClient) Recv() (*OpenStatusUpdate, error) {
m := new(OpenStatusUpdate)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *lightningClient) CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (Lightning_CloseChannelClient, error) {
stream, err := grpc.NewClientStream(ctx, &_Lightning_serviceDesc.Streams[1], c.cc, "/lnrpc.Lightning/CloseChannel", opts...)
if err != nil {
return nil, err
}
x := &lightningCloseChannelClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type Lightning_CloseChannelClient interface {
Recv() (*CloseStatusUpdate, error)
grpc.ClientStream
}
type lightningCloseChannelClient struct {
grpc.ClientStream
}
func (x *lightningCloseChannelClient) Recv() (*CloseStatusUpdate, error) {
m := new(CloseStatusUpdate)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *lightningClient) PendingChannels(ctx context.Context, in *PendingChannelRequest, opts ...grpc.CallOption) (*PendingChannelResponse, error) {
out := new(PendingChannelResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/PendingChannels", 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 {
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
}
func (c *lightningClient) ShowRoutingTable(ctx context.Context, in *ShowRoutingTableRequest, opts ...grpc.CallOption) (*ShowRoutingTableResponse, error) {
out := new(ShowRoutingTableResponse)
err := grpc.Invoke(ctx, "/lnrpc.Lightning/ShowRoutingTable", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Lightning service
type LightningServer interface {
WalletBalance(context.Context, *WalletBalanceRequest) (*WalletBalanceResponse, error)
SendMany(context.Context, *SendManyRequest) (*SendManyResponse, error)
SendCoins(context.Context, *SendCoinsRequest) (*SendCoinsResponse, error)
NewAddress(context.Context, *NewAddressRequest) (*NewAddressResponse, error)
ConnectPeer(context.Context, *ConnectPeerRequest) (*ConnectPeerResponse, error)
ListPeers(context.Context, *ListPeersRequest) (*ListPeersResponse, error)
GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error)
OpenChannel(*OpenChannelRequest, Lightning_OpenChannelServer) error
CloseChannel(*CloseChannelRequest, Lightning_CloseChannelServer) error
PendingChannels(context.Context, *PendingChannelRequest) (*PendingChannelResponse, error)
SendPayment(Lightning_SendPaymentServer) error
ShowRoutingTable(context.Context, *ShowRoutingTableRequest) (*ShowRoutingTableResponse, error)
}
func RegisterLightningServer(s *grpc.Server, srv LightningServer) {
s.RegisterService(&_Lightning_serviceDesc, srv)
}
func _Lightning_WalletBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(WalletBalanceRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).WalletBalance(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/WalletBalance",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).WalletBalance(ctx, req.(*WalletBalanceRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_SendMany_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SendManyRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).SendMany(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/SendMany",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).SendMany(ctx, req.(*SendManyRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_SendCoins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(SendCoinsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).SendCoins(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/SendCoins",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).SendCoins(ctx, req.(*SendCoinsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_NewAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(NewAddressRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).NewAddress(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/NewAddress",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).NewAddress(ctx, req.(*NewAddressRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_ConnectPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ConnectPeerRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).ConnectPeer(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/ConnectPeer",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).ConnectPeer(ctx, req.(*ConnectPeerRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_ListPeers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListPeersRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).ListPeers(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/ListPeers",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).ListPeers(ctx, req.(*ListPeersRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_GetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetInfoRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).GetInfo(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/GetInfo",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).GetInfo(ctx, req.(*GetInfoRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Lightning_OpenChannel_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(OpenChannelRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(LightningServer).OpenChannel(m, &lightningOpenChannelServer{stream})
}
type Lightning_OpenChannelServer interface {
Send(*OpenStatusUpdate) error
grpc.ServerStream
}
type lightningOpenChannelServer struct {
grpc.ServerStream
}
func (x *lightningOpenChannelServer) Send(m *OpenStatusUpdate) error {
return x.ServerStream.SendMsg(m)
}
func _Lightning_CloseChannel_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(CloseChannelRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(LightningServer).CloseChannel(m, &lightningCloseChannelServer{stream})
}
type Lightning_CloseChannelServer interface {
Send(*CloseStatusUpdate) error
grpc.ServerStream
}
type lightningCloseChannelServer struct {
grpc.ServerStream
}
func (x *lightningCloseChannelServer) Send(m *CloseStatusUpdate) error {
return x.ServerStream.SendMsg(m)
}
func _Lightning_PendingChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PendingChannelRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).PendingChannels(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/PendingChannels",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).PendingChannels(ctx, req.(*PendingChannelRequest))
}
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
}
func _Lightning_ShowRoutingTable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ShowRoutingTableRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(LightningServer).ShowRoutingTable(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/lnrpc.Lightning/ShowRoutingTable",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(LightningServer).ShowRoutingTable(ctx, req.(*ShowRoutingTableRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Lightning_serviceDesc = grpc.ServiceDesc{
ServiceName: "lnrpc.Lightning",
HandlerType: (*LightningServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "WalletBalance",
Handler: _Lightning_WalletBalance_Handler,
},
{
MethodName: "SendMany",
Handler: _Lightning_SendMany_Handler,
},
{
MethodName: "SendCoins",
Handler: _Lightning_SendCoins_Handler,
},
{
MethodName: "NewAddress",
Handler: _Lightning_NewAddress_Handler,
},
{
MethodName: "ConnectPeer",
Handler: _Lightning_ConnectPeer_Handler,
},
{
MethodName: "ListPeers",
Handler: _Lightning_ListPeers_Handler,
},
{
MethodName: "GetInfo",
Handler: _Lightning_GetInfo_Handler,
},
{
MethodName: "PendingChannels",
Handler: _Lightning_PendingChannels_Handler,
},
{
MethodName: "ShowRoutingTable",
Handler: _Lightning_ShowRoutingTable_Handler,
},
},
Streams: []grpc.StreamDesc{
{
StreamName: "OpenChannel",
Handler: _Lightning_OpenChannel_Handler,
ServerStreams: true,
},
{
StreamName: "CloseChannel",
Handler: _Lightning_CloseChannel_Handler,
ServerStreams: true,
},
{
StreamName: "SendPayment",
Handler: _Lightning_SendPayment_Handler,
ServerStreams: true,
ClientStreams: true,
},
},
Metadata: fileDescriptor0,
}
func init() { proto.RegisterFile("rpc.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{
// 1535 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xb4, 0x57, 0x5d, 0x6f, 0x13, 0x57,
0x13, 0xc6, 0xdf, 0xf6, 0xd8, 0x4e, 0xec, 0x93, 0x2f, 0xc7, 0xc0, 0xfb, 0xf2, 0xae, 0x00, 0xe5,
0x45, 0x21, 0x80, 0xe9, 0x05, 0x02, 0x95, 0x2a, 0x98, 0x94, 0x50, 0xd2, 0x24, 0xc5, 0x41, 0xa8,
0x57, 0xdb, 0xf5, 0xfa, 0x04, 0xaf, 0x58, 0xef, 0xba, 0x3e, 0xc7, 0x04, 0xf7, 0x07, 0xf4, 0xb6,
0xb7, 0xfd, 0x11, 0x55, 0xd5, 0xff, 0x50, 0xf5, 0xaa, 0x52, 0x7f, 0x53, 0xe7, 0x7c, 0xd9, 0xfb,
0xe1, 0x20, 0xf5, 0xa2, 0x57, 0xd6, 0xce, 0x99, 0x33, 0x1f, 0xcf, 0xcc, 0x79, 0x66, 0x0c, 0x95,
0xc9, 0xd8, 0xdd, 0x1b, 0x4f, 0x42, 0x1e, 0x92, 0x82, 0x1f, 0xe0, 0x87, 0xf5, 0x0d, 0x54, 0x7b,
0x34, 0x18, 0xbc, 0xa6, 0xdf, 0x4f, 0x29, 0xe3, 0xa4, 0x06, 0xf9, 0x01, 0xfe, 0xb6, 0x32, 0x37,
0x32, 0x3b, 0x35, 0x52, 0x85, 0x9c, 0x33, 0xe2, 0xad, 0x2c, 0x7e, 0xe4, 0xc8, 0x3a, 0xd4, 0xc6,
0xce, 0x6c, 0x44, 0x03, 0x6e, 0x0f, 0x1d, 0x36, 0x6c, 0xe5, 0xa4, 0x4a, 0x13, 0x2a, 0xe7, 0x0e,
0xe3, 0x36, 0x43, 0x23, 0xad, 0x3c, 0x8a, 0xca, 0xd6, 0x0a, 0xd4, 0x94, 0x49, 0x36, 0x0e, 0x03,
0x46, 0xad, 0xc7, 0x50, 0xeb, 0x0e, 0x9d, 0x20, 0xa0, 0xfe, 0x69, 0xe8, 0x05, 0x5c, 0x18, 0x3a,
0x9f, 0x06, 0x03, 0x2f, 0x78, 0x67, 0xf3, 0x8f, 0xde, 0x40, 0xfb, 0x42, 0x69, 0x38, 0xe5, 0xe3,
0x29, 0xb7, 0xbd, 0x60, 0x40, 0x3f, 0x4a, 0xa7, 0x75, 0xeb, 0x33, 0x68, 0x1c, 0x79, 0xef, 0x86,
0x3c, 0x40, 0xed, 0xfd, 0xc1, 0x60, 0x42, 0x19, 0x23, 0x04, 0x60, 0x3c, 0xed, 0xbf, 0xa2, 0xb3,
0x43, 0x11, 0x86, 0xb8, 0x5d, 0x11, 0x71, 0x0f, 0x43, 0xa6, 0x42, 0xad, 0x58, 0x3f, 0x66, 0x60,
0x55, 0x84, 0xf0, 0xb5, 0x13, 0xcc, 0x4c, 0x66, 0x4f, 0xa1, 0x26, 0x0c, 0x9c, 0x85, 0xfb, 0xa3,
0x70, 0x1a, 0x88, 0x0c, 0x73, 0x3b, 0xd5, 0xce, 0xce, 0x9e, 0x84, 0x61, 0x2f, 0xa1, 0xbd, 0x17,
0x55, 0x3d, 0x08, 0xf8, 0x64, 0xd6, 0x7e, 0x08, 0xcd, 0x94, 0x50, 0x00, 0xf4, 0x9e, 0xce, 0x74,
0x0c, 0x75, 0x28, 0x7c, 0x70, 0xfc, 0x29, 0x55, 0x78, 0x3d, 0xce, 0x3e, 0xca, 0x58, 0x37, 0xa0,
0xb1, 0xb0, 0xac, 0xe0, 0x10, 0xa1, 0xce, 0xd3, 0xae, 0x58, 0xf7, 0x95, 0x46, 0x17, 0x91, 0x61,
0x91, 0x22, 0x38, 0xe8, 0x4a, 0x9b, 0x5d, 0x81, 0xa2, 0xa3, 0x42, 0x96, 0x76, 0xad, 0xff, 0x41,
0x33, 0x72, 0x63, 0xa9, 0xd1, 0x9f, 0x33, 0xd0, 0x3c, 0xa6, 0x17, 0x1a, 0x30, 0x63, 0xb6, 0x83,
0x3a, 0xb3, 0x31, 0x95, 0x3a, 0x2b, 0x9d, 0x9b, 0x3a, 0xf3, 0x94, 0xde, 0x9e, 0xfe, 0x3c, 0x43,
0x5d, 0xeb, 0x04, 0xaa, 0x91, 0x4f, 0xb2, 0x05, 0x6b, 0x6f, 0x5f, 0x9e, 0x1d, 0x1f, 0xf4, 0x7a,
0xf6, 0xe9, 0x9b, 0x67, 0xaf, 0x0e, 0xbe, 0xb5, 0x0f, 0xf7, 0x7b, 0x87, 0x8d, 0x2b, 0x64, 0x13,
0x08, 0x4a, 0xcf, 0x0e, 0x9e, 0xc7, 0xe4, 0x19, 0xb2, 0x0a, 0xd5, 0xa8, 0x20, 0x6b, 0xdd, 0x42,
0xc5, 0x88, 0x47, 0x1d, 0xfe, 0x2a, 0x94, 0x1c, 0x25, 0xd2, 0x19, 0x3c, 0x01, 0xd2, 0x0d, 0xb1,
0x65, 0x5c, 0x7e, 0x4a, 0xe9, 0xc4, 0x64, 0x70, 0x2b, 0x02, 0x4c, 0xb5, 0xb3, 0xa5, 0x33, 0x48,
0x36, 0x88, 0x75, 0x1b, 0xd6, 0x62, 0x97, 0x17, 0x4e, 0xc6, 0xf8, 0x6d, 0x6b, 0x98, 0x0a, 0xd6,
0x73, 0xc8, 0x1f, 0x9e, 0x1d, 0x75, 0xb1, 0x9f, 0xb2, 0x5a, 0x96, 0x4b, 0xa2, 0x2d, 0xfa, 0x5b,
0x74, 0xbb, 0xed, 0x87, 0xee, 0x7b, 0xdd, 0xf2, 0x58, 0x67, 0x1e, 0xda, 0x53, 0xa6, 0xdb, 0xfd,
0xaf, 0x0c, 0xd4, 0xf7, 0x5d, 0xee, 0x7d, 0xa0, 0xba, 0xcb, 0xc5, 0x9d, 0x09, 0x1d, 0x85, 0x9c,
0x1a, 0x57, 0x15, 0xb2, 0x01, 0x75, 0x57, 0x9d, 0xda, 0x63, 0xf1, 0x08, 0x54, 0xa3, 0x92, 0x06,
0x94, 0x5d, 0x67, 0xec, 0xb8, 0x1e, 0x9f, 0x49, 0xe3, 0x39, 0xa1, 0x88, 0xae, 0x1c, 0xdf, 0xee,
0x3b, 0xbe, 0x13, 0xb8, 0x54, 0x3a, 0xc9, 0x21, 0xbe, 0x2b, 0xda, 0xa4, 0x91, 0x17, 0xa4, 0x7c,
0x1b, 0x9a, 0x53, 0xcc, 0x8d, 0x73, 0x9f, 0x0e, 0xec, 0x3e, 0x55, 0x47, 0x45, 0x79, 0x64, 0x41,
0x7d, 0x4c, 0xd5, 0x33, 0x1b, 0x72, 0xdf, 0x65, 0xad, 0x92, 0xec, 0xf8, 0xaa, 0x46, 0x4d, 0x66,
0xbe, 0x06, 0xd5, 0x60, 0x3a, 0xb2, 0xa7, 0xe3, 0x81, 0xc3, 0x29, 0x6b, 0x95, 0xf1, 0x62, 0xde,
0xfa, 0x3d, 0x03, 0x79, 0x01, 0x9c, 0x78, 0x92, 0xbe, 0xc1, 0x76, 0x91, 0x4a, 0x04, 0x46, 0x91,
0x44, 0x21, 0x5a, 0xbc, 0x9c, 0xd4, 0x40, 0x40, 0xfb, 0x33, 0xb4, 0x27, 0x48, 0x81, 0xcb, 0x04,
0xf2, 0x0b, 0xd9, 0x84, 0xba, 0x1f, 0x64, 0xf0, 0x79, 0x91, 0x3d, 0x73, 0xb8, 0xd2, 0x52, 0x31,
0x6b, 0x89, 0xd4, 0x29, 0x49, 0x09, 0x1a, 0xf7, 0x82, 0x3e, 0x16, 0x64, 0x20, 0xa3, 0x2b, 0x93,
0xdb, 0x08, 0x99, 0x42, 0x92, 0xb5, 0x2a, 0x32, 0xa3, 0x75, 0x9d, 0x51, 0xac, 0x08, 0x16, 0x11,
0xcc, 0xc1, 0x64, 0x07, 0x98, 0xce, 0xb6, 0xee, 0x41, 0x33, 0x22, 0xd3, 0x6d, 0xd1, 0x86, 0x82,
0xc8, 0x87, 0x69, 0x46, 0x30, 0xf8, 0x08, 0x25, 0xab, 0x01, 0x2b, 0x2f, 0x28, 0x7f, 0x19, 0x9c,
0x87, 0xc6, 0xc4, 0x4f, 0x48, 0x2d, 0x73, 0x91, 0xb6, 0xb0, 0x1c, 0xa7, 0x16, 0x34, 0xbc, 0x01,
0xa6, 0x86, 0xb5, 0xb5, 0x0d, 0x3e, 0xaa, 0xea, 0xd7, 0x60, 0x5d, 0xa0, 0x6e, 0xaa, 0x33, 0x4f,
0x47, 0xa0, 0x57, 0x27, 0x57, 0x61, 0x4d, 0x9c, 0x3a, 0x32, 0x9b, 0xc5, 0x61, 0x5e, 0x1e, 0x62,
0x6b, 0xa9, 0xab, 0x22, 0xe0, 0x82, 0xa4, 0xc8, 0x37, 0xf2, 0xa9, 0x9c, 0x7b, 0x93, 0x91, 0xc3,
0xbd, 0x30, 0x78, 0x23, 0x6b, 0x29, 0x14, 0xfb, 0xa2, 0x67, 0x6d, 0x36, 0x74, 0x16, 0x0c, 0xab,
0x44, 0x43, 0x2a, 0xa2, 0xd5, 0xd5, 0xc3, 0xce, 0x12, 0x16, 0x5d, 0x34, 0xc1, 0x6c, 0x9f, 0x9e,
0x73, 0x15, 0x86, 0xf5, 0x05, 0x34, 0x35, 0x94, 0x27, 0x18, 0xa8, 0xb6, 0x7a, 0x27, 0xd9, 0xc6,
0xea, 0x25, 0xae, 0x69, 0xcc, 0xa2, 0x34, 0x2f, 0x9f, 0xb0, 0xfa, 0xee, 0xfa, 0x21, 0xa3, 0xda,
0x02, 0x06, 0xe1, 0xe2, 0x67, 0x82, 0xfc, 0xb1, 0xca, 0x6c, 0xea, 0xba, 0x06, 0xa2, 0xb2, 0x35,
0xc6, 0x27, 0x2c, 0x6e, 0x69, 0x0b, 0x86, 0x00, 0xfe, 0x81, 0x7f, 0xd1, 0x71, 0xdc, 0x1b, 0x51,
0xdb, 0xf7, 0x46, 0x9e, 0x79, 0xcd, 0xf8, 0x5c, 0x1c, 0xdf, 0x0f, 0x2f, 0xec, 0xf3, 0x70, 0xe2,
0x22, 0xb8, 0xc2, 0x85, 0xcc, 0xb7, 0x6c, 0xfd, 0x86, 0x9c, 0x29, 0x5d, 0xf6, 0xb8, 0xc3, 0xa7,
0x4c, 0x87, 0x7b, 0x17, 0x1d, 0x0a, 0xa1, 0x29, 0x96, 0x76, 0xb8, 0x3e, 0x6f, 0x12, 0x29, 0x55,
0xca, 0x87, 0x57, 0xc8, 0x03, 0xcc, 0x2e, 0x52, 0x0b, 0xe9, 0xb5, 0xda, 0xd9, 0x36, 0xe1, 0xa5,
0xca, 0x84, 0x57, 0xee, 0x01, 0x88, 0x94, 0x22, 0xb1, 0x44, 0x2e, 0xa4, 0xf0, 0x3b, 0xbc, 0xf2,
0xac, 0x0c, 0x45, 0xf5, 0x5e, 0xad, 0xeb, 0x50, 0x8f, 0x05, 0x10, 0x9b, 0x02, 0x35, 0xf1, 0x8e,
0x89, 0xa8, 0x5d, 0x02, 0x43, 0x2c, 0x38, 0x77, 0x26, 0xef, 0x28, 0xb7, 0x63, 0x6c, 0x48, 0x76,
0xa1, 0xaa, 0xe5, 0x41, 0x38, 0xa0, 0x3a, 0xf4, 0xcb, 0x38, 0x56, 0xf4, 0xb0, 0xe2, 0x29, 0x33,
0xca, 0x35, 0x6b, 0x2a, 0x16, 0xbb, 0x0e, 0x1b, 0x9a, 0xae, 0x12, 0xc7, 0x8a, 0xcd, 0xb6, 0x60,
0xd5, 0x0d, 0x47, 0x23, 0x8f, 0x31, 0x44, 0xc2, 0x66, 0xde, 0x0f, 0x86, 0xce, 0x74, 0x7b, 0xcb,
0x66, 0x94, 0x94, 0x50, 0xb7, 0x7e, 0xc9, 0x40, 0x43, 0x64, 0x11, 0x2b, 0xcb, 0x2e, 0xe2, 0x2c,
0x40, 0xfb, 0xd7, 0xaa, 0x72, 0x17, 0x2a, 0xd2, 0x41, 0x88, 0x1e, 0x74, 0x51, 0x5a, 0xf1, 0xa2,
0x2c, 0x5e, 0x45, 0xac, 0x26, 0x9f, 0xc3, 0x86, 0x76, 0x9f, 0x80, 0xfd, 0x26, 0x14, 0x99, 0x4c,
0x41, 0xcf, 0xdf, 0xf5, 0xb8, 0x39, 0x95, 0x9e, 0xf5, 0x6b, 0x16, 0x36, 0x93, 0xf7, 0x35, 0xcb,
0x7c, 0x09, 0x8d, 0x14, 0x63, 0x28, 0xca, 0xda, 0x8d, 0xe7, 0x9d, 0xb8, 0x98, 0x10, 0xb7, 0xff,
0xcc, 0xc0, 0x4a, 0x5c, 0x94, 0x9a, 0x8c, 0x29, 0x46, 0xcb, 0x2e, 0x1f, 0x62, 0xb9, 0xd4, 0x10,
0xcb, 0x2f, 0x1f, 0x62, 0x85, 0x4b, 0x86, 0x58, 0xd1, 0x6c, 0x96, 0x31, 0x4e, 0x28, 0x49, 0xb3,
0x0b, 0xc0, 0xca, 0x9f, 0x00, 0x6c, 0x17, 0xd6, 0xdf, 0xe2, 0x93, 0xa6, 0xfc, 0x99, 0x32, 0x69,
0xe0, 0x46, 0x9b, 0x17, 0x1e, 0x0f, 0xb0, 0x55, 0xed, 0x30, 0xf0, 0xd5, 0x8a, 0x56, 0xb6, 0x76,
0x60, 0x23, 0xa1, 0xbd, 0xd8, 0x0d, 0x4c, 0x4c, 0x42, 0x33, 0x63, 0x7d, 0x07, 0x8d, 0xd7, 0xb8,
0x8f, 0x62, 0x4c, 0x67, 0x4e, 0xdf, 0xa7, 0x47, 0x5e, 0xf0, 0x5e, 0x6c, 0x7b, 0xde, 0xe0, 0x81,
0xa6, 0x77, 0xf9, 0xd1, 0x59, 0xcc, 0x71, 0xb1, 0xbc, 0x7e, 0x12, 0x14, 0xdc, 0x2c, 0x2e, 0x14,
0xf1, 0x16, 0xa4, 0x87, 0x6d, 0xd8, 0xea, 0x0d, 0xc3, 0x8b, 0xa8, 0x17, 0x33, 0x64, 0x0e, 0xa0,
0x95, 0x3e, 0xd2, 0x91, 0xfe, 0x3f, 0x32, 0xff, 0x54, 0xf9, 0xcd, 0x1b, 0x4d, 0xc6, 0x7b, 0xa7,
0x03, 0xf5, 0x18, 0x58, 0xa4, 0x04, 0xb9, 0xfd, 0xa3, 0x23, 0x5c, 0xd7, 0xaa, 0x50, 0x3a, 0x39,
0x3d, 0x38, 0x7e, 0x79, 0xfc, 0x02, 0x77, 0x34, 0xfc, 0xe8, 0x1e, 0x9d, 0xf4, 0xc4, 0x47, 0xb6,
0xf3, 0x47, 0x11, 0x2a, 0xf3, 0xc7, 0x4e, 0xbe, 0x82, 0x7a, 0x0c, 0x2f, 0x72, 0x55, 0xfb, 0x5a,
0x86, 0x79, 0xfb, 0xda, 0xf2, 0x43, 0x1d, 0xf8, 0x13, 0x28, 0x9b, 0x5d, 0x98, 0x6c, 0x2e, 0x5f,
0xbb, 0xdb, 0x5b, 0x29, 0xb9, 0xbe, 0xfc, 0x14, 0x2a, 0xf3, 0xa5, 0x97, 0x44, 0xb5, 0xa2, 0x8b,
0x73, 0xbb, 0x95, 0x3e, 0xd0, 0xf7, 0xf7, 0x01, 0x16, 0x6b, 0x27, 0x69, 0x5d, 0xb6, 0xfb, 0xb6,
0xb7, 0x97, 0x9c, 0x68, 0x13, 0xcf, 0xa1, 0x1a, 0xd9, 0x2a, 0x49, 0x84, 0x3e, 0x12, 0x6b, 0x6a,
0xbb, 0xbd, 0xec, 0x68, 0x91, 0xc8, 0x7c, 0x05, 0x21, 0x0b, 0x76, 0x8d, 0x2f, 0x2a, 0xf3, 0x44,
0xd2, 0xdb, 0xca, 0x23, 0x28, 0xe9, 0xf5, 0x83, 0x6c, 0x68, 0xa5, 0xf8, 0x86, 0xd2, 0xde, 0x4c,
0x8a, 0xf5, 0xcd, 0x2e, 0x54, 0x23, 0xd3, 0x60, 0x1e, 0x7f, 0x7a, 0x42, 0xcc, 0xab, 0x90, 0xa4,
0xdd, 0xfb, 0x19, 0x24, 0xa1, 0x5a, 0x74, 0x2e, 0x93, 0x79, 0xaa, 0xe9, 0x61, 0x3d, 0x4f, 0x22,
0x35, 0x55, 0xd1, 0xce, 0x31, 0xac, 0xc6, 0x39, 0x08, 0x27, 0xca, 0x25, 0x2c, 0xa6, 0x8c, 0x5d,
0xff, 0x24, 0xc7, 0x91, 0xc7, 0xea, 0x6f, 0xec, 0xa9, 0xfa, 0x83, 0x4a, 0x48, 0xa4, 0x11, 0x8c,
0x85, 0xb5, 0x98, 0x4c, 0xdd, 0xdb, 0xc9, 0x60, 0x2c, 0x3d, 0xfc, 0x0b, 0x96, 0x78, 0x6d, 0xe4,
0x3f, 0x46, 0x79, 0xf9, 0x0b, 0x6d, 0xff, 0xf7, 0xd2, 0x73, 0x65, 0xb8, 0x5f, 0x94, 0xff, 0xb2,
0x1f, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0x68, 0x21, 0x22, 0x40, 0x72, 0x0f, 0x00, 0x00,
}