2
0
mirror of https://github.com/lightninglabs/loop synced 2024-11-04 06:00:21 +00:00
loop/swapserverrpc/server.pb.go
sputn1ck 6d5d21075f
swapserverrpc: Add Fetchl402 call
This commit adds a new FetchL402 call which allows a client to retrieve
a l402 token from the loop server.
2023-12-11 20:09:04 +01:00

3693 lines
142 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.30.0
// protoc v3.6.1
// source: server.proto
// We can't change this to swapserverrpc, it would be a breaking change because
// the package name is also contained in the HTTP URIs and old clients would
// call the wrong endpoints. Luckily with the go_package option we can have
// different golang and RPC package names to fix protobuf namespace conflicts.
package swapserverrpc
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
//*
//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
//*
//Loop will use native segwit (P2WSH) htlcs by default, while externally
//published htlcs may use native (P2WSH) or nested (NP2WSH) segwit as well.
ProtocolVersion_NATIVE_SEGWIT_LOOP_IN ProtocolVersion = 2
//
//Once the on chain loop out htlc is confirmed, the client can push the swap
//preimage to the server to speed up claim of their off chain htlc (acquiring
//incoming liquidity more quickly than if the server waited for the on chain
//claim tx).
ProtocolVersion_PREIMAGE_PUSH_LOOP_OUT ProtocolVersion = 3
// The client will propose a cltv expiry height for loop out.
ProtocolVersion_USER_EXPIRY_LOOP_OUT ProtocolVersion = 4
// The client will use the new v2 HTLC scripts.
ProtocolVersion_HTLC_V2 ProtocolVersion = 5
// The client creates a probe invoice so that the server can perform a
// multi-path probe.
ProtocolVersion_MULTI_LOOP_IN ProtocolVersion = 6
// The client supports loop out swap cancelation.
ProtocolVersion_LOOP_OUT_CANCEL ProtocolVersion = 7
// The client is able to ask the server to probe to test inbound liquidity
// and provide more accurate loop-in fees.
ProtocolVersion_PROBE ProtocolVersion = 8
// The client may ask the server to use a custom routing helper plugin in
// order to enhance off-chain payments corresponding to a swap.
ProtocolVersion_ROUTING_PLUGIN ProtocolVersion = 9
// The client will use the new v3 (taproot) HTLC scripts.
ProtocolVersion_HTLC_V3 ProtocolVersion = 10
// Enables MuSig2 signature scheme for swaps.
ProtocolVersion_MUSIG2 ProtocolVersion = 11
)
// Enum value maps for ProtocolVersion.
var (
ProtocolVersion_name = map[int32]string{
0: "LEGACY",
1: "MULTI_LOOP_OUT",
2: "NATIVE_SEGWIT_LOOP_IN",
3: "PREIMAGE_PUSH_LOOP_OUT",
4: "USER_EXPIRY_LOOP_OUT",
5: "HTLC_V2",
6: "MULTI_LOOP_IN",
7: "LOOP_OUT_CANCEL",
8: "PROBE",
9: "ROUTING_PLUGIN",
10: "HTLC_V3",
11: "MUSIG2",
}
ProtocolVersion_value = map[string]int32{
"LEGACY": 0,
"MULTI_LOOP_OUT": 1,
"NATIVE_SEGWIT_LOOP_IN": 2,
"PREIMAGE_PUSH_LOOP_OUT": 3,
"USER_EXPIRY_LOOP_OUT": 4,
"HTLC_V2": 5,
"MULTI_LOOP_IN": 6,
"LOOP_OUT_CANCEL": 7,
"PROBE": 8,
"ROUTING_PLUGIN": 9,
"HTLC_V3": 10,
"MUSIG2": 11,
}
)
func (x ProtocolVersion) Enum() *ProtocolVersion {
p := new(ProtocolVersion)
*p = x
return p
}
func (x ProtocolVersion) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ProtocolVersion) Descriptor() protoreflect.EnumDescriptor {
return file_server_proto_enumTypes[0].Descriptor()
}
func (ProtocolVersion) Type() protoreflect.EnumType {
return &file_server_proto_enumTypes[0]
}
func (x ProtocolVersion) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ProtocolVersion.Descriptor instead.
func (ProtocolVersion) EnumDescriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{0}
}
// ServerSwapState is an enum which represents all the states a swap may have
// from the server's perspective.
type ServerSwapState int32
const (
// The server has created the swap.
ServerSwapState_SERVER_INITIATED ServerSwapState = 0
// The server has published the loop out on chain htlc.
ServerSwapState_SERVER_HTLC_PUBLISHED ServerSwapState = 1
// The swap completed successfully.
ServerSwapState_SERVER_SUCCESS ServerSwapState = 2
//
//The swap failed for a reason that is unknown to the server, this is only
//set for older swaps.
ServerSwapState_SERVER_FAILED_UNKNOWN ServerSwapState = 3
// No htlc was confirmed in time for the loop in swap to complete.
ServerSwapState_SERVER_FAILED_NO_HTLC ServerSwapState = 4
// A loop in htlc confirmed on chain, but it did not have the correct value.
ServerSwapState_SERVER_FAILED_INVALID_HTLC_AMOUNT ServerSwapState = 5
//
//We did not succeed in completing the loop in off chain payment before the
//timeout.
ServerSwapState_SERVER_FAILED_OFF_CHAIN_TIMEOUT ServerSwapState = 6
// The on chain timeout was claimed.
ServerSwapState_SERVER_FAILED_TIMEOUT ServerSwapState = 7
//
//The server could not publish the loop out on chain htlc before the deadline
//provided.
ServerSwapState_SERVER_FAILED_SWAP_DEADLINE ServerSwapState = 8
// The server could not publish the loop out on chain htlc.
ServerSwapState_SERVER_FAILED_HTLC_PUBLICATION ServerSwapState = 9
// The server has published the loop out on chain timeout tx.
ServerSwapState_SERVER_TIMEOUT_PUBLISHED ServerSwapState = 10
// The swap has failed for unknown reasons, it will not be completed.
ServerSwapState_SERVER_UNEXPECTED_FAILURE ServerSwapState = 11
// The swap htlc has confirmed on chain.
ServerSwapState_SERVER_HTLC_CONFIRMED ServerSwapState = 12
// The client canceled the swap because they could not route the prepay.
ServerSwapState_SERVER_CLIENT_PREPAY_CANCEL ServerSwapState = 13
// The client canceled the swap because they could not route the swap
// payment.
ServerSwapState_SERVER_CLIENT_INVOICE_CANCEL ServerSwapState = 14
//
//A loop in swap was rejected because it contained multiple outputs for a
//single swap.
ServerSwapState_SERVER_FAILED_MULTIPLE_SWAP_SCRIPTS ServerSwapState = 15
//
//The swap failed during creation.
ServerSwapState_SERVER_FAILED_INITIALIZATION ServerSwapState = 16
)
// Enum value maps for ServerSwapState.
var (
ServerSwapState_name = map[int32]string{
0: "SERVER_INITIATED",
1: "SERVER_HTLC_PUBLISHED",
2: "SERVER_SUCCESS",
3: "SERVER_FAILED_UNKNOWN",
4: "SERVER_FAILED_NO_HTLC",
5: "SERVER_FAILED_INVALID_HTLC_AMOUNT",
6: "SERVER_FAILED_OFF_CHAIN_TIMEOUT",
7: "SERVER_FAILED_TIMEOUT",
8: "SERVER_FAILED_SWAP_DEADLINE",
9: "SERVER_FAILED_HTLC_PUBLICATION",
10: "SERVER_TIMEOUT_PUBLISHED",
11: "SERVER_UNEXPECTED_FAILURE",
12: "SERVER_HTLC_CONFIRMED",
13: "SERVER_CLIENT_PREPAY_CANCEL",
14: "SERVER_CLIENT_INVOICE_CANCEL",
15: "SERVER_FAILED_MULTIPLE_SWAP_SCRIPTS",
16: "SERVER_FAILED_INITIALIZATION",
}
ServerSwapState_value = map[string]int32{
"SERVER_INITIATED": 0,
"SERVER_HTLC_PUBLISHED": 1,
"SERVER_SUCCESS": 2,
"SERVER_FAILED_UNKNOWN": 3,
"SERVER_FAILED_NO_HTLC": 4,
"SERVER_FAILED_INVALID_HTLC_AMOUNT": 5,
"SERVER_FAILED_OFF_CHAIN_TIMEOUT": 6,
"SERVER_FAILED_TIMEOUT": 7,
"SERVER_FAILED_SWAP_DEADLINE": 8,
"SERVER_FAILED_HTLC_PUBLICATION": 9,
"SERVER_TIMEOUT_PUBLISHED": 10,
"SERVER_UNEXPECTED_FAILURE": 11,
"SERVER_HTLC_CONFIRMED": 12,
"SERVER_CLIENT_PREPAY_CANCEL": 13,
"SERVER_CLIENT_INVOICE_CANCEL": 14,
"SERVER_FAILED_MULTIPLE_SWAP_SCRIPTS": 15,
"SERVER_FAILED_INITIALIZATION": 16,
}
)
func (x ServerSwapState) Enum() *ServerSwapState {
p := new(ServerSwapState)
*p = x
return p
}
func (x ServerSwapState) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ServerSwapState) Descriptor() protoreflect.EnumDescriptor {
return file_server_proto_enumTypes[1].Descriptor()
}
func (ServerSwapState) Type() protoreflect.EnumType {
return &file_server_proto_enumTypes[1]
}
func (x ServerSwapState) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ServerSwapState.Descriptor instead.
func (ServerSwapState) EnumDescriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{1}
}
type RoutePaymentType int32
const (
// No reason, used to distinguish from the default value.
RoutePaymentType_ROUTE_UNKNOWN RoutePaymentType = 0
// Prepay route indicates that the swap was canceled because the client
// could not find a route to the server for the prepay.
RoutePaymentType_PREPAY_ROUTE RoutePaymentType = 1
// Invoice route indicates that the swap was canceled because the client
// could not find a route to the server for the swap invoice.
RoutePaymentType_INVOICE_ROUTE RoutePaymentType = 2
)
// Enum value maps for RoutePaymentType.
var (
RoutePaymentType_name = map[int32]string{
0: "ROUTE_UNKNOWN",
1: "PREPAY_ROUTE",
2: "INVOICE_ROUTE",
}
RoutePaymentType_value = map[string]int32{
"ROUTE_UNKNOWN": 0,
"PREPAY_ROUTE": 1,
"INVOICE_ROUTE": 2,
}
)
func (x RoutePaymentType) Enum() *RoutePaymentType {
p := new(RoutePaymentType)
*p = x
return p
}
func (x RoutePaymentType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RoutePaymentType) Descriptor() protoreflect.EnumDescriptor {
return file_server_proto_enumTypes[2].Descriptor()
}
func (RoutePaymentType) Type() protoreflect.EnumType {
return &file_server_proto_enumTypes[2]
}
func (x RoutePaymentType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RoutePaymentType.Descriptor instead.
func (RoutePaymentType) EnumDescriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{2}
}
// PaymentFailureReason describes the reason that a payment failed. These
// values are copied directly from lnd.
type PaymentFailureReason int32
const (
//
//Payment isn't failed (yet).
PaymentFailureReason_LND_FAILURE_REASON_NONE PaymentFailureReason = 0
//
//There are more routes to try, but the payment timeout was exceeded.
PaymentFailureReason_LND_FAILURE_REASON_TIMEOUT PaymentFailureReason = 1
//
//All possible routes were tried and failed permanently. Or were no
//routes to the destination at all.
PaymentFailureReason_LND_FAILURE_REASON_NO_ROUTE PaymentFailureReason = 2
//
//A non-recoverable error has occured.
PaymentFailureReason_LND_FAILURE_REASON_ERROR PaymentFailureReason = 3
//
//Payment details incorrect (unknown hash, invalid amt or
//invalid final cltv delta)
PaymentFailureReason_LND_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS PaymentFailureReason = 4
//
//Insufficient local balance.
PaymentFailureReason_LND_FAILURE_REASON_INSUFFICIENT_BALANCE PaymentFailureReason = 5
)
// Enum value maps for PaymentFailureReason.
var (
PaymentFailureReason_name = map[int32]string{
0: "LND_FAILURE_REASON_NONE",
1: "LND_FAILURE_REASON_TIMEOUT",
2: "LND_FAILURE_REASON_NO_ROUTE",
3: "LND_FAILURE_REASON_ERROR",
4: "LND_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS",
5: "LND_FAILURE_REASON_INSUFFICIENT_BALANCE",
}
PaymentFailureReason_value = map[string]int32{
"LND_FAILURE_REASON_NONE": 0,
"LND_FAILURE_REASON_TIMEOUT": 1,
"LND_FAILURE_REASON_NO_ROUTE": 2,
"LND_FAILURE_REASON_ERROR": 3,
"LND_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS": 4,
"LND_FAILURE_REASON_INSUFFICIENT_BALANCE": 5,
}
)
func (x PaymentFailureReason) Enum() *PaymentFailureReason {
p := new(PaymentFailureReason)
*p = x
return p
}
func (x PaymentFailureReason) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (PaymentFailureReason) Descriptor() protoreflect.EnumDescriptor {
return file_server_proto_enumTypes[3].Descriptor()
}
func (PaymentFailureReason) Type() protoreflect.EnumType {
return &file_server_proto_enumTypes[3]
}
func (x PaymentFailureReason) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use PaymentFailureReason.Descriptor instead.
func (PaymentFailureReason) EnumDescriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{3}
}
type RoutingPlugin int32
const (
// Client won't use any plugins to help with payment routing.
RoutingPlugin_NONE RoutingPlugin = 0
// Client will try more expensive routes for off-chain payments.
RoutingPlugin_LOW_HIGH RoutingPlugin = 1
)
// Enum value maps for RoutingPlugin.
var (
RoutingPlugin_name = map[int32]string{
0: "NONE",
1: "LOW_HIGH",
}
RoutingPlugin_value = map[string]int32{
"NONE": 0,
"LOW_HIGH": 1,
}
)
func (x RoutingPlugin) Enum() *RoutingPlugin {
p := new(RoutingPlugin)
*p = x
return p
}
func (x RoutingPlugin) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (RoutingPlugin) Descriptor() protoreflect.EnumDescriptor {
return file_server_proto_enumTypes[4].Descriptor()
}
func (RoutingPlugin) Type() protoreflect.EnumType {
return &file_server_proto_enumTypes[4]
}
func (x RoutingPlugin) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use RoutingPlugin.Descriptor instead.
func (RoutingPlugin) EnumDescriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{4}
}
type ServerLoopOutRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
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"`
/// 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"`
// The requested absolute block height of the on-chain htlc. This is
// subjected to min and max constraints as reported in the LoopOutTerms
// response.
Expiry int32 `protobuf:"varint,6,opt,name=expiry,proto3" json:"expiry,omitempty"`
// The user agent string that identifies the software running on the user's
// side. This can be changed in the user's client software but it _SHOULD_
// conform to the following pattern:
// Agent-Name/semver-version(/additional-info)
// Examples:
// loopd/v0.10.0-beta/commit=3b635821
// litd/v0.2.0-alpha/commit=326d754
UserAgent string `protobuf:"bytes,7,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}
func (x *ServerLoopOutRequest) Reset() {
*x = ServerLoopOutRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopOutRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopOutRequest) ProtoMessage() {}
func (x *ServerLoopOutRequest) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopOutRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopOutRequest) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{0}
}
func (x *ServerLoopOutRequest) GetReceiverKey() []byte {
if x != nil {
return x.ReceiverKey
}
return nil
}
func (x *ServerLoopOutRequest) GetSwapHash() []byte {
if x != nil {
return x.SwapHash
}
return nil
}
func (x *ServerLoopOutRequest) GetAmt() uint64 {
if x != nil {
return x.Amt
}
return 0
}
func (x *ServerLoopOutRequest) GetSwapPublicationDeadline() int64 {
if x != nil {
return x.SwapPublicationDeadline
}
return 0
}
func (x *ServerLoopOutRequest) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *ServerLoopOutRequest) GetExpiry() int32 {
if x != nil {
return x.Expiry
}
return 0
}
func (x *ServerLoopOutRequest) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
type ServerLoopOutResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
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"`
SenderKey []byte `protobuf:"bytes,3,opt,name=sender_key,json=senderKey,proto3" json:"sender_key,omitempty"`
// The height at which the on-chain htlc will expire. Deprecated because the
// field is already specified in the request.
//
// Deprecated: Marked as deprecated in server.proto.
Expiry int32 `protobuf:"varint,4,opt,name=expiry,proto3" json:"expiry,omitempty"`
// A human-readable message from the loop server.
ServerMessage string `protobuf:"bytes,5,opt,name=server_message,json=serverMessage,proto3" json:"server_message,omitempty"`
}
func (x *ServerLoopOutResponse) Reset() {
*x = ServerLoopOutResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopOutResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopOutResponse) ProtoMessage() {}
func (x *ServerLoopOutResponse) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopOutResponse.ProtoReflect.Descriptor instead.
func (*ServerLoopOutResponse) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{1}
}
func (x *ServerLoopOutResponse) GetSwapInvoice() string {
if x != nil {
return x.SwapInvoice
}
return ""
}
func (x *ServerLoopOutResponse) GetPrepayInvoice() string {
if x != nil {
return x.PrepayInvoice
}
return ""
}
func (x *ServerLoopOutResponse) GetSenderKey() []byte {
if x != nil {
return x.SenderKey
}
return nil
}
// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopOutResponse) GetExpiry() int32 {
if x != nil {
return x.Expiry
}
return 0
}
func (x *ServerLoopOutResponse) GetServerMessage() string {
if x != nil {
return x.ServerMessage
}
return ""
}
type ServerLoopOutQuoteRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
/// 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"`
/// 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"`
// The requested absolute block height of the on-chain htlc. This is
// subjected to min and max constraints as reported in the LoopOutTerms
// response.
Expiry int32 `protobuf:"varint,4,opt,name=expiry,proto3" json:"expiry,omitempty"`
// The user agent string that identifies the software running on the user's
// side. This can be changed in the user's client software but it _SHOULD_
// conform to the following pattern:
// Agent-Name/semver-version(/additional-info)
// Examples:
// loopd/v0.10.0-beta/commit=3b635821
// litd/v0.2.0-alpha/commit=326d754
UserAgent string `protobuf:"bytes,5,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}
func (x *ServerLoopOutQuoteRequest) Reset() {
*x = ServerLoopOutQuoteRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopOutQuoteRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopOutQuoteRequest) ProtoMessage() {}
func (x *ServerLoopOutQuoteRequest) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopOutQuoteRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopOutQuoteRequest) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{2}
}
func (x *ServerLoopOutQuoteRequest) GetAmt() uint64 {
if x != nil {
return x.Amt
}
return 0
}
func (x *ServerLoopOutQuoteRequest) GetSwapPublicationDeadline() int64 {
if x != nil {
return x.SwapPublicationDeadline
}
return 0
}
func (x *ServerLoopOutQuoteRequest) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *ServerLoopOutQuoteRequest) GetExpiry() int32 {
if x != nil {
return x.Expiry
}
return 0
}
func (x *ServerLoopOutQuoteRequest) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
type ServerLoopOutQuote struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
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.
SwapFee int64 `protobuf:"varint,2,opt,name=swap_fee,json=swapFee,proto3" json:"swap_fee,omitempty"`
/// Deprecated, total swap fee given quote amt is calculated in swap_fee.
//
// Deprecated: Marked as deprecated in server.proto.
SwapFeeRate int64 `protobuf:"varint,3,opt,name=swap_fee_rate,json=swapFeeRate,proto3" json:"swap_fee_rate,omitempty"`
PrepayAmt uint64 `protobuf:"varint,4,opt,name=prepay_amt,json=prepayAmt,proto3" json:"prepay_amt,omitempty"`
// Deprecated: Marked as deprecated in server.proto.
MinSwapAmount uint64 `protobuf:"varint,5,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
// Deprecated: Marked as deprecated in server.proto.
MaxSwapAmount uint64 `protobuf:"varint,6,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
// The server-proposed cltv delta of the on-chain htlc. Deprecated because
// the field is already specified in the request.
//
// Deprecated: Marked as deprecated in server.proto.
CltvDelta int32 `protobuf:"varint,7,opt,name=cltv_delta,json=cltvDelta,proto3" json:"cltv_delta,omitempty"`
}
func (x *ServerLoopOutQuote) Reset() {
*x = ServerLoopOutQuote{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopOutQuote) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopOutQuote) ProtoMessage() {}
func (x *ServerLoopOutQuote) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopOutQuote.ProtoReflect.Descriptor instead.
func (*ServerLoopOutQuote) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{3}
}
func (x *ServerLoopOutQuote) GetSwapPaymentDest() string {
if x != nil {
return x.SwapPaymentDest
}
return ""
}
func (x *ServerLoopOutQuote) GetSwapFee() int64 {
if x != nil {
return x.SwapFee
}
return 0
}
// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopOutQuote) GetSwapFeeRate() int64 {
if x != nil {
return x.SwapFeeRate
}
return 0
}
func (x *ServerLoopOutQuote) GetPrepayAmt() uint64 {
if x != nil {
return x.PrepayAmt
}
return 0
}
// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopOutQuote) GetMinSwapAmount() uint64 {
if x != nil {
return x.MinSwapAmount
}
return 0
}
// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopOutQuote) GetMaxSwapAmount() uint64 {
if x != nil {
return x.MaxSwapAmount
}
return 0
}
// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopOutQuote) GetCltvDelta() int32 {
if x != nil {
return x.CltvDelta
}
return 0
}
type ServerLoopOutTermsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
/// 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"`
// The user agent string that identifies the software running on the user's
// side. This can be changed in the user's client software but it _SHOULD_
// conform to the following pattern:
// Agent-Name/semver-version(/additional-info)
// Examples:
// loopd/v0.10.0-beta/commit=3b635821
// litd/v0.2.0-alpha/commit=326d754
UserAgent string `protobuf:"bytes,2,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}
func (x *ServerLoopOutTermsRequest) Reset() {
*x = ServerLoopOutTermsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopOutTermsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopOutTermsRequest) ProtoMessage() {}
func (x *ServerLoopOutTermsRequest) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopOutTermsRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopOutTermsRequest) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{4}
}
func (x *ServerLoopOutTermsRequest) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *ServerLoopOutTermsRequest) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
type ServerLoopOutTerms struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
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"`
// The minimally accepted cltv delta of the on-chain htlc.
MinCltvDelta int32 `protobuf:"varint,3,opt,name=min_cltv_delta,json=minCltvDelta,proto3" json:"min_cltv_delta,omitempty"`
// The maximally accepted cltv delta of the on-chain htlc.
MaxCltvDelta int32 `protobuf:"varint,4,opt,name=max_cltv_delta,json=maxCltvDelta,proto3" json:"max_cltv_delta,omitempty"`
}
func (x *ServerLoopOutTerms) Reset() {
*x = ServerLoopOutTerms{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopOutTerms) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopOutTerms) ProtoMessage() {}
func (x *ServerLoopOutTerms) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopOutTerms.ProtoReflect.Descriptor instead.
func (*ServerLoopOutTerms) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{5}
}
func (x *ServerLoopOutTerms) GetMinSwapAmount() uint64 {
if x != nil {
return x.MinSwapAmount
}
return 0
}
func (x *ServerLoopOutTerms) GetMaxSwapAmount() uint64 {
if x != nil {
return x.MaxSwapAmount
}
return 0
}
func (x *ServerLoopOutTerms) GetMinCltvDelta() int32 {
if x != nil {
return x.MinCltvDelta
}
return 0
}
func (x *ServerLoopOutTerms) GetMaxCltvDelta() int32 {
if x != nil {
return x.MaxCltvDelta
}
return 0
}
type ServerLoopInRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SenderKey []byte `protobuf:"bytes,1,opt,name=sender_key,json=senderKey,proto3" json:"sender_key,omitempty"`
SenderInternalPubkey []byte `protobuf:"bytes,9,opt,name=sender_internal_pubkey,json=senderInternalPubkey,proto3" json:"sender_internal_pubkey,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"`
// An invoice that can be used for the purpose of probing.
ProbeInvoice string `protobuf:"bytes,7,opt,name=probe_invoice,json=probeInvoice,proto3" json:"probe_invoice,omitempty"`
// The user agent string that identifies the software running on the user's
// side. This can be changed in the user's client software but it _SHOULD_
// conform to the following pattern:
// Agent-Name/semver-version(/additional-info)
// Examples:
// loopd/v0.10.0-beta/commit=3b635821
// litd/v0.2.0-alpha/commit=326d754
UserAgent string `protobuf:"bytes,8,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}
func (x *ServerLoopInRequest) Reset() {
*x = ServerLoopInRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopInRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopInRequest) ProtoMessage() {}
func (x *ServerLoopInRequest) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopInRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopInRequest) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{6}
}
func (x *ServerLoopInRequest) GetSenderKey() []byte {
if x != nil {
return x.SenderKey
}
return nil
}
func (x *ServerLoopInRequest) GetSenderInternalPubkey() []byte {
if x != nil {
return x.SenderInternalPubkey
}
return nil
}
func (x *ServerLoopInRequest) GetSwapHash() []byte {
if x != nil {
return x.SwapHash
}
return nil
}
func (x *ServerLoopInRequest) GetAmt() uint64 {
if x != nil {
return x.Amt
}
return 0
}
func (x *ServerLoopInRequest) GetSwapInvoice() string {
if x != nil {
return x.SwapInvoice
}
return ""
}
func (x *ServerLoopInRequest) GetLastHop() []byte {
if x != nil {
return x.LastHop
}
return nil
}
func (x *ServerLoopInRequest) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *ServerLoopInRequest) GetProbeInvoice() string {
if x != nil {
return x.ProbeInvoice
}
return ""
}
func (x *ServerLoopInRequest) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
type ServerLoopInResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ReceiverKey []byte `protobuf:"bytes,1,opt,name=receiver_key,json=receiverKey,proto3" json:"receiver_key,omitempty"`
ReceiverInternalPubkey []byte `protobuf:"bytes,9,opt,name=receiver_internal_pubkey,json=receiverInternalPubkey,proto3" json:"receiver_internal_pubkey,omitempty"`
Expiry int32 `protobuf:"varint,2,opt,name=expiry,proto3" json:"expiry,omitempty"`
// A human-readable message from the loop server.
ServerMessage string `protobuf:"bytes,3,opt,name=server_message,json=serverMessage,proto3" json:"server_message,omitempty"`
}
func (x *ServerLoopInResponse) Reset() {
*x = ServerLoopInResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopInResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopInResponse) ProtoMessage() {}
func (x *ServerLoopInResponse) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopInResponse.ProtoReflect.Descriptor instead.
func (*ServerLoopInResponse) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{7}
}
func (x *ServerLoopInResponse) GetReceiverKey() []byte {
if x != nil {
return x.ReceiverKey
}
return nil
}
func (x *ServerLoopInResponse) GetReceiverInternalPubkey() []byte {
if x != nil {
return x.ReceiverInternalPubkey
}
return nil
}
func (x *ServerLoopInResponse) GetExpiry() int32 {
if x != nil {
return x.Expiry
}
return 0
}
func (x *ServerLoopInResponse) GetServerMessage() string {
if x != nil {
return x.ServerMessage
}
return ""
}
type ServerLoopInQuoteRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
/// 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 destination pubkey.
Pubkey []byte `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
// Optional last hop to use.
LastHop []byte `protobuf:"bytes,4,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
// Optional route hints to reach the destination through private channels.
RouteHints []*RouteHint `protobuf:"bytes,5,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,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"`
// The user agent string that identifies the software running on the user's
// side. This can be changed in the user's client software but it _SHOULD_
// conform to the following pattern:
// Agent-Name/semver-version(/additional-info)
// Examples:
// loopd/v0.10.0-beta/commit=3b635821
// litd/v0.2.0-alpha/commit=326d754
UserAgent string `protobuf:"bytes,6,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}
func (x *ServerLoopInQuoteRequest) Reset() {
*x = ServerLoopInQuoteRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopInQuoteRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopInQuoteRequest) ProtoMessage() {}
func (x *ServerLoopInQuoteRequest) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopInQuoteRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopInQuoteRequest) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{8}
}
func (x *ServerLoopInQuoteRequest) GetAmt() uint64 {
if x != nil {
return x.Amt
}
return 0
}
func (x *ServerLoopInQuoteRequest) GetPubkey() []byte {
if x != nil {
return x.Pubkey
}
return nil
}
func (x *ServerLoopInQuoteRequest) GetLastHop() []byte {
if x != nil {
return x.LastHop
}
return nil
}
func (x *ServerLoopInQuoteRequest) GetRouteHints() []*RouteHint {
if x != nil {
return x.RouteHints
}
return nil
}
func (x *ServerLoopInQuoteRequest) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *ServerLoopInQuoteRequest) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
type ServerLoopInQuoteResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SwapFee int64 `protobuf:"varint,1,opt,name=swap_fee,json=swapFee,proto3" json:"swap_fee,omitempty"`
// Deprecated: Marked as deprecated in server.proto.
SwapFeeRate int64 `protobuf:"varint,2,opt,name=swap_fee_rate,json=swapFeeRate,proto3" json:"swap_fee_rate,omitempty"`
// Deprecated: Marked as deprecated in server.proto.
MinSwapAmount uint64 `protobuf:"varint,4,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
// Deprecated: Marked as deprecated in server.proto.
MaxSwapAmount uint64 `protobuf:"varint,5,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
CltvDelta int32 `protobuf:"varint,6,opt,name=cltv_delta,json=cltvDelta,proto3" json:"cltv_delta,omitempty"`
}
func (x *ServerLoopInQuoteResponse) Reset() {
*x = ServerLoopInQuoteResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopInQuoteResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopInQuoteResponse) ProtoMessage() {}
func (x *ServerLoopInQuoteResponse) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopInQuoteResponse.ProtoReflect.Descriptor instead.
func (*ServerLoopInQuoteResponse) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{9}
}
func (x *ServerLoopInQuoteResponse) GetSwapFee() int64 {
if x != nil {
return x.SwapFee
}
return 0
}
// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopInQuoteResponse) GetSwapFeeRate() int64 {
if x != nil {
return x.SwapFeeRate
}
return 0
}
// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopInQuoteResponse) GetMinSwapAmount() uint64 {
if x != nil {
return x.MinSwapAmount
}
return 0
}
// Deprecated: Marked as deprecated in server.proto.
func (x *ServerLoopInQuoteResponse) GetMaxSwapAmount() uint64 {
if x != nil {
return x.MaxSwapAmount
}
return 0
}
func (x *ServerLoopInQuoteResponse) GetCltvDelta() int32 {
if x != nil {
return x.CltvDelta
}
return 0
}
type ServerLoopInTermsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
/// 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"`
// The user agent string that identifies the software running on the user's
// side. This can be changed in the user's client software but it _SHOULD_
// conform to the following pattern:
// Agent-Name/semver-version(/additional-info)
// Examples:
// loopd/v0.10.0-beta/commit=3b635821
// litd/v0.2.0-alpha/commit=326d754
UserAgent string `protobuf:"bytes,2,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
}
func (x *ServerLoopInTermsRequest) Reset() {
*x = ServerLoopInTermsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopInTermsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopInTermsRequest) ProtoMessage() {}
func (x *ServerLoopInTermsRequest) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopInTermsRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopInTermsRequest) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{10}
}
func (x *ServerLoopInTermsRequest) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *ServerLoopInTermsRequest) GetUserAgent() string {
if x != nil {
return x.UserAgent
}
return ""
}
type ServerLoopInTerms struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
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"`
}
func (x *ServerLoopInTerms) Reset() {
*x = ServerLoopInTerms{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopInTerms) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopInTerms) ProtoMessage() {}
func (x *ServerLoopInTerms) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopInTerms.ProtoReflect.Descriptor instead.
func (*ServerLoopInTerms) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{11}
}
func (x *ServerLoopInTerms) GetMinSwapAmount() uint64 {
if x != nil {
return x.MinSwapAmount
}
return 0
}
func (x *ServerLoopInTerms) GetMaxSwapAmount() uint64 {
if x != nil {
return x.MaxSwapAmount
}
return 0
}
// ServerLoopOutPushPreimageRequest pushes a preimage to the server. Note that
// this call returns with no error after the server acknowledges the preimage
// and does not block until the invoice is settled.
type ServerLoopOutPushPreimageRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
//
//Preimage is the preimage of the loop out swap that we wish to push to the
//server to speed up off-chain claim once the on-chain htlc has confirmed.
Preimage []byte `protobuf:"bytes,2,opt,name=preimage,proto3" json:"preimage,omitempty"`
}
func (x *ServerLoopOutPushPreimageRequest) Reset() {
*x = ServerLoopOutPushPreimageRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopOutPushPreimageRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopOutPushPreimageRequest) ProtoMessage() {}
func (x *ServerLoopOutPushPreimageRequest) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopOutPushPreimageRequest.ProtoReflect.Descriptor instead.
func (*ServerLoopOutPushPreimageRequest) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{12}
}
func (x *ServerLoopOutPushPreimageRequest) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *ServerLoopOutPushPreimageRequest) GetPreimage() []byte {
if x != nil {
return x.Preimage
}
return nil
}
type ServerLoopOutPushPreimageResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ServerLoopOutPushPreimageResponse) Reset() {
*x = ServerLoopOutPushPreimageResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerLoopOutPushPreimageResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerLoopOutPushPreimageResponse) ProtoMessage() {}
func (x *ServerLoopOutPushPreimageResponse) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerLoopOutPushPreimageResponse.ProtoReflect.Descriptor instead.
func (*ServerLoopOutPushPreimageResponse) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{13}
}
type SubscribeUpdatesRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
// Swap hash is the hash of the swap to subscribe to updates for.
SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
}
func (x *SubscribeUpdatesRequest) Reset() {
*x = SubscribeUpdatesRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubscribeUpdatesRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubscribeUpdatesRequest) ProtoMessage() {}
func (x *SubscribeUpdatesRequest) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubscribeUpdatesRequest.ProtoReflect.Descriptor instead.
func (*SubscribeUpdatesRequest) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{14}
}
func (x *SubscribeUpdatesRequest) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *SubscribeUpdatesRequest) GetSwapHash() []byte {
if x != nil {
return x.SwapHash
}
return nil
}
type SubscribeLoopOutUpdatesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The unix timestamp in nanoseconds when the swap was updated.
TimestampNs int64 `protobuf:"varint,1,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"`
// The swap's current state.
State ServerSwapState `protobuf:"varint,2,opt,name=state,proto3,enum=looprpc.ServerSwapState" json:"state,omitempty"`
}
func (x *SubscribeLoopOutUpdatesResponse) Reset() {
*x = SubscribeLoopOutUpdatesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubscribeLoopOutUpdatesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubscribeLoopOutUpdatesResponse) ProtoMessage() {}
func (x *SubscribeLoopOutUpdatesResponse) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubscribeLoopOutUpdatesResponse.ProtoReflect.Descriptor instead.
func (*SubscribeLoopOutUpdatesResponse) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{15}
}
func (x *SubscribeLoopOutUpdatesResponse) GetTimestampNs() int64 {
if x != nil {
return x.TimestampNs
}
return 0
}
func (x *SubscribeLoopOutUpdatesResponse) GetState() ServerSwapState {
if x != nil {
return x.State
}
return ServerSwapState_SERVER_INITIATED
}
type SubscribeLoopInUpdatesResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The unix timestamp in nanoseconds when the swap was updated.
TimestampNs int64 `protobuf:"varint,1,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"`
// The swap's current state.
State ServerSwapState `protobuf:"varint,2,opt,name=state,proto3,enum=looprpc.ServerSwapState" json:"state,omitempty"`
}
func (x *SubscribeLoopInUpdatesResponse) Reset() {
*x = SubscribeLoopInUpdatesResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SubscribeLoopInUpdatesResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SubscribeLoopInUpdatesResponse) ProtoMessage() {}
func (x *SubscribeLoopInUpdatesResponse) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SubscribeLoopInUpdatesResponse.ProtoReflect.Descriptor instead.
func (*SubscribeLoopInUpdatesResponse) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{16}
}
func (x *SubscribeLoopInUpdatesResponse) GetTimestampNs() int64 {
if x != nil {
return x.TimestampNs
}
return 0
}
func (x *SubscribeLoopInUpdatesResponse) GetState() ServerSwapState {
if x != nil {
return x.State
}
return ServerSwapState_SERVER_INITIATED
}
type RouteCancel struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The type of the payment that failed.
RouteType RoutePaymentType `protobuf:"varint,1,opt,name=route_type,json=routeType,proto3,enum=looprpc.RoutePaymentType" json:"route_type,omitempty"`
// The htlcs that the client tried to pay the server with, if any.
Attempts []*HtlcAttempt `protobuf:"bytes,2,rep,name=attempts,proto3" json:"attempts,omitempty"`
// The reason that the payment failed.
Failure PaymentFailureReason `protobuf:"varint,3,opt,name=failure,proto3,enum=looprpc.PaymentFailureReason" json:"failure,omitempty"`
}
func (x *RouteCancel) Reset() {
*x = RouteCancel{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RouteCancel) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RouteCancel) ProtoMessage() {}
func (x *RouteCancel) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RouteCancel.ProtoReflect.Descriptor instead.
func (*RouteCancel) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{17}
}
func (x *RouteCancel) GetRouteType() RoutePaymentType {
if x != nil {
return x.RouteType
}
return RoutePaymentType_ROUTE_UNKNOWN
}
func (x *RouteCancel) GetAttempts() []*HtlcAttempt {
if x != nil {
return x.Attempts
}
return nil
}
func (x *RouteCancel) GetFailure() PaymentFailureReason {
if x != nil {
return x.Failure
}
return PaymentFailureReason_LND_FAILURE_REASON_NONE
}
type HtlcAttempt struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The number of hops from the htlc's failure hop that it needed to take
// to reach the server's node.
RemainingHops uint32 `protobuf:"varint,1,opt,name=remaining_hops,json=remainingHops,proto3" json:"remaining_hops,omitempty"`
}
func (x *HtlcAttempt) Reset() {
*x = HtlcAttempt{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *HtlcAttempt) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HtlcAttempt) ProtoMessage() {}
func (x *HtlcAttempt) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HtlcAttempt.ProtoReflect.Descriptor instead.
func (*HtlcAttempt) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{18}
}
func (x *HtlcAttempt) GetRemainingHops() uint32 {
if x != nil {
return x.RemainingHops
}
return 0
}
type CancelLoopOutSwapRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
// The swap hash.
SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
// The payment address for the swap invoice, used to ensure that only the
// swap owner can cancel the payment.
PaymentAddress []byte `protobuf:"bytes,3,opt,name=payment_address,json=paymentAddress,proto3" json:"payment_address,omitempty"`
// Additional information about the swap cancelation.
//
// Types that are assignable to CancelInfo:
// *CancelLoopOutSwapRequest_RouteCancel
CancelInfo isCancelLoopOutSwapRequest_CancelInfo `protobuf_oneof:"cancel_info"`
}
func (x *CancelLoopOutSwapRequest) Reset() {
*x = CancelLoopOutSwapRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CancelLoopOutSwapRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CancelLoopOutSwapRequest) ProtoMessage() {}
func (x *CancelLoopOutSwapRequest) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CancelLoopOutSwapRequest.ProtoReflect.Descriptor instead.
func (*CancelLoopOutSwapRequest) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{19}
}
func (x *CancelLoopOutSwapRequest) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *CancelLoopOutSwapRequest) GetSwapHash() []byte {
if x != nil {
return x.SwapHash
}
return nil
}
func (x *CancelLoopOutSwapRequest) GetPaymentAddress() []byte {
if x != nil {
return x.PaymentAddress
}
return nil
}
func (m *CancelLoopOutSwapRequest) GetCancelInfo() isCancelLoopOutSwapRequest_CancelInfo {
if m != nil {
return m.CancelInfo
}
return nil
}
func (x *CancelLoopOutSwapRequest) GetRouteCancel() *RouteCancel {
if x, ok := x.GetCancelInfo().(*CancelLoopOutSwapRequest_RouteCancel); ok {
return x.RouteCancel
}
return nil
}
type isCancelLoopOutSwapRequest_CancelInfo interface {
isCancelLoopOutSwapRequest_CancelInfo()
}
type CancelLoopOutSwapRequest_RouteCancel struct {
RouteCancel *RouteCancel `protobuf:"bytes,5,opt,name=route_cancel,json=routeCancel,proto3,oneof"`
}
func (*CancelLoopOutSwapRequest_RouteCancel) isCancelLoopOutSwapRequest_CancelInfo() {}
type CancelLoopOutSwapResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *CancelLoopOutSwapResponse) Reset() {
*x = CancelLoopOutSwapResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CancelLoopOutSwapResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CancelLoopOutSwapResponse) ProtoMessage() {}
func (x *CancelLoopOutSwapResponse) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CancelLoopOutSwapResponse.ProtoReflect.Descriptor instead.
func (*CancelLoopOutSwapResponse) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{20}
}
type ServerProbeRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
// The probe amount.
Amt uint64 `protobuf:"varint,2,opt,name=amt,proto3" json:"amt,omitempty"`
// The target node for the probe.
Target []byte `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
// Optional last hop to use when probing the client.
LastHop []byte `protobuf:"bytes,4,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
// Optional route hints to reach the destination through private channels.
RouteHints []*RouteHint `protobuf:"bytes,5,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
}
func (x *ServerProbeRequest) Reset() {
*x = ServerProbeRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerProbeRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerProbeRequest) ProtoMessage() {}
func (x *ServerProbeRequest) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerProbeRequest.ProtoReflect.Descriptor instead.
func (*ServerProbeRequest) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{21}
}
func (x *ServerProbeRequest) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *ServerProbeRequest) GetAmt() uint64 {
if x != nil {
return x.Amt
}
return 0
}
func (x *ServerProbeRequest) GetTarget() []byte {
if x != nil {
return x.Target
}
return nil
}
func (x *ServerProbeRequest) GetLastHop() []byte {
if x != nil {
return x.LastHop
}
return nil
}
func (x *ServerProbeRequest) GetRouteHints() []*RouteHint {
if x != nil {
return x.RouteHints
}
return nil
}
type ServerProbeResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ServerProbeResponse) Reset() {
*x = ServerProbeResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerProbeResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerProbeResponse) ProtoMessage() {}
func (x *ServerProbeResponse) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerProbeResponse.ProtoReflect.Descriptor instead.
func (*ServerProbeResponse) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{22}
}
type RecommendRoutingPluginReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
// The hash of the swap requesting a routing plugin.
SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
// The payment address for the swap invoice, used to ensure that only the
// swap owner can request routing plugin recommendation.
PaymentAddress []byte `protobuf:"bytes,3,opt,name=payment_address,json=paymentAddress,proto3" json:"payment_address,omitempty"`
}
func (x *RecommendRoutingPluginReq) Reset() {
*x = RecommendRoutingPluginReq{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RecommendRoutingPluginReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RecommendRoutingPluginReq) ProtoMessage() {}
func (x *RecommendRoutingPluginReq) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RecommendRoutingPluginReq.ProtoReflect.Descriptor instead.
func (*RecommendRoutingPluginReq) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{23}
}
func (x *RecommendRoutingPluginReq) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *RecommendRoutingPluginReq) GetSwapHash() []byte {
if x != nil {
return x.SwapHash
}
return nil
}
func (x *RecommendRoutingPluginReq) GetPaymentAddress() []byte {
if x != nil {
return x.PaymentAddress
}
return nil
}
type RecommendRoutingPluginRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The routing plugin to use for off-chain payments.
Plugin RoutingPlugin `protobuf:"varint,1,opt,name=plugin,proto3,enum=looprpc.RoutingPlugin" json:"plugin,omitempty"`
}
func (x *RecommendRoutingPluginRes) Reset() {
*x = RecommendRoutingPluginRes{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *RecommendRoutingPluginRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*RecommendRoutingPluginRes) ProtoMessage() {}
func (x *RecommendRoutingPluginRes) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use RecommendRoutingPluginRes.ProtoReflect.Descriptor instead.
func (*RecommendRoutingPluginRes) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{24}
}
func (x *RecommendRoutingPluginRes) GetPlugin() RoutingPlugin {
if x != nil {
return x.Plugin
}
return RoutingPlugin_NONE
}
type ReportRoutingResultReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
// The swap hash.
SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
// The payment address for the swap invoice, used to ensure that only the
// swap owner can report routing result.
PaymentAddress []byte `protobuf:"bytes,3,opt,name=payment_address,json=paymentAddress,proto3" json:"payment_address,omitempty"`
// The routing plugin that was used.
Plugin RoutingPlugin `protobuf:"varint,4,opt,name=plugin,proto3,enum=looprpc.RoutingPlugin" json:"plugin,omitempty"`
// Whether this payment succeeded.
Success bool `protobuf:"varint,5,opt,name=success,proto3" json:"success,omitempty"`
// The number of payment attempts using the plugin.
Attempts int32 `protobuf:"varint,6,opt,name=attempts,proto3" json:"attempts,omitempty"`
// Total time used in milliseconds.
TotalTime int64 `protobuf:"varint,7,opt,name=total_time,json=totalTime,proto3" json:"total_time,omitempty"`
}
func (x *ReportRoutingResultReq) Reset() {
*x = ReportRoutingResultReq{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReportRoutingResultReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReportRoutingResultReq) ProtoMessage() {}
func (x *ReportRoutingResultReq) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReportRoutingResultReq.ProtoReflect.Descriptor instead.
func (*ReportRoutingResultReq) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{25}
}
func (x *ReportRoutingResultReq) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *ReportRoutingResultReq) GetSwapHash() []byte {
if x != nil {
return x.SwapHash
}
return nil
}
func (x *ReportRoutingResultReq) GetPaymentAddress() []byte {
if x != nil {
return x.PaymentAddress
}
return nil
}
func (x *ReportRoutingResultReq) GetPlugin() RoutingPlugin {
if x != nil {
return x.Plugin
}
return RoutingPlugin_NONE
}
func (x *ReportRoutingResultReq) GetSuccess() bool {
if x != nil {
return x.Success
}
return false
}
func (x *ReportRoutingResultReq) GetAttempts() int32 {
if x != nil {
return x.Attempts
}
return 0
}
func (x *ReportRoutingResultReq) GetTotalTime() int64 {
if x != nil {
return x.TotalTime
}
return 0
}
type ReportRoutingResultRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ReportRoutingResultRes) Reset() {
*x = ReportRoutingResultRes{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReportRoutingResultRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReportRoutingResultRes) ProtoMessage() {}
func (x *ReportRoutingResultRes) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ReportRoutingResultRes.ProtoReflect.Descriptor instead.
func (*ReportRoutingResultRes) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{26}
}
type MuSig2SignSweepReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProtocolVersion ProtocolVersion `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3,enum=looprpc.ProtocolVersion" json:"protocol_version,omitempty"`
// The swap hash.
SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
// The payment address for the swap invoice, used to ensure that only the
// swap owner can obtain the partial signature.
PaymentAddress []byte `protobuf:"bytes,3,opt,name=payment_address,json=paymentAddress,proto3" json:"payment_address,omitempty"`
// The local public nonce.
Nonce []byte `protobuf:"bytes,4,opt,name=nonce,proto3" json:"nonce,omitempty"`
// The psbt of the sweep txn.
SweepTxPsbt []byte `protobuf:"bytes,6,opt,name=sweep_tx_psbt,json=sweepTxPsbt,proto3" json:"sweep_tx_psbt,omitempty"`
}
func (x *MuSig2SignSweepReq) Reset() {
*x = MuSig2SignSweepReq{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MuSig2SignSweepReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MuSig2SignSweepReq) ProtoMessage() {}
func (x *MuSig2SignSweepReq) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MuSig2SignSweepReq.ProtoReflect.Descriptor instead.
func (*MuSig2SignSweepReq) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{27}
}
func (x *MuSig2SignSweepReq) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *MuSig2SignSweepReq) GetSwapHash() []byte {
if x != nil {
return x.SwapHash
}
return nil
}
func (x *MuSig2SignSweepReq) GetPaymentAddress() []byte {
if x != nil {
return x.PaymentAddress
}
return nil
}
func (x *MuSig2SignSweepReq) GetNonce() []byte {
if x != nil {
return x.Nonce
}
return nil
}
func (x *MuSig2SignSweepReq) GetSweepTxPsbt() []byte {
if x != nil {
return x.SweepTxPsbt
}
return nil
}
type MuSig2SignSweepRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The server side public nonce.
Nonce []byte `protobuf:"bytes,1,opt,name=nonce,proto3" json:"nonce,omitempty"`
// The partial signature of the server for the requested sighash.
PartialSignature []byte `protobuf:"bytes,2,opt,name=partial_signature,json=partialSignature,proto3" json:"partial_signature,omitempty"`
}
func (x *MuSig2SignSweepRes) Reset() {
*x = MuSig2SignSweepRes{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *MuSig2SignSweepRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*MuSig2SignSweepRes) ProtoMessage() {}
func (x *MuSig2SignSweepRes) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use MuSig2SignSweepRes.ProtoReflect.Descriptor instead.
func (*MuSig2SignSweepRes) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{28}
}
func (x *MuSig2SignSweepRes) GetNonce() []byte {
if x != nil {
return x.Nonce
}
return nil
}
func (x *MuSig2SignSweepRes) GetPartialSignature() []byte {
if x != nil {
return x.PartialSignature
}
return nil
}
type ServerPushKeyReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// 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"`
// The swap hash.
SwapHash []byte `protobuf:"bytes,2,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
// The clients private key used in the HTLCs aggregated internal key.
InternalPrivkey []byte `protobuf:"bytes,3,opt,name=internal_privkey,json=internalPrivkey,proto3" json:"internal_privkey,omitempty"`
}
func (x *ServerPushKeyReq) Reset() {
*x = ServerPushKeyReq{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerPushKeyReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerPushKeyReq) ProtoMessage() {}
func (x *ServerPushKeyReq) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerPushKeyReq.ProtoReflect.Descriptor instead.
func (*ServerPushKeyReq) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{29}
}
func (x *ServerPushKeyReq) GetProtocolVersion() ProtocolVersion {
if x != nil {
return x.ProtocolVersion
}
return ProtocolVersion_LEGACY
}
func (x *ServerPushKeyReq) GetSwapHash() []byte {
if x != nil {
return x.SwapHash
}
return nil
}
func (x *ServerPushKeyReq) GetInternalPrivkey() []byte {
if x != nil {
return x.InternalPrivkey
}
return nil
}
type ServerPushKeyRes struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ServerPushKeyRes) Reset() {
*x = ServerPushKeyRes{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ServerPushKeyRes) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ServerPushKeyRes) ProtoMessage() {}
func (x *ServerPushKeyRes) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ServerPushKeyRes.ProtoReflect.Descriptor instead.
func (*ServerPushKeyRes) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{30}
}
// FetchL402Request is an empty request sent from the client to the server to
// fetch the lnd l402.
type FetchL402Request struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *FetchL402Request) Reset() {
*x = FetchL402Request{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FetchL402Request) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FetchL402Request) ProtoMessage() {}
func (x *FetchL402Request) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FetchL402Request.ProtoReflect.Descriptor instead.
func (*FetchL402Request) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{31}
}
// FetchL402Response is an empty response sent from the server to the client to
// confirm the lnd l402.
type FetchL402Response struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *FetchL402Response) Reset() {
*x = FetchL402Response{}
if protoimpl.UnsafeEnabled {
mi := &file_server_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FetchL402Response) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FetchL402Response) ProtoMessage() {}
func (x *FetchL402Response) ProtoReflect() protoreflect.Message {
mi := &file_server_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FetchL402Response.ProtoReflect.Descriptor instead.
func (*FetchL402Response) Descriptor() ([]byte, []int) {
return file_server_proto_rawDescGZIP(), []int{32}
}
var File_server_proto protoreflect.FileDescriptor
var file_server_proto_rawDesc = []byte{
0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07,
0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x1a, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x02, 0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21,
0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65,
0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x10,
0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x6d, 0x74,
0x12, 0x3a, 0x0a, 0x19, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20,
0x01, 0x28, 0x03, 0x52, 0x17, 0x73, 0x77, 0x61, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x43, 0x0a, 0x10,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28,
0x05, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65,
0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75,
0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0xc3, 0x01, 0x0a, 0x15, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69,
0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x77, 0x61, 0x70, 0x49, 0x6e,
0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x5f,
0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70,
0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x06, 0x65,
0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52,
0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xe5,
0x01, 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74,
0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03,
0x61, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, 0x3a,
0x0a, 0x19, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
0x03, 0x52, 0x17, 0x73, 0x77, 0x61, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50,
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12,
0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f,
0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65,
0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x9d, 0x02, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x2a, 0x0a,
0x11, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65,
0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x77, 0x61, 0x70, 0x50, 0x61,
0x79, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x77, 0x61,
0x70, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x77, 0x61,
0x70, 0x46, 0x65, 0x65, 0x12, 0x26, 0x0a, 0x0d, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65,
0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52,
0x0b, 0x73, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a,
0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04,
0x52, 0x09, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x41, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x0f, 0x6d,
0x69, 0x6e, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05,
0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x53, 0x77, 0x61,
0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73,
0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04,
0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f,
0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74,
0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x74,
0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x7f, 0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f,
0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e,
0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72,
0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73,
0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0xb0, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x26,
0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x53, 0x77, 0x61, 0x70,
0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77,
0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52,
0x0d, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24,
0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61,
0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x74, 0x76, 0x44,
0x65, 0x6c, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x74, 0x76,
0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x61,
0x78, 0x43, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0xe0, 0x02, 0x0a, 0x13, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x4b, 0x65,
0x79, 0x12, 0x34, 0x0a, 0x16, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65,
0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x14, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
0x6c, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f,
0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70,
0x48, 0x61, 0x73, 0x68, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
0x04, 0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x69,
0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x77,
0x61, 0x70, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73,
0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x61, 0x73,
0x74, 0x48, 0x6f, 0x70, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18,
0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f,
0x62, 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0c, 0x70, 0x72, 0x6f, 0x62, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x1d,
0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0xb2, 0x01,
0x0a, 0x14, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76,
0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x65,
0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x63,
0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70,
0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x16, 0x72, 0x65, 0x63,
0x65, 0x69, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x75, 0x62,
0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x02, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x22, 0xf8, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f,
0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x6d,
0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73,
0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x61, 0x73,
0x74, 0x48, 0x6f, 0x70, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x69,
0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6f, 0x6f, 0x70,
0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x72,
0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d,
0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01,
0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0xd5, 0x01,
0x0a, 0x19, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75,
0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73,
0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x73,
0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x12, 0x26, 0x0a, 0x0d, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66,
0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18,
0x01, 0x52, 0x0b, 0x73, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2a,
0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e,
0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6d, 0x69, 0x6e,
0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x0f, 0x6d, 0x61,
0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20,
0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70,
0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64,
0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6c, 0x74, 0x76,
0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x7e, 0x0a, 0x18, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c,
0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f,
0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61,
0x67, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72,
0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x63, 0x0a, 0x11, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c,
0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x69,
0x6e, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75,
0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61,
0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x78,
0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x83, 0x01, 0x0a, 0x20, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x50, 0x75, 0x73, 0x68,
0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70,
0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65,
0x22, 0x23, 0x0a, 0x21, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75,
0x74, 0x50, 0x75, 0x73, 0x68, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7b, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
0x62, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f,
0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65,
0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61,
0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61,
0x73, 0x68, 0x22, 0x74, 0x0a, 0x1f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c,
0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70,
0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x77, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74,
0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x73, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x73,
0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x2e, 0x0a,
0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c,
0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x77, 0x61,
0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xb2, 0x01,
0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x38, 0x0a,
0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
0x0e, 0x32, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74,
0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x72, 0x6f,
0x75, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x61, 0x74, 0x74, 0x65, 0x6d,
0x70, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6f, 0x6f, 0x70,
0x72, 0x70, 0x63, 0x2e, 0x48, 0x74, 0x6c, 0x63, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52,
0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x66, 0x61, 0x69,
0x6c, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f,
0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c,
0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75,
0x72, 0x65, 0x22, 0x34, 0x0a, 0x0b, 0x48, 0x74, 0x6c, 0x63, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70,
0x74, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x68,
0x6f, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x61, 0x69,
0x6e, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x70, 0x73, 0x22, 0xef, 0x01, 0x0a, 0x18, 0x43, 0x61, 0x6e,
0x63, 0x65, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77,
0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73,
0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65,
0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x12, 0x39, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c,
0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0b,
0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, 0x0d, 0x0a, 0x0b, 0x63,
0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x1b, 0x0a, 0x19, 0x43, 0x61,
0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76,
0x65, 0x72, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43,
0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72,
0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69,
0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04,
0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x19, 0x0a,
0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52,
0x07, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74,
0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e,
0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e,
0x74, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x15, 0x0a,
0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
0x6e, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52,
0x65, 0x71, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c,
0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56,
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c,
0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f,
0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70,
0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x70,
0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x4b, 0x0a,
0x19, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e,
0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x70, 0x6c,
0x75, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6c, 0x6f, 0x6f,
0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67,
0x69, 0x6e, 0x52, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x22, 0xa8, 0x02, 0x0a, 0x16, 0x52,
0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77,
0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73,
0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65,
0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
0x12, 0x2e, 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69,
0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e,
0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x74,
0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x74,
0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f,
0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, 0x74, 0x61,
0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52,
0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x22,
0xdf, 0x01, 0x0a, 0x12, 0x4d, 0x75, 0x53, 0x69, 0x67, 0x32, 0x53, 0x69, 0x67, 0x6e, 0x53, 0x77,
0x65, 0x65, 0x70, 0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63,
0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f,
0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73,
0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08,
0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d,
0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
0x0c, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c,
0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x77, 0x65, 0x65, 0x70,
0x5f, 0x74, 0x78, 0x5f, 0x70, 0x73, 0x62, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b,
0x73, 0x77, 0x65, 0x65, 0x70, 0x54, 0x78, 0x50, 0x73, 0x62, 0x74, 0x4a, 0x04, 0x08, 0x05, 0x10,
0x06, 0x22, 0x57, 0x0a, 0x12, 0x4d, 0x75, 0x53, 0x69, 0x67, 0x32, 0x53, 0x69, 0x67, 0x6e, 0x53,
0x77, 0x65, 0x65, 0x70, 0x52, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a,
0x11, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75,
0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61,
0x6c, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x10, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x12,
0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70,
0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72,
0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73,
0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73,
0x68, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72,
0x69, 0x76, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x69, 0x6e, 0x74,
0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x76, 0x6b, 0x65, 0x79, 0x22, 0x12, 0x0a, 0x10,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73,
0x22, 0x12, 0x0a, 0x10, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x34, 0x30, 0x32, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x22, 0x13, 0x0a, 0x11, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x34, 0x30,
0x32, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0xef, 0x01, 0x0a, 0x0f, 0x50, 0x72,
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a,
0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x55, 0x4c,
0x54, 0x49, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a,
0x15, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x45, 0x47, 0x57, 0x49, 0x54, 0x5f, 0x4c,
0x4f, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x45, 0x49,
0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f,
0x55, 0x54, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x50,
0x49, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0b,
0x0a, 0x07, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x56, 0x32, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4d,
0x55, 0x4c, 0x54, 0x49, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x10, 0x06, 0x12, 0x13,
0x0a, 0x0f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45,
0x4c, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x4f, 0x42, 0x45, 0x10, 0x08, 0x12, 0x12,
0x0a, 0x0e, 0x52, 0x4f, 0x55, 0x54, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x55, 0x47, 0x49, 0x4e,
0x10, 0x09, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x56, 0x33, 0x10, 0x0a, 0x12,
0x0a, 0x0a, 0x06, 0x4d, 0x55, 0x53, 0x49, 0x47, 0x32, 0x10, 0x0b, 0x2a, 0x9e, 0x04, 0x0a, 0x0f,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x77, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41,
0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f,
0x48, 0x54, 0x4c, 0x43, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x01,
0x12, 0x12, 0x0a, 0x0e, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45,
0x53, 0x53, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46,
0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12,
0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44,
0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x53, 0x45,
0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x41,
0x4c, 0x49, 0x44, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, 0x10,
0x05, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c,
0x45, 0x44, 0x5f, 0x4f, 0x46, 0x46, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x54, 0x49, 0x4d,
0x45, 0x4f, 0x55, 0x54, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52,
0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10,
0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c,
0x45, 0x44, 0x5f, 0x53, 0x57, 0x41, 0x50, 0x5f, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e, 0x45,
0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49,
0x4c, 0x45, 0x44, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x41,
0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52,
0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48,
0x45, 0x44, 0x10, 0x0a, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x55,
0x4e, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52,
0x45, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x48, 0x54,
0x4c, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x1f,
0x0a, 0x1b, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f,
0x50, 0x52, 0x45, 0x50, 0x41, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x0d, 0x12,
0x20, 0x0a, 0x1c, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54,
0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10,
0x0e, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c,
0x45, 0x44, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x53, 0x57, 0x41, 0x50,
0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x53, 0x10, 0x0f, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x45,
0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x49, 0x54,
0x49, 0x41, 0x4c, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x10, 0x2a, 0x4a, 0x0a, 0x10,
0x52, 0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
0x12, 0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x45, 0x50, 0x41, 0x59, 0x5f, 0x52, 0x4f,
0x55, 0x54, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45,
0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x02, 0x2a, 0xf1, 0x01, 0x0a, 0x14, 0x50, 0x61, 0x79,
0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f,
0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45,
0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1e,
0x0a, 0x1a, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45,
0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x1f,
0x0a, 0x1b, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45,
0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12,
0x1c, 0x0a, 0x18, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52,
0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x30, 0x0a,
0x2c, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41,
0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x41,
0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0x04, 0x12,
0x2b, 0x0a, 0x27, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52,
0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45,
0x4e, 0x54, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x05, 0x2a, 0x27, 0x0a, 0x0d,
0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x12, 0x08, 0x0a,
0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4c, 0x4f, 0x57, 0x5f, 0x48,
0x49, 0x47, 0x48, 0x10, 0x01, 0x32, 0xdc, 0x0a, 0x0a, 0x0a, 0x53, 0x77, 0x61, 0x70, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x54,
0x65, 0x72, 0x6d, 0x73, 0x12, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x72, 0x6d,
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72,
0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74,
0x54, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x4e, 0x65, 0x77, 0x4c, 0x6f, 0x6f, 0x70,
0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x12, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70,
0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63,
0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x13, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75,
0x74, 0x50, 0x75, 0x73, 0x68, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x29, 0x2e,
0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f,
0x6f, 0x70, 0x4f, 0x75, 0x74, 0x50, 0x75, 0x73, 0x68, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67,
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72,
0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74,
0x50, 0x75, 0x73, 0x68, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x51,
0x75, 0x6f, 0x74, 0x65, 0x12, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x51, 0x75, 0x6f, 0x74,
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72,
0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74,
0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x54,
0x65, 0x72, 0x6d, 0x73, 0x12, 0x21, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70,
0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x54, 0x65,
0x72, 0x6d, 0x73, 0x12, 0x4c, 0x0a, 0x0d, 0x4e, 0x65, 0x77, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e,
0x53, 0x77, 0x61, 0x70, 0x12, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53,
0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72,
0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x12, 0x54, 0x0a, 0x0b, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65,
0x12, 0x21, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65,
0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65,
0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73, 0x63,
0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74,
0x65, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62,
0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53,
0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01,
0x12, 0x65, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x6f,
0x70, 0x49, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x6f, 0x6f,
0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6c,
0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65,
0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x5a, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65,
0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x12, 0x21, 0x2e, 0x6c,
0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x6f, 0x6f,
0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c,
0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x1b, 0x2e, 0x6c,
0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f,
0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70,
0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x16, 0x52, 0x65, 0x63, 0x6f, 0x6d,
0x6d, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69,
0x6e, 0x12, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x63, 0x6f,
0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67,
0x69, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e,
0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67,
0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x13, 0x52, 0x65, 0x70,
0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x12, 0x1f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72,
0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65,
0x71, 0x1a, 0x1f, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f,
0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0f, 0x4d, 0x75, 0x53, 0x69, 0x67, 0x32, 0x53, 0x69, 0x67, 0x6e,
0x53, 0x77, 0x65, 0x65, 0x70, 0x12, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e,
0x4d, 0x75, 0x53, 0x69, 0x67, 0x32, 0x53, 0x69, 0x67, 0x6e, 0x53, 0x77, 0x65, 0x65, 0x70, 0x52,
0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x75, 0x53,
0x69, 0x67, 0x32, 0x53, 0x69, 0x67, 0x6e, 0x53, 0x77, 0x65, 0x65, 0x70, 0x52, 0x65, 0x73, 0x12,
0x3f, 0x0a, 0x07, 0x50, 0x75, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x2e, 0x6c, 0x6f, 0x6f,
0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x4b,
0x65, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e,
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x75, 0x73, 0x68, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73,
0x12, 0x42, 0x0a, 0x09, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x34, 0x30, 0x32, 0x12, 0x19, 0x2e,
0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x34, 0x30,
0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72,
0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x4c, 0x34, 0x30, 0x32, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6c, 0x61, 0x62, 0x73,
0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x73, 0x77, 0x61, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_server_proto_rawDescOnce sync.Once
file_server_proto_rawDescData = file_server_proto_rawDesc
)
func file_server_proto_rawDescGZIP() []byte {
file_server_proto_rawDescOnce.Do(func() {
file_server_proto_rawDescData = protoimpl.X.CompressGZIP(file_server_proto_rawDescData)
})
return file_server_proto_rawDescData
}
var file_server_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
var file_server_proto_msgTypes = make([]protoimpl.MessageInfo, 33)
var file_server_proto_goTypes = []interface{}{
(ProtocolVersion)(0), // 0: looprpc.ProtocolVersion
(ServerSwapState)(0), // 1: looprpc.ServerSwapState
(RoutePaymentType)(0), // 2: looprpc.RoutePaymentType
(PaymentFailureReason)(0), // 3: looprpc.PaymentFailureReason
(RoutingPlugin)(0), // 4: looprpc.RoutingPlugin
(*ServerLoopOutRequest)(nil), // 5: looprpc.ServerLoopOutRequest
(*ServerLoopOutResponse)(nil), // 6: looprpc.ServerLoopOutResponse
(*ServerLoopOutQuoteRequest)(nil), // 7: looprpc.ServerLoopOutQuoteRequest
(*ServerLoopOutQuote)(nil), // 8: looprpc.ServerLoopOutQuote
(*ServerLoopOutTermsRequest)(nil), // 9: looprpc.ServerLoopOutTermsRequest
(*ServerLoopOutTerms)(nil), // 10: looprpc.ServerLoopOutTerms
(*ServerLoopInRequest)(nil), // 11: looprpc.ServerLoopInRequest
(*ServerLoopInResponse)(nil), // 12: looprpc.ServerLoopInResponse
(*ServerLoopInQuoteRequest)(nil), // 13: looprpc.ServerLoopInQuoteRequest
(*ServerLoopInQuoteResponse)(nil), // 14: looprpc.ServerLoopInQuoteResponse
(*ServerLoopInTermsRequest)(nil), // 15: looprpc.ServerLoopInTermsRequest
(*ServerLoopInTerms)(nil), // 16: looprpc.ServerLoopInTerms
(*ServerLoopOutPushPreimageRequest)(nil), // 17: looprpc.ServerLoopOutPushPreimageRequest
(*ServerLoopOutPushPreimageResponse)(nil), // 18: looprpc.ServerLoopOutPushPreimageResponse
(*SubscribeUpdatesRequest)(nil), // 19: looprpc.SubscribeUpdatesRequest
(*SubscribeLoopOutUpdatesResponse)(nil), // 20: looprpc.SubscribeLoopOutUpdatesResponse
(*SubscribeLoopInUpdatesResponse)(nil), // 21: looprpc.SubscribeLoopInUpdatesResponse
(*RouteCancel)(nil), // 22: looprpc.RouteCancel
(*HtlcAttempt)(nil), // 23: looprpc.HtlcAttempt
(*CancelLoopOutSwapRequest)(nil), // 24: looprpc.CancelLoopOutSwapRequest
(*CancelLoopOutSwapResponse)(nil), // 25: looprpc.CancelLoopOutSwapResponse
(*ServerProbeRequest)(nil), // 26: looprpc.ServerProbeRequest
(*ServerProbeResponse)(nil), // 27: looprpc.ServerProbeResponse
(*RecommendRoutingPluginReq)(nil), // 28: looprpc.RecommendRoutingPluginReq
(*RecommendRoutingPluginRes)(nil), // 29: looprpc.RecommendRoutingPluginRes
(*ReportRoutingResultReq)(nil), // 30: looprpc.ReportRoutingResultReq
(*ReportRoutingResultRes)(nil), // 31: looprpc.ReportRoutingResultRes
(*MuSig2SignSweepReq)(nil), // 32: looprpc.MuSig2SignSweepReq
(*MuSig2SignSweepRes)(nil), // 33: looprpc.MuSig2SignSweepRes
(*ServerPushKeyReq)(nil), // 34: looprpc.ServerPushKeyReq
(*ServerPushKeyRes)(nil), // 35: looprpc.ServerPushKeyRes
(*FetchL402Request)(nil), // 36: looprpc.FetchL402Request
(*FetchL402Response)(nil), // 37: looprpc.FetchL402Response
(*RouteHint)(nil), // 38: looprpc.RouteHint
}
var file_server_proto_depIdxs = []int32{
0, // 0: looprpc.ServerLoopOutRequest.protocol_version:type_name -> looprpc.ProtocolVersion
0, // 1: looprpc.ServerLoopOutQuoteRequest.protocol_version:type_name -> looprpc.ProtocolVersion
0, // 2: looprpc.ServerLoopOutTermsRequest.protocol_version:type_name -> looprpc.ProtocolVersion
0, // 3: looprpc.ServerLoopInRequest.protocol_version:type_name -> looprpc.ProtocolVersion
38, // 4: looprpc.ServerLoopInQuoteRequest.route_hints:type_name -> looprpc.RouteHint
0, // 5: looprpc.ServerLoopInQuoteRequest.protocol_version:type_name -> looprpc.ProtocolVersion
0, // 6: looprpc.ServerLoopInTermsRequest.protocol_version:type_name -> looprpc.ProtocolVersion
0, // 7: looprpc.ServerLoopOutPushPreimageRequest.protocol_version:type_name -> looprpc.ProtocolVersion
0, // 8: looprpc.SubscribeUpdatesRequest.protocol_version:type_name -> looprpc.ProtocolVersion
1, // 9: looprpc.SubscribeLoopOutUpdatesResponse.state:type_name -> looprpc.ServerSwapState
1, // 10: looprpc.SubscribeLoopInUpdatesResponse.state:type_name -> looprpc.ServerSwapState
2, // 11: looprpc.RouteCancel.route_type:type_name -> looprpc.RoutePaymentType
23, // 12: looprpc.RouteCancel.attempts:type_name -> looprpc.HtlcAttempt
3, // 13: looprpc.RouteCancel.failure:type_name -> looprpc.PaymentFailureReason
0, // 14: looprpc.CancelLoopOutSwapRequest.protocol_version:type_name -> looprpc.ProtocolVersion
22, // 15: looprpc.CancelLoopOutSwapRequest.route_cancel:type_name -> looprpc.RouteCancel
0, // 16: looprpc.ServerProbeRequest.protocol_version:type_name -> looprpc.ProtocolVersion
38, // 17: looprpc.ServerProbeRequest.route_hints:type_name -> looprpc.RouteHint
0, // 18: looprpc.RecommendRoutingPluginReq.protocol_version:type_name -> looprpc.ProtocolVersion
4, // 19: looprpc.RecommendRoutingPluginRes.plugin:type_name -> looprpc.RoutingPlugin
0, // 20: looprpc.ReportRoutingResultReq.protocol_version:type_name -> looprpc.ProtocolVersion
4, // 21: looprpc.ReportRoutingResultReq.plugin:type_name -> looprpc.RoutingPlugin
0, // 22: looprpc.MuSig2SignSweepReq.protocol_version:type_name -> looprpc.ProtocolVersion
0, // 23: looprpc.ServerPushKeyReq.protocol_version:type_name -> looprpc.ProtocolVersion
9, // 24: looprpc.SwapServer.LoopOutTerms:input_type -> looprpc.ServerLoopOutTermsRequest
5, // 25: looprpc.SwapServer.NewLoopOutSwap:input_type -> looprpc.ServerLoopOutRequest
17, // 26: looprpc.SwapServer.LoopOutPushPreimage:input_type -> looprpc.ServerLoopOutPushPreimageRequest
7, // 27: looprpc.SwapServer.LoopOutQuote:input_type -> looprpc.ServerLoopOutQuoteRequest
15, // 28: looprpc.SwapServer.LoopInTerms:input_type -> looprpc.ServerLoopInTermsRequest
11, // 29: looprpc.SwapServer.NewLoopInSwap:input_type -> looprpc.ServerLoopInRequest
13, // 30: looprpc.SwapServer.LoopInQuote:input_type -> looprpc.ServerLoopInQuoteRequest
19, // 31: looprpc.SwapServer.SubscribeLoopOutUpdates:input_type -> looprpc.SubscribeUpdatesRequest
19, // 32: looprpc.SwapServer.SubscribeLoopInUpdates:input_type -> looprpc.SubscribeUpdatesRequest
24, // 33: looprpc.SwapServer.CancelLoopOutSwap:input_type -> looprpc.CancelLoopOutSwapRequest
26, // 34: looprpc.SwapServer.Probe:input_type -> looprpc.ServerProbeRequest
28, // 35: looprpc.SwapServer.RecommendRoutingPlugin:input_type -> looprpc.RecommendRoutingPluginReq
30, // 36: looprpc.SwapServer.ReportRoutingResult:input_type -> looprpc.ReportRoutingResultReq
32, // 37: looprpc.SwapServer.MuSig2SignSweep:input_type -> looprpc.MuSig2SignSweepReq
34, // 38: looprpc.SwapServer.PushKey:input_type -> looprpc.ServerPushKeyReq
36, // 39: looprpc.SwapServer.FetchL402:input_type -> looprpc.FetchL402Request
10, // 40: looprpc.SwapServer.LoopOutTerms:output_type -> looprpc.ServerLoopOutTerms
6, // 41: looprpc.SwapServer.NewLoopOutSwap:output_type -> looprpc.ServerLoopOutResponse
18, // 42: looprpc.SwapServer.LoopOutPushPreimage:output_type -> looprpc.ServerLoopOutPushPreimageResponse
8, // 43: looprpc.SwapServer.LoopOutQuote:output_type -> looprpc.ServerLoopOutQuote
16, // 44: looprpc.SwapServer.LoopInTerms:output_type -> looprpc.ServerLoopInTerms
12, // 45: looprpc.SwapServer.NewLoopInSwap:output_type -> looprpc.ServerLoopInResponse
14, // 46: looprpc.SwapServer.LoopInQuote:output_type -> looprpc.ServerLoopInQuoteResponse
20, // 47: looprpc.SwapServer.SubscribeLoopOutUpdates:output_type -> looprpc.SubscribeLoopOutUpdatesResponse
21, // 48: looprpc.SwapServer.SubscribeLoopInUpdates:output_type -> looprpc.SubscribeLoopInUpdatesResponse
25, // 49: looprpc.SwapServer.CancelLoopOutSwap:output_type -> looprpc.CancelLoopOutSwapResponse
27, // 50: looprpc.SwapServer.Probe:output_type -> looprpc.ServerProbeResponse
29, // 51: looprpc.SwapServer.RecommendRoutingPlugin:output_type -> looprpc.RecommendRoutingPluginRes
31, // 52: looprpc.SwapServer.ReportRoutingResult:output_type -> looprpc.ReportRoutingResultRes
33, // 53: looprpc.SwapServer.MuSig2SignSweep:output_type -> looprpc.MuSig2SignSweepRes
35, // 54: looprpc.SwapServer.PushKey:output_type -> looprpc.ServerPushKeyRes
37, // 55: looprpc.SwapServer.FetchL402:output_type -> looprpc.FetchL402Response
40, // [40:56] is the sub-list for method output_type
24, // [24:40] is the sub-list for method input_type
24, // [24:24] is the sub-list for extension type_name
24, // [24:24] is the sub-list for extension extendee
0, // [0:24] is the sub-list for field type_name
}
func init() { file_server_proto_init() }
func file_server_proto_init() {
if File_server_proto != nil {
return
}
file_common_proto_init()
if !protoimpl.UnsafeEnabled {
file_server_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopOutRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopOutResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopOutQuoteRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopOutQuote); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopOutTermsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopOutTerms); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopInRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopInResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopInQuoteRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopInQuoteResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopInTermsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopInTerms); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopOutPushPreimageRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerLoopOutPushPreimageResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubscribeUpdatesRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubscribeLoopOutUpdatesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SubscribeLoopInUpdatesResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RouteCancel); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*HtlcAttempt); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CancelLoopOutSwapRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CancelLoopOutSwapResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerProbeRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerProbeResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RecommendRoutingPluginReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*RecommendRoutingPluginRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReportRoutingResultReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReportRoutingResultRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MuSig2SignSweepReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MuSig2SignSweepRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerPushKeyReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServerPushKeyRes); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FetchL402Request); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_server_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FetchL402Response); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_server_proto_msgTypes[19].OneofWrappers = []interface{}{
(*CancelLoopOutSwapRequest_RouteCancel)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_server_proto_rawDesc,
NumEnums: 5,
NumMessages: 33,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_server_proto_goTypes,
DependencyIndexes: file_server_proto_depIdxs,
EnumInfos: file_server_proto_enumTypes,
MessageInfos: file_server_proto_msgTypes,
}.Build()
File_server_proto = out.File
file_server_proto_rawDesc = nil
file_server_proto_goTypes = nil
file_server_proto_depIdxs = nil
}