multi: report protocol version

pull/186/head
Joost Jager 4 years ago
parent 7cb914927f
commit 92730e0eaf
No known key found for this signature in database
GPG Key ID: A61B9D4C393C59C7

@ -23,15 +23,49 @@ var _ = math.Inf
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
//*
//This enum defines the protocol versions that clients may adhere to. Note that
//this is not a flagged enum. If a particular protocol version adds a feature,
//then in general all the preceding features are also supported. Exception to this
//is when features get deprecated.
type ProtocolVersion int32
const (
/// No protocol version reported at all.
ProtocolVersion_LEGACY ProtocolVersion = 0
/// Client may attempt to send the loop out payment in multiple parts.
ProtocolVersion_MULTI_LOOP_OUT ProtocolVersion = 1
)
var ProtocolVersion_name = map[int32]string{
0: "LEGACY",
1: "MULTI_LOOP_OUT",
}
var ProtocolVersion_value = map[string]int32{
"LEGACY": 0,
"MULTI_LOOP_OUT": 1,
}
func (x ProtocolVersion) String() string {
return proto.EnumName(ProtocolVersion_name, int32(x))
}
func (ProtocolVersion) EnumDescriptor() ([]byte, []int) {
return fileDescriptor_ad098daeda4239f7, []int{0}
}
type ServerLoopOutRequest struct {
ReceiverKey []byte `protobuf:"bytes,1,opt,name=receiver_key,json=receiverKey,proto3" json:"receiver_key,omitempty"`
SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
Amt uint64 `protobuf:"varint,3,opt,name=amt,proto3" json:"amt,omitempty"`
/// The unix time in seconds we want the on-chain swap to be published by.
SwapPublicationDeadline int64 `protobuf:"varint,4,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
SwapPublicationDeadline int64 `protobuf:"varint,4,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"`
/// The protocol version that the client adheres to.
ProtocolVersion ProtocolVersion `protobuf:"varint,5,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ServerLoopOutRequest) Reset() { *m = ServerLoopOutRequest{} }
@ -87,6 +121,13 @@ func (m *ServerLoopOutRequest) GetSwapPublicationDeadline() int64 {
return 0
}
func (m *ServerLoopOutRequest) GetProtocolVersion() ProtocolVersion {
if m != nil {
return m.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
type ServerLoopOutResponse struct {
SwapInvoice string `protobuf:"bytes,1,opt,name=swap_invoice,json=swapInvoice,proto3" json:"swap_invoice,omitempty"`
PrepayInvoice string `protobuf:"bytes,2,opt,name=prepay_invoice,json=prepayInvoice,proto3" json:"prepay_invoice,omitempty"`
@ -154,10 +195,12 @@ type ServerLoopOutQuoteRequest struct {
/// The swap amount. If zero, a quote for a maximum amt swap will be given.
Amt uint64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
/// The unix time in seconds we want the on-chain swap to be published by.
SwapPublicationDeadline int64 `protobuf:"varint,2,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
SwapPublicationDeadline int64 `protobuf:"varint,2,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"`
/// The protocol version that the client adheres to.
ProtocolVersion ProtocolVersion `protobuf:"varint,3,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ServerLoopOutQuoteRequest) Reset() { *m = ServerLoopOutQuoteRequest{} }
@ -199,6 +242,13 @@ func (m *ServerLoopOutQuoteRequest) GetSwapPublicationDeadline() int64 {
return 0
}
func (m *ServerLoopOutQuoteRequest) GetProtocolVersion() ProtocolVersion {
if m != nil {
return m.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
type ServerLoopOutQuote struct {
SwapPaymentDest string `protobuf:"bytes,1,opt,name=swap_payment_dest,json=swapPaymentDest,proto3" json:"swap_payment_dest,omitempty"`
/// The total estimated swap fee given the quote amt.
@ -292,9 +342,11 @@ func (m *ServerLoopOutQuote) GetCltvDelta() int32 {
}
type ServerLoopOutTermsRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
/// The protocol version that the client adheres to.
ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ServerLoopOutTermsRequest) Reset() { *m = ServerLoopOutTermsRequest{} }
@ -322,6 +374,13 @@ func (m *ServerLoopOutTermsRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_ServerLoopOutTermsRequest proto.InternalMessageInfo
func (m *ServerLoopOutTermsRequest) GetProtocolVersion() ProtocolVersion {
if m != nil {
return m.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
type ServerLoopOutTerms struct {
MinSwapAmount uint64 `protobuf:"varint,1,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
MaxSwapAmount uint64 `protobuf:"varint,2,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
@ -370,14 +429,16 @@ func (m *ServerLoopOutTerms) GetMaxSwapAmount() uint64 {
}
type ServerLoopInRequest struct {
SenderKey []byte `protobuf:"bytes,1,opt,name=sender_key,json=senderKey,proto3" json:"sender_key,omitempty"`
SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
Amt uint64 `protobuf:"varint,3,opt,name=amt,proto3" json:"amt,omitempty"`
SwapInvoice string `protobuf:"bytes,4,opt,name=swap_invoice,json=swapInvoice,proto3" json:"swap_invoice,omitempty"`
LastHop []byte `protobuf:"bytes,5,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
SenderKey []byte `protobuf:"bytes,1,opt,name=sender_key,json=senderKey,proto3" json:"sender_key,omitempty"`
SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
Amt uint64 `protobuf:"varint,3,opt,name=amt,proto3" json:"amt,omitempty"`
SwapInvoice string `protobuf:"bytes,4,opt,name=swap_invoice,json=swapInvoice,proto3" json:"swap_invoice,omitempty"`
LastHop []byte `protobuf:"bytes,5,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
/// The protocol version that the client adheres to.
ProtocolVersion ProtocolVersion `protobuf:"varint,6,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ServerLoopInRequest) Reset() { *m = ServerLoopInRequest{} }
@ -440,6 +501,13 @@ func (m *ServerLoopInRequest) GetLastHop() []byte {
return nil
}
func (m *ServerLoopInRequest) GetProtocolVersion() ProtocolVersion {
if m != nil {
return m.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
type ServerLoopInResponse struct {
ReceiverKey []byte `protobuf:"bytes,1,opt,name=receiver_key,json=receiverKey,proto3" json:"receiver_key,omitempty"`
Expiry int32 `protobuf:"varint,2,opt,name=expiry,proto3" json:"expiry,omitempty"`
@ -489,10 +557,12 @@ func (m *ServerLoopInResponse) GetExpiry() int32 {
type ServerLoopInQuoteRequest struct {
/// The swap amount. If zero, a quote for a maximum amt swap will be given.
Amt uint64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
Amt uint64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
/// The protocol version that the client adheres to.
ProtocolVersion ProtocolVersion `protobuf:"varint,2,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ServerLoopInQuoteRequest) Reset() { *m = ServerLoopInQuoteRequest{} }
@ -527,6 +597,13 @@ func (m *ServerLoopInQuoteRequest) GetAmt() uint64 {
return 0
}
func (m *ServerLoopInQuoteRequest) GetProtocolVersion() ProtocolVersion {
if m != nil {
return m.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
type ServerLoopInQuoteResponse struct {
SwapFee int64 `protobuf:"varint,1,opt,name=swap_fee,json=swapFee,proto3" json:"swap_fee,omitempty"`
SwapFeeRate int64 `protobuf:"varint,2,opt,name=swap_fee_rate,json=swapFeeRate,proto3" json:"swap_fee_rate,omitempty"` // Deprecated: Do not use.
@ -602,9 +679,11 @@ func (m *ServerLoopInQuoteResponse) GetCltvDelta() int32 {
}
type ServerLoopInTermsRequest struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
/// The protocol version that the client adheres to.
ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ServerLoopInTermsRequest) Reset() { *m = ServerLoopInTermsRequest{} }
@ -632,6 +711,13 @@ func (m *ServerLoopInTermsRequest) XXX_DiscardUnknown() {
var xxx_messageInfo_ServerLoopInTermsRequest proto.InternalMessageInfo
func (m *ServerLoopInTermsRequest) GetProtocolVersion() ProtocolVersion {
if m != nil {
return m.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
type ServerLoopInTerms struct {
MinSwapAmount uint64 `protobuf:"varint,1,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
MaxSwapAmount uint64 `protobuf:"varint,2,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
@ -680,6 +766,7 @@ func (m *ServerLoopInTerms) GetMaxSwapAmount() uint64 {
}
func init() {
proto.RegisterEnum("looprpc.ProtocolVersion", ProtocolVersion_name, ProtocolVersion_value)
proto.RegisterType((*ServerLoopOutRequest)(nil), "looprpc.ServerLoopOutRequest")
proto.RegisterType((*ServerLoopOutResponse)(nil), "looprpc.ServerLoopOutResponse")
proto.RegisterType((*ServerLoopOutQuoteRequest)(nil), "looprpc.ServerLoopOutQuoteRequest")
@ -697,51 +784,57 @@ func init() {
func init() { proto.RegisterFile("server.proto", fileDescriptor_ad098daeda4239f7) }
var fileDescriptor_ad098daeda4239f7 = []byte{
// 693 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xdd, 0x4e, 0xdb, 0x4c,
0x10, 0x95, 0x9d, 0x90, 0x90, 0x21, 0x81, 0x8f, 0xfd, 0xfa, 0xe3, 0x04, 0x52, 0x81, 0xa5, 0x22,
0x84, 0x2a, 0x90, 0xda, 0xbb, 0xde, 0x51, 0x21, 0x04, 0x2a, 0x2a, 0xc5, 0x70, 0x6f, 0x2d, 0xc9,
0x94, 0x58, 0xb5, 0xbd, 0x5b, 0x7b, 0x13, 0xc8, 0x9b, 0xb4, 0x97, 0x95, 0xfa, 0x4a, 0x7d, 0x90,
0xbe, 0x41, 0xb5, 0x3f, 0x26, 0xb6, 0xf3, 0x03, 0x48, 0xbd, 0x63, 0x67, 0x0e, 0x33, 0x67, 0xce,
0x9c, 0x89, 0xa1, 0x99, 0x62, 0x32, 0xc2, 0x64, 0x9f, 0x27, 0x4c, 0x30, 0x52, 0x0f, 0x19, 0xe3,
0x09, 0xef, 0x75, 0x36, 0x6f, 0x18, 0xbb, 0x09, 0xf1, 0x80, 0xf2, 0xe0, 0x80, 0xc6, 0x31, 0x13,
0x54, 0x04, 0x2c, 0x4e, 0x35, 0xcc, 0xfd, 0x65, 0xc1, 0xb3, 0x4b, 0xf5, 0x7f, 0x67, 0x8c, 0xf1,
0xf3, 0xa1, 0xf0, 0xf0, 0xdb, 0x10, 0x53, 0x41, 0xb6, 0xa1, 0x99, 0x60, 0x0f, 0x83, 0x11, 0x26,
0xfe, 0x57, 0x1c, 0x3b, 0xd6, 0x96, 0xb5, 0xdb, 0xf4, 0x56, 0xb2, 0xd8, 0x47, 0x1c, 0x93, 0x0d,
0x68, 0xa4, 0xb7, 0x94, 0xfb, 0x03, 0x9a, 0x0e, 0x1c, 0x5b, 0xe5, 0x97, 0x65, 0xe0, 0x84, 0xa6,
0x03, 0xf2, 0x1f, 0x54, 0x68, 0x24, 0x9c, 0xca, 0x96, 0xb5, 0x5b, 0xf5, 0xe4, 0x9f, 0xe4, 0x3d,
0xb4, 0x15, 0x9c, 0x0f, 0xaf, 0xc3, 0xa0, 0xa7, 0x58, 0xf8, 0x7d, 0xa4, 0xfd, 0x30, 0x88, 0xd1,
0xa9, 0x6e, 0x59, 0xbb, 0x15, 0xef, 0xa5, 0x04, 0x7c, 0x9e, 0xe4, 0x8f, 0x4c, 0xda, 0xfd, 0x6e,
0xc1, 0xf3, 0x12, 0xcd, 0x94, 0xb3, 0x38, 0x45, 0xc9, 0x53, 0x55, 0x0d, 0xe2, 0x11, 0x0b, 0x7a,
0xa8, 0x78, 0x36, 0xbc, 0x15, 0x19, 0x3b, 0xd5, 0x21, 0xf2, 0x1a, 0x56, 0x79, 0x82, 0x9c, 0x8e,
0xef, 0x41, 0xb6, 0x02, 0xb5, 0x74, 0x34, 0x83, 0x75, 0x01, 0x52, 0x8c, 0xfb, 0x66, 0xde, 0x8a,
0x9a, 0xa7, 0xa1, 0x23, 0x72, 0xda, 0x17, 0x50, 0xc3, 0x3b, 0x1e, 0x24, 0x63, 0xc5, 0x75, 0xc9,
0x33, 0x2f, 0x37, 0x80, 0x76, 0x81, 0xd9, 0xc5, 0x90, 0x09, 0xcc, 0x54, 0x34, 0x2a, 0x58, 0x8f,
0x54, 0xc1, 0x5e, 0xac, 0xc2, 0x0f, 0x1b, 0xc8, 0x74, 0x2f, 0xb2, 0x07, 0xeb, 0xba, 0x24, 0x1d,
0x47, 0x18, 0x0b, 0xbf, 0x8f, 0xa9, 0x30, 0x3a, 0xac, 0xa9, 0x52, 0x3a, 0x7e, 0x24, 0x09, 0xb5,
0x41, 0xad, 0xc8, 0xff, 0x82, 0x59, 0xb7, 0xba, 0x7c, 0x1f, 0x23, 0x92, 0x1d, 0x68, 0x65, 0x29,
0x3f, 0xa1, 0x02, 0x95, 0x04, 0x95, 0x0f, 0xb6, 0x63, 0x69, 0x39, 0x8f, 0x11, 0x3d, 0x2a, 0x94,
0x4e, 0x46, 0x4e, 0x39, 0x5a, 0x55, 0x8d, 0xd6, 0xd0, 0x91, 0xc3, 0x48, 0x90, 0x3d, 0x58, 0x8b,
0x82, 0xd8, 0x57, 0xa5, 0x68, 0xc4, 0x86, 0xb1, 0x70, 0x96, 0x24, 0x46, 0x15, 0x6a, 0x45, 0x41,
0x7c, 0x79, 0x4b, 0xf9, 0xa1, 0x4a, 0x28, 0x2c, 0xbd, 0x2b, 0x60, 0x6b, 0x39, 0x2c, 0xbd, 0xcb,
0x61, 0xbb, 0x00, 0xbd, 0x50, 0x8c, 0xfc, 0x3e, 0x86, 0x82, 0x3a, 0x75, 0xb5, 0x83, 0x86, 0x8c,
0x1c, 0xc9, 0x80, 0xbb, 0x51, 0x5a, 0xc3, 0x15, 0x26, 0x51, 0x6a, 0xd6, 0xe0, 0xf6, 0x4b, 0xba,
0xa9, 0x24, 0xd9, 0x99, 0x66, 0xaa, 0x17, 0x55, 0x62, 0xb9, 0x33, 0xcd, 0xd2, 0x36, 0xb8, 0x3c,
0x43, 0xf7, 0xa7, 0x05, 0xff, 0x4f, 0xda, 0x9c, 0xc6, 0x99, 0x09, 0x8a, 0xc6, 0xb2, 0xca, 0xc6,
0x7a, 0xe2, 0x19, 0x95, 0x0d, 0x5f, 0x9d, 0x36, 0x7c, 0x1b, 0x96, 0x43, 0x9a, 0x0a, 0x7f, 0xc0,
0xb8, 0xd2, 0xbe, 0xe9, 0xd5, 0xe5, 0xfb, 0x84, 0x71, 0xf7, 0x22, 0x7f, 0xee, 0x92, 0xe2, 0xe4,
0x8c, 0x1e, 0x3a, 0xf7, 0xc9, 0x01, 0xd8, 0x85, 0x03, 0x78, 0x03, 0x4e, 0xbe, 0xe4, 0x62, 0xff,
0xbb, 0xbf, 0xad, 0xfc, 0xa2, 0xee, 0xe1, 0x86, 0x46, 0xde, 0x9e, 0xd6, 0x03, 0xf6, 0xb4, 0x67,
0xdb, 0x73, 0x86, 0xff, 0xaa, 0x4f, 0xf0, 0xdf, 0xd2, 0xe3, 0xfc, 0x57, 0x2b, 0xfb, 0xaf, 0x53,
0x54, 0xa1, 0x60, 0xbf, 0x1e, 0xac, 0x4f, 0xe5, 0xfe, 0xb5, 0xfb, 0xde, 0xfe, 0xa9, 0x00, 0xc8,
0xa7, 0xee, 0x44, 0xce, 0xa1, 0x59, 0x30, 0xbb, 0xbb, 0x6f, 0x3e, 0x08, 0xfb, 0x73, 0xcf, 0xa4,
0xb3, 0xb1, 0x00, 0x43, 0xce, 0x61, 0xf5, 0x13, 0xde, 0x9a, 0x90, 0x6c, 0x44, 0xba, 0xb3, 0xe1,
0x59, 0xb5, 0x57, 0xf3, 0xd2, 0x66, 0xd7, 0x13, 0x86, 0xfa, 0x67, 0x6c, 0x0e, 0xc3, 0xbc, 0x9f,
0xe6, 0x31, 0xd4, 0x05, 0xce, 0x60, 0x25, 0x2f, 0xf0, 0xf6, 0x0c, 0x6c, 0x71, 0x31, 0x9d, 0xce,
0x7c, 0x08, 0x39, 0x83, 0x96, 0x99, 0xf7, 0x54, 0xad, 0x83, 0x6c, 0xce, 0x04, 0x67, 0xa5, 0xba,
0x73, 0xb2, 0x66, 0xd8, 0xab, 0x8c, 0x9b, 0xa6, 0x3a, 0x9b, 0x5b, 0x61, 0x54, 0x77, 0x11, 0x44,
0x57, 0xbd, 0xae, 0xa9, 0x8f, 0xf8, 0xbb, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x6c, 0x99, 0x4f,
0x5f, 0xfb, 0x07, 0x00, 0x00,
// 786 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x55, 0xdd, 0x52, 0xda, 0x40,
0x14, 0x6e, 0x02, 0x82, 0x1c, 0xf9, 0x73, 0xfb, 0x17, 0x50, 0x3a, 0xc8, 0x4c, 0x1d, 0xc6, 0x0b,
0x9d, 0xda, 0xbb, 0xde, 0x59, 0xad, 0x95, 0x29, 0x2d, 0x1a, 0xb1, 0x33, 0xbd, 0x4a, 0x57, 0x38,
0x95, 0x4c, 0x43, 0x36, 0x26, 0x0b, 0xca, 0x9b, 0xb4, 0x2f, 0xd1, 0xb7, 0xe9, 0x2b, 0x74, 0xa6,
0x97, 0x7d, 0x83, 0x4e, 0x36, 0x89, 0x24, 0x21, 0xa8, 0xcc, 0x78, 0x67, 0xce, 0x7e, 0x9e, 0xfd,
0xbe, 0xef, 0x9c, 0x6f, 0x81, 0xbc, 0x83, 0xf6, 0x18, 0xed, 0x6d, 0xcb, 0x66, 0x9c, 0x91, 0xac,
0xc1, 0x98, 0x65, 0x5b, 0xbd, 0xea, 0xfa, 0x05, 0x63, 0x17, 0x06, 0xee, 0x50, 0x4b, 0xdf, 0xa1,
0xa6, 0xc9, 0x38, 0xe5, 0x3a, 0x33, 0x1d, 0x0f, 0xd6, 0xf8, 0x2b, 0xc1, 0x93, 0x53, 0xf1, 0x7f,
0x6d, 0xc6, 0xac, 0xce, 0x88, 0xab, 0x78, 0x39, 0x42, 0x87, 0x93, 0x0d, 0xc8, 0xdb, 0xd8, 0x43,
0x7d, 0x8c, 0xb6, 0xf6, 0x1d, 0x27, 0x8a, 0x54, 0x97, 0x9a, 0x79, 0x75, 0x25, 0xa8, 0x7d, 0xc0,
0x09, 0x59, 0x83, 0x9c, 0x73, 0x45, 0x2d, 0x6d, 0x40, 0x9d, 0x81, 0x22, 0x8b, 0xf3, 0x65, 0xb7,
0x70, 0x44, 0x9d, 0x01, 0x29, 0x43, 0x8a, 0x0e, 0xb9, 0x92, 0xaa, 0x4b, 0xcd, 0xb4, 0xea, 0xfe,
0x49, 0xde, 0x40, 0x45, 0xc0, 0xad, 0xd1, 0xb9, 0xa1, 0xf7, 0x04, 0x0b, 0xad, 0x8f, 0xb4, 0x6f,
0xe8, 0x26, 0x2a, 0xe9, 0xba, 0xd4, 0x4c, 0xa9, 0xcf, 0x5d, 0xc0, 0xf1, 0xf4, 0xfc, 0xc0, 0x3f,
0x26, 0xfb, 0x50, 0x16, 0x7c, 0x7b, 0xcc, 0xd0, 0xc6, 0x68, 0x3b, 0x3a, 0x33, 0x95, 0xa5, 0xba,
0xd4, 0x2c, 0xee, 0x2a, 0xdb, 0xbe, 0xd0, 0xed, 0x63, 0x1f, 0xf0, 0xd9, 0x3b, 0x57, 0x4b, 0x56,
0xb4, 0xd0, 0xf8, 0x21, 0xc1, 0xd3, 0x98, 0x56, 0xc7, 0x62, 0xa6, 0x83, 0xae, 0x58, 0x41, 0x4d,
0x37, 0xc7, 0x4c, 0xef, 0xa1, 0x10, 0x9b, 0x53, 0x57, 0xdc, 0x5a, 0xcb, 0x2b, 0x91, 0x97, 0x50,
0xb4, 0x6c, 0xb4, 0xe8, 0xe4, 0x06, 0x24, 0x0b, 0x50, 0xc1, 0xab, 0x06, 0xb0, 0x1a, 0x80, 0x83,
0x66, 0xdf, 0x37, 0x2d, 0x25, 0x4c, 0xc9, 0x79, 0x15, 0xd7, 0xb2, 0x67, 0x90, 0xc1, 0x6b, 0x4b,
0xb7, 0x27, 0x42, 0xf0, 0x92, 0xea, 0x7f, 0x35, 0x7e, 0x49, 0x50, 0x89, 0x50, 0x3b, 0x19, 0x31,
0x8e, 0xc1, 0x2c, 0x7c, 0x2f, 0xa5, 0x7b, 0x7a, 0x29, 0x2f, 0xee, 0x65, 0x6a, 0x51, 0x2f, 0x7f,
0xca, 0x40, 0x66, 0x09, 0x93, 0x2d, 0x58, 0xf5, 0x78, 0xd1, 0xc9, 0x10, 0x4d, 0xae, 0xf5, 0xd1,
0xe1, 0xbe, 0x9b, 0x25, 0xc1, 0xc7, 0xab, 0x1f, 0xb8, 0xaa, 0x2a, 0x20, 0xb6, 0x45, 0xfb, 0x86,
0x01, 0xe5, 0xac, 0xfb, 0x7d, 0x88, 0x48, 0x36, 0xa1, 0x10, 0x1c, 0x69, 0x36, 0xe5, 0x28, 0xf8,
0xa5, 0xde, 0xca, 0x8a, 0xe4, 0x0d, 0xe5, 0x10, 0x51, 0xa5, 0x5c, 0xb8, 0xed, 0x0f, 0xc5, 0xf5,
0x27, 0x2d, 0xfc, 0xc9, 0x79, 0x95, 0xbd, 0x21, 0x27, 0x5b, 0x50, 0x1a, 0xea, 0xa6, 0x26, 0x5a,
0xd1, 0x21, 0x1b, 0x99, 0x5c, 0x2c, 0x4d, 0x5a, 0x34, 0x2a, 0x0c, 0x75, 0xf3, 0xf4, 0x8a, 0x5a,
0x7b, 0xe2, 0x40, 0x60, 0xe9, 0x75, 0x04, 0x9b, 0x09, 0x61, 0xe9, 0x75, 0x08, 0x5b, 0x03, 0xe8,
0x19, 0x7c, 0xac, 0xf5, 0xd1, 0xe0, 0x54, 0xc9, 0x8a, 0x49, 0xe6, 0xdc, 0xca, 0x81, 0x5b, 0x68,
0x7c, 0x8d, 0xcd, 0xb2, 0x8b, 0xf6, 0xd0, 0x09, 0x66, 0x99, 0xe4, 0xbe, 0xb4, 0xa8, 0xfb, 0xfd,
0x98, 0xf9, 0xe2, 0x06, 0xb2, 0x39, 0x2b, 0xd7, 0x5b, 0x99, 0x98, 0xd4, 0xcd, 0x59, 0xa9, 0xb2,
0x8f, 0x0b, 0xcb, 0x6c, 0xfc, 0x91, 0xe0, 0xf1, 0xf4, 0x9a, 0x96, 0x19, 0x48, 0x88, 0xee, 0xb8,
0x14, 0xdf, 0xf1, 0x05, 0x9f, 0x85, 0x78, 0xf6, 0xd2, 0xb3, 0xd9, 0xab, 0xc0, 0xb2, 0x41, 0x1d,
0xae, 0x0d, 0x98, 0x25, 0x06, 0x98, 0x57, 0xb3, 0xee, 0xf7, 0x11, 0xb3, 0x12, 0xed, 0xcc, 0x2c,
0x6a, 0xe7, 0x49, 0xf8, 0x0d, 0x74, 0x75, 0x4e, 0x9f, 0x85, 0xbb, 0xde, 0xc0, 0x69, 0xa0, 0xe5,
0x48, 0xa0, 0x2f, 0x41, 0x09, 0xb7, 0xbc, 0x23, 0xce, 0x49, 0x2a, 0xe4, 0x45, 0x55, 0xfc, 0x8e,
0xbc, 0x21, 0x37, 0x77, 0xfa, 0x5a, 0xc2, 0x69, 0x93, 0xee, 0x48, 0x9b, 0x9c, 0x9c, 0xb6, 0x84,
0x38, 0xa5, 0x17, 0x88, 0xd3, 0xd2, 0xfd, 0xe2, 0x94, 0x89, 0xc7, 0x49, 0x8b, 0x5a, 0xf9, 0xf0,
0x69, 0xea, 0xc1, 0xea, 0xcc, 0x05, 0x0f, 0x1d, 0xa6, 0xad, 0x57, 0x50, 0x8a, 0x11, 0x21, 0x00,
0x99, 0xf6, 0xbb, 0xf7, 0x7b, 0xfb, 0x5f, 0xca, 0x8f, 0x08, 0x81, 0xe2, 0xc7, 0xb3, 0x76, 0xb7,
0xa5, 0xb5, 0x3b, 0x9d, 0x63, 0xad, 0x73, 0xd6, 0x2d, 0x4b, 0xbb, 0xff, 0x52, 0x00, 0x6e, 0x07,
0x8f, 0x1c, 0xe9, 0x40, 0x3e, 0x12, 0xf7, 0xc6, 0x8d, 0xc2, 0xb9, 0xaf, 0x4d, 0x75, 0xed, 0x16,
0x0c, 0xe9, 0x40, 0xf1, 0x13, 0x5e, 0xf9, 0x25, 0xf7, 0x22, 0x52, 0x4b, 0x86, 0x07, 0xdd, 0x5e,
0xcc, 0x3b, 0xf6, 0x77, 0x6c, 0xca, 0xd0, 0xfb, 0x35, 0x98, 0xc3, 0x30, 0x1c, 0x86, 0x79, 0x0c,
0xbd, 0x06, 0x6d, 0x58, 0x09, 0xcf, 0x64, 0x23, 0x01, 0x1b, 0x5d, 0x88, 0x6a, 0x75, 0x3e, 0x84,
0xb4, 0xa1, 0xe0, 0xeb, 0x6d, 0x89, 0x09, 0x92, 0xf5, 0x44, 0x70, 0xd0, 0xaa, 0x36, 0xe7, 0xd4,
0x17, 0xdb, 0x0d, 0xb8, 0x79, 0x54, 0x93, 0xb9, 0x45, 0xa4, 0x36, 0x6e, 0x83, 0x78, 0x5d, 0xcf,
0x33, 0x62, 0x39, 0x5f, 0xff, 0x0f, 0x00, 0x00, 0xff, 0xff, 0xd4, 0x54, 0xd0, 0xf3, 0xcd, 0x09,
0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

@ -19,6 +19,20 @@ service SwapServer {
returns (ServerLoopInQuoteResponse);
}
/**
This enum defines the protocol versions that clients may adhere to. Note that
this is not a flagged enum. If a particular protocol version adds a feature,
then in general all the preceding features are also supported. Exception to this
is when features get deprecated.
*/
enum ProtocolVersion {
/// No protocol version reported at all.
LEGACY = 0;
/// Client may attempt to send the loop out payment in multiple parts.
MULTI_LOOP_OUT = 1;
}
message ServerLoopOutRequest {
bytes receiver_key = 1;
@ -28,6 +42,9 @@ message ServerLoopOutRequest {
/// The unix time in seconds we want the on-chain swap to be published by.
int64 swap_publication_deadline = 4;
/// The protocol version that the client adheres to.
ProtocolVersion protocol_version = 5;
}
message ServerLoopOutResponse {
@ -46,6 +63,9 @@ message ServerLoopOutQuoteRequest {
/// The unix time in seconds we want the on-chain swap to be published by.
int64 swap_publication_deadline = 2;
/// The protocol version that the client adheres to.
ProtocolVersion protocol_version = 3;
}
message ServerLoopOutQuote {
@ -67,6 +87,8 @@ message ServerLoopOutQuote {
}
message ServerLoopOutTermsRequest {
/// The protocol version that the client adheres to.
ProtocolVersion protocol_version = 1;
}
message ServerLoopOutTerms {
@ -80,6 +102,9 @@ message ServerLoopInRequest {
uint64 amt = 3;
string swap_invoice = 4;
bytes last_hop = 5;
/// The protocol version that the client adheres to.
ProtocolVersion protocol_version = 6;
}
message ServerLoopInResponse {
@ -90,6 +115,9 @@ message ServerLoopInResponse {
message ServerLoopInQuoteRequest {
/// The swap amount. If zero, a quote for a maximum amt swap will be given.
uint64 amt = 1;
/// The protocol version that the client adheres to.
ProtocolVersion protocol_version = 2;
}
message ServerLoopInQuoteResponse {
@ -101,6 +129,8 @@ message ServerLoopInQuoteResponse {
}
message ServerLoopInTermsRequest {
/// The protocol version that the client adheres to.
ProtocolVersion protocol_version = 1;
}
message ServerLoopInTerms {

@ -21,6 +21,10 @@ import (
"google.golang.org/grpc/credentials"
)
// protocolVersion defines the version of the protocol that is currently
// supported by the loop client.
const protocolVersion = looprpc.ProtocolVersion_MULTI_LOOP_OUT
type swapServerClient interface {
GetLoopOutTerms(ctx context.Context) (
*LoopOutTerms, error)
@ -84,7 +88,9 @@ func (s *grpcSwapServerClient) GetLoopOutTerms(ctx context.Context) (
rpcCtx, rpcCancel := context.WithTimeout(ctx, globalCallTimeout)
defer rpcCancel()
terms, err := s.server.LoopOutTerms(rpcCtx,
&looprpc.ServerLoopOutTermsRequest{},
&looprpc.ServerLoopOutTermsRequest{
ProtocolVersion: protocolVersion,
},
)
if err != nil {
return nil, err
@ -106,6 +112,7 @@ func (s *grpcSwapServerClient) GetLoopOutQuote(ctx context.Context,
&looprpc.ServerLoopOutQuoteRequest{
Amt: uint64(amt),
SwapPublicationDeadline: swapPublicationDeadline.Unix(),
ProtocolVersion: protocolVersion,
},
)
if err != nil {
@ -136,7 +143,9 @@ func (s *grpcSwapServerClient) GetLoopInTerms(ctx context.Context) (
rpcCtx, rpcCancel := context.WithTimeout(ctx, globalCallTimeout)
defer rpcCancel()
terms, err := s.server.LoopInTerms(rpcCtx,
&looprpc.ServerLoopInTermsRequest{},
&looprpc.ServerLoopInTermsRequest{
ProtocolVersion: protocolVersion,
},
)
if err != nil {
return nil, err
@ -155,7 +164,8 @@ func (s *grpcSwapServerClient) GetLoopInQuote(ctx context.Context,
defer rpcCancel()
quoteResp, err := s.server.LoopInQuote(rpcCtx,
&looprpc.ServerLoopInQuoteRequest{
Amt: uint64(amt),
Amt: uint64(amt),
ProtocolVersion: protocolVersion,
},
)
if err != nil {
@ -181,6 +191,7 @@ func (s *grpcSwapServerClient) NewLoopOutSwap(ctx context.Context,
Amt: uint64(amount),
ReceiverKey: receiverKey[:],
SwapPublicationDeadline: swapPublicationDeadline.Unix(),
ProtocolVersion: protocolVersion,
},
)
if err != nil {
@ -212,10 +223,11 @@ func (s *grpcSwapServerClient) NewLoopInSwap(ctx context.Context,
defer rpcCancel()
req := &looprpc.ServerLoopInRequest{
SwapHash: swapHash[:],
Amt: uint64(amount),
SenderKey: senderKey[:],
SwapInvoice: swapInvoice,
SwapHash: swapHash[:],
Amt: uint64(amount),
SenderKey: senderKey[:],
SwapInvoice: swapInvoice,
ProtocolVersion: protocolVersion,
}
if lastHop != nil {
req.LastHop = lastHop[:]

Loading…
Cancel
Save