mirror of
https://github.com/lightninglabs/loop
synced 2024-11-09 19:10:47 +00:00
loop: extend server protocol for routing plugin recommendations
This commits extends the server protocol with routing plugin recommendations and routing result reporting.
This commit is contained in:
parent
7e8e5a2f67
commit
0f002733f6
@ -47,13 +47,17 @@ const (
|
|||||||
// the server to perform a probe to test inbound liquidty.
|
// the server to perform a probe to test inbound liquidty.
|
||||||
ProtocolVersionProbe ProtocolVersion = 8
|
ProtocolVersionProbe 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.
|
||||||
|
ProtocolVersionRoutingPlugin = 9
|
||||||
|
|
||||||
// ProtocolVersionUnrecorded is set for swaps were created before we
|
// ProtocolVersionUnrecorded is set for swaps were created before we
|
||||||
// started saving protocol version with swaps.
|
// started saving protocol version with swaps.
|
||||||
ProtocolVersionUnrecorded ProtocolVersion = math.MaxUint32
|
ProtocolVersionUnrecorded ProtocolVersion = math.MaxUint32
|
||||||
|
|
||||||
// CurrentRPCProtocolVersion defines the version of the RPC protocol
|
// CurrentRPCProtocolVersion defines the version of the RPC protocol
|
||||||
// that is currently supported by the loop client.
|
// that is currently supported by the loop client.
|
||||||
CurrentRPCProtocolVersion = looprpc.ProtocolVersion_PROBE
|
CurrentRPCProtocolVersion = looprpc.ProtocolVersion_ROUTING_PLUGIN
|
||||||
|
|
||||||
// CurrentInternalProtocolVersion defines the RPC current protocol in
|
// CurrentInternalProtocolVersion defines the RPC current protocol in
|
||||||
// the internal representation.
|
// the internal representation.
|
||||||
@ -95,6 +99,9 @@ func (p ProtocolVersion) String() string {
|
|||||||
case ProtocolVersionProbe:
|
case ProtocolVersionProbe:
|
||||||
return "Probe"
|
return "Probe"
|
||||||
|
|
||||||
|
case ProtocolVersionRoutingPlugin:
|
||||||
|
return "Routing Plugin"
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return "Unknown"
|
return "Unknown"
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ func TestProtocolVersionSanity(t *testing.T) {
|
|||||||
ProtocolVersionMultiLoopIn,
|
ProtocolVersionMultiLoopIn,
|
||||||
ProtocolVersionLoopOutCancel,
|
ProtocolVersionLoopOutCancel,
|
||||||
ProtocolVersionProbe,
|
ProtocolVersionProbe,
|
||||||
|
ProtocolVersionRoutingPlugin,
|
||||||
}
|
}
|
||||||
|
|
||||||
rpcVersions := [...]looprpc.ProtocolVersion{
|
rpcVersions := [...]looprpc.ProtocolVersion{
|
||||||
@ -35,6 +36,7 @@ func TestProtocolVersionSanity(t *testing.T) {
|
|||||||
looprpc.ProtocolVersion_MULTI_LOOP_IN,
|
looprpc.ProtocolVersion_MULTI_LOOP_IN,
|
||||||
looprpc.ProtocolVersion_LOOP_OUT_CANCEL,
|
looprpc.ProtocolVersion_LOOP_OUT_CANCEL,
|
||||||
looprpc.ProtocolVersion_PROBE,
|
looprpc.ProtocolVersion_PROBE,
|
||||||
|
looprpc.ProtocolVersion_ROUTING_PLUGIN,
|
||||||
}
|
}
|
||||||
|
|
||||||
require.Equal(t, len(versions), len(rpcVersions))
|
require.Equal(t, len(versions), len(rpcVersions))
|
||||||
|
@ -242,3 +242,15 @@ func (s *serverMock) Probe(ctx context.Context, amt btcutil.Amount,
|
|||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *serverMock) RecommendRoutingPlugin(_ context.Context, _ lntypes.Hash) (
|
||||||
|
RoutingPluginType, error) {
|
||||||
|
|
||||||
|
return RoutingPluginNone, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *serverMock) ReportRoutingResult(_ context.Context, _ lntypes.Hash,
|
||||||
|
_ RoutingPluginType, _ bool, _ int32, _ int64) error {
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
@ -43,6 +43,30 @@ var (
|
|||||||
"be provided")
|
"be provided")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// RoutingPluginType represents the routing plugin type directly.
|
||||||
|
type RoutingPluginType uint8
|
||||||
|
|
||||||
|
const (
|
||||||
|
// RoutingPluginNone is recommended when the client shouldn't use any
|
||||||
|
// routing plugin.
|
||||||
|
RoutingPluginNone RoutingPluginType = 0
|
||||||
|
|
||||||
|
// RoutingPluginLowHigh is recommended when the client should use
|
||||||
|
// low-high routing method.
|
||||||
|
RoutingPluginLowHigh RoutingPluginType = 1
|
||||||
|
)
|
||||||
|
|
||||||
|
// String pretty prints a RoutingPluginType.
|
||||||
|
func (r RoutingPluginType) String() string {
|
||||||
|
switch r {
|
||||||
|
case RoutingPluginLowHigh:
|
||||||
|
return "Low/High"
|
||||||
|
|
||||||
|
default:
|
||||||
|
return "None"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
type swapServerClient interface {
|
type swapServerClient interface {
|
||||||
GetLoopOutTerms(ctx context.Context) (
|
GetLoopOutTerms(ctx context.Context) (
|
||||||
*LoopOutTerms, error)
|
*LoopOutTerms, error)
|
||||||
@ -86,6 +110,17 @@ type swapServerClient interface {
|
|||||||
// CancelLoopOutSwap cancels a loop out swap.
|
// CancelLoopOutSwap cancels a loop out swap.
|
||||||
CancelLoopOutSwap(ctx context.Context,
|
CancelLoopOutSwap(ctx context.Context,
|
||||||
details *outCancelDetails) error
|
details *outCancelDetails) error
|
||||||
|
|
||||||
|
// RecommendRoutingPlugin asks the server for routing plugin
|
||||||
|
// recommendation for off-chain payment(s) of a swap.
|
||||||
|
RecommendRoutingPlugin(ctx context.Context, swapHash lntypes.Hash,
|
||||||
|
paymentAddr [32]byte) (RoutingPluginType, error)
|
||||||
|
|
||||||
|
// ReportRoutingResult reports a routing result corresponding to a swap.
|
||||||
|
ReportRoutingResult(ctx context.Context,
|
||||||
|
swapHash lntypes.Hash, paymentAddr [32]byte,
|
||||||
|
plugin RoutingPluginType, success bool, attempts int32,
|
||||||
|
totalTime int64) error
|
||||||
}
|
}
|
||||||
|
|
||||||
type grpcSwapServerClient struct {
|
type grpcSwapServerClient struct {
|
||||||
@ -619,6 +654,72 @@ func (s *grpcSwapServerClient) CancelLoopOutSwap(ctx context.Context,
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RecommendRoutingPlugin asks the server for routing plugin recommendation for
|
||||||
|
// off-chain payment(s) of a swap.
|
||||||
|
func (s *grpcSwapServerClient) RecommendRoutingPlugin(ctx context.Context,
|
||||||
|
swapHash lntypes.Hash, paymentAddr [32]byte) (RoutingPluginType, error) {
|
||||||
|
|
||||||
|
req := &looprpc.RecommendRoutingPluginReq{
|
||||||
|
ProtocolVersion: loopdb.CurrentRPCProtocolVersion,
|
||||||
|
SwapHash: swapHash[:],
|
||||||
|
PaymentAddress: paymentAddr[:],
|
||||||
|
}
|
||||||
|
|
||||||
|
rpcCtx, rpcCancel := context.WithTimeout(ctx, globalCallTimeout)
|
||||||
|
defer rpcCancel()
|
||||||
|
|
||||||
|
res, err := s.server.RecommendRoutingPlugin(rpcCtx, req)
|
||||||
|
if err != nil {
|
||||||
|
return RoutingPluginNone, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var plugin RoutingPluginType
|
||||||
|
switch res.Plugin {
|
||||||
|
case looprpc.RoutingPlugin_NONE:
|
||||||
|
plugin = RoutingPluginNone
|
||||||
|
|
||||||
|
case looprpc.RoutingPlugin_LOW_HIGH:
|
||||||
|
plugin = RoutingPluginLowHigh
|
||||||
|
|
||||||
|
default:
|
||||||
|
log.Warnf("Recommended routing plugin is unknown: %v", plugin)
|
||||||
|
plugin = RoutingPluginNone
|
||||||
|
}
|
||||||
|
|
||||||
|
return plugin, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReportRoutingResult reports a routing result corresponding to a swap.
|
||||||
|
func (s *grpcSwapServerClient) ReportRoutingResult(ctx context.Context,
|
||||||
|
swapHash lntypes.Hash, paymentAddr [32]byte, plugin RoutingPluginType,
|
||||||
|
success bool, attempts int32, totalTime int64) error {
|
||||||
|
|
||||||
|
var rpcRoutingPlugin looprpc.RoutingPlugin
|
||||||
|
switch plugin {
|
||||||
|
case RoutingPluginLowHigh:
|
||||||
|
rpcRoutingPlugin = looprpc.RoutingPlugin_LOW_HIGH
|
||||||
|
|
||||||
|
default:
|
||||||
|
rpcRoutingPlugin = looprpc.RoutingPlugin_NONE
|
||||||
|
}
|
||||||
|
|
||||||
|
req := &looprpc.ReportRoutingResultReq{
|
||||||
|
ProtocolVersion: loopdb.CurrentRPCProtocolVersion,
|
||||||
|
SwapHash: swapHash[:],
|
||||||
|
PaymentAddress: paymentAddr[:],
|
||||||
|
Plugin: rpcRoutingPlugin,
|
||||||
|
Success: success,
|
||||||
|
Attempts: attempts,
|
||||||
|
TotalTime: totalTime,
|
||||||
|
}
|
||||||
|
|
||||||
|
rpcCtx, rpcCancel := context.WithTimeout(ctx, globalCallTimeout)
|
||||||
|
defer rpcCancel()
|
||||||
|
|
||||||
|
_, err := s.server.ReportRoutingResult(rpcCtx, req)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func rpcRouteCancel(details *outCancelDetails) (
|
func rpcRouteCancel(details *outCancelDetails) (
|
||||||
*looprpc.CancelLoopOutSwapRequest_RouteCancel, error) {
|
*looprpc.CancelLoopOutSwapRequest_RouteCancel, error) {
|
||||||
|
|
||||||
|
@ -59,6 +59,9 @@ const (
|
|||||||
// The client is able to ask the server to probe to test inbound
|
// The client is able to ask the server to probe to test inbound
|
||||||
// liquidity.
|
// liquidity.
|
||||||
ProtocolVersion_PROBE ProtocolVersion = 8
|
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
|
||||||
)
|
)
|
||||||
|
|
||||||
// Enum value maps for ProtocolVersion.
|
// Enum value maps for ProtocolVersion.
|
||||||
@ -73,6 +76,7 @@ var (
|
|||||||
6: "MULTI_LOOP_IN",
|
6: "MULTI_LOOP_IN",
|
||||||
7: "LOOP_OUT_CANCEL",
|
7: "LOOP_OUT_CANCEL",
|
||||||
8: "PROBE",
|
8: "PROBE",
|
||||||
|
9: "ROUTING_PLUGIN",
|
||||||
}
|
}
|
||||||
ProtocolVersion_value = map[string]int32{
|
ProtocolVersion_value = map[string]int32{
|
||||||
"LEGACY": 0,
|
"LEGACY": 0,
|
||||||
@ -84,6 +88,7 @@ var (
|
|||||||
"MULTI_LOOP_IN": 6,
|
"MULTI_LOOP_IN": 6,
|
||||||
"LOOP_OUT_CANCEL": 7,
|
"LOOP_OUT_CANCEL": 7,
|
||||||
"PROBE": 8,
|
"PROBE": 8,
|
||||||
|
"ROUTING_PLUGIN": 9,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -357,6 +362,54 @@ func (PaymentFailureReason) EnumDescriptor() ([]byte, []int) {
|
|||||||
return file_server_proto_rawDescGZIP(), []int{3}
|
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 {
|
type ServerLoopOutRequest struct {
|
||||||
state protoimpl.MessageState
|
state protoimpl.MessageState
|
||||||
sizeCache protoimpl.SizeCache
|
sizeCache protoimpl.SizeCache
|
||||||
@ -1947,6 +2000,260 @@ func (*ServerProbeResponse) Descriptor() ([]byte, []int) {
|
|||||||
return file_server_proto_rawDescGZIP(), []int{22}
|
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}
|
||||||
|
}
|
||||||
|
|
||||||
var File_server_proto protoreflect.FileDescriptor
|
var File_server_proto protoreflect.FileDescriptor
|
||||||
|
|
||||||
var file_server_proto_rawDesc = []byte{
|
var file_server_proto_rawDesc = []byte{
|
||||||
@ -2176,136 +2483,187 @@ var file_server_proto_rawDesc = []byte{
|
|||||||
0x32, 0x12, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65,
|
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,
|
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,
|
0x22, 0x15, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52,
|
||||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0xc2, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74,
|
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x6f,
|
||||||
0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x4c,
|
0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67,
|
||||||
0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x55, 0x4c, 0x54, 0x49,
|
0x69, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f,
|
||||||
0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4e,
|
0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||||
0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x45, 0x47, 0x57, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x4f,
|
0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63,
|
||||||
0x50, 0x5f, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x45, 0x49, 0x4d, 0x41,
|
0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||||
0x47, 0x45, 0x5f, 0x50, 0x55, 0x53, 0x48, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54,
|
0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x77,
|
||||||
0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52,
|
0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x73,
|
||||||
0x59, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07,
|
0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65,
|
||||||
0x48, 0x54, 0x4c, 0x43, 0x5f, 0x56, 0x32, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x55, 0x4c,
|
0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
|
||||||
0x54, 0x49, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f,
|
0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
|
||||||
0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10,
|
0x22, 0x4b, 0x0a, 0x19, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x52, 0x6f, 0x75,
|
||||||
0x07, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x4f, 0x42, 0x45, 0x10, 0x08, 0x2a, 0xfc, 0x03, 0x0a,
|
0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x12, 0x2e, 0x0a,
|
||||||
0x0f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x77, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65,
|
0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e,
|
||||||
0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49,
|
0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50,
|
||||||
0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52,
|
0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x22, 0xa8, 0x02,
|
||||||
0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10,
|
0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52,
|
||||||
0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x43, 0x43,
|
0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x12, 0x43, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x74,
|
||||||
0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f,
|
0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
|
||||||
0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x03,
|
0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f,
|
||||||
0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45,
|
0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x70, 0x72,
|
||||||
0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x10, 0x04, 0x12, 0x25, 0x0a, 0x21, 0x53,
|
0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a,
|
||||||
0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x56,
|
0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
|
||||||
0x41, 0x4c, 0x49, 0x44, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54,
|
0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61,
|
||||||
0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49,
|
0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20,
|
||||||
0x4c, 0x45, 0x44, 0x5f, 0x4f, 0x46, 0x46, 0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x54, 0x49,
|
0x01, 0x28, 0x0c, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72,
|
||||||
0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45,
|
0x65, 0x73, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x18, 0x04, 0x20,
|
||||||
0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54,
|
0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f,
|
||||||
0x10, 0x07, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49,
|
0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x52, 0x06, 0x70, 0x6c, 0x75,
|
||||||
0x4c, 0x45, 0x44, 0x5f, 0x53, 0x57, 0x41, 0x50, 0x5f, 0x44, 0x45, 0x41, 0x44, 0x4c, 0x49, 0x4e,
|
0x67, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05,
|
||||||
0x45, 0x10, 0x08, 0x12, 0x22, 0x0a, 0x1e, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41,
|
0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a,
|
||||||
0x49, 0x4c, 0x45, 0x44, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43,
|
0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
|
||||||
0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x45, 0x52, 0x56, 0x45,
|
0x08, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74,
|
||||||
0x52, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53,
|
0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74,
|
||||||
0x48, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f,
|
0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f,
|
||||||
0x55, 0x4e, 0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55,
|
0x72, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
|
||||||
0x52, 0x45, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x48,
|
0x65, 0x73, 0x2a, 0xd6, 0x01, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x56,
|
||||||
0x54, 0x4c, 0x43, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x0c, 0x12,
|
0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59,
|
||||||
0x1f, 0x0a, 0x1b, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54,
|
0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x4c, 0x4f, 0x4f, 0x50,
|
||||||
0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x0d,
|
0x5f, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x41, 0x54, 0x49, 0x56, 0x45,
|
||||||
0x12, 0x20, 0x0a, 0x1c, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e,
|
0x5f, 0x53, 0x45, 0x47, 0x57, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x10,
|
||||||
0x54, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c,
|
0x02, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x52, 0x45, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x5f, 0x50, 0x55,
|
||||||
0x10, 0x0e, 0x12, 0x27, 0x0a, 0x23, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49,
|
0x53, 0x48, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x03, 0x12, 0x18, 0x0a,
|
||||||
0x4c, 0x45, 0x44, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x5f, 0x53, 0x57, 0x41,
|
0x14, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x4f,
|
||||||
0x50, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x53, 0x10, 0x0f, 0x2a, 0x4a, 0x0a, 0x10, 0x52,
|
0x50, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x54, 0x4c, 0x43, 0x5f,
|
||||||
0x6f, 0x75, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
|
0x56, 0x32, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x4c, 0x4f,
|
||||||
0x11, 0x0a, 0x0d, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
|
0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f,
|
||||||
0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x45, 0x50, 0x41, 0x59, 0x5f, 0x52, 0x4f, 0x55,
|
0x4f, 0x55, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x07, 0x12, 0x09, 0x0a, 0x05,
|
||||||
0x54, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f,
|
0x50, 0x52, 0x4f, 0x42, 0x45, 0x10, 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x4f, 0x55, 0x54, 0x49,
|
||||||
0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x02, 0x2a, 0xf1, 0x01, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6d,
|
0x4e, 0x47, 0x5f, 0x50, 0x4c, 0x55, 0x47, 0x49, 0x4e, 0x10, 0x09, 0x2a, 0xfc, 0x03, 0x0a, 0x0f,
|
||||||
0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e,
|
0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x77, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
|
||||||
0x12, 0x1b, 0x0a, 0x17, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f,
|
0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41,
|
||||||
0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1e, 0x0a,
|
0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f,
|
||||||
0x1a, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41,
|
0x48, 0x54, 0x4c, 0x43, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, 0x01,
|
||||||
0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x1f, 0x0a,
|
0x12, 0x12, 0x0a, 0x0e, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45,
|
||||||
0x1b, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41,
|
0x53, 0x53, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46,
|
||||||
0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x1c,
|
0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12,
|
||||||
0x0a, 0x18, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45,
|
0x19, 0x0a, 0x15, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44,
|
||||||
0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x30, 0x0a, 0x2c,
|
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, 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,
|
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,
|
0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b,
|
||||||
0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0x04, 0x12, 0x2b,
|
0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53,
|
||||||
0x0a, 0x27, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45,
|
0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x1c, 0x0a,
|
||||||
0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e,
|
0x18, 0x4c, 0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41,
|
||||||
0x54, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x05, 0x32, 0xcf, 0x07, 0x0a, 0x0a,
|
0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x30, 0x0a, 0x2c, 0x4c,
|
||||||
0x53, 0x77, 0x61, 0x70, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x0c, 0x4c, 0x6f,
|
0x4e, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f,
|
||||||
0x6f, 0x70, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x22, 0x2e, 0x6c, 0x6f, 0x6f,
|
0x4e, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x41, 0x59, 0x4d,
|
||||||
0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x4f,
|
0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0x04, 0x12, 0x2b, 0x0a,
|
||||||
0x75, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b,
|
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, 0x8a, 0x09, 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,
|
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,
|
0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||||
0x65, 0x77, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x12, 0x1d, 0x2e,
|
0x74, 0x1a, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76,
|
||||||
0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f,
|
0x65, 0x72, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73,
|
||||||
0x6f, 0x70, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c,
|
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
|
||||||
0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4c, 0x6f, 0x6f,
|
0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73,
|
||||||
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,
|
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,
|
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, 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, 0x49, 0x6e, 0x55, 0x70, 0x64, 0x61,
|
0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x55, 0x70, 0x64,
|
||||||
0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x5a, 0x0a,
|
0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x65,
|
||||||
0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77,
|
0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f, 0x6f, 0x70, 0x49,
|
||||||
0x61, 0x70, 0x12, 0x21, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e,
|
0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72,
|
||||||
0x63, 0x65, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65,
|
0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x55, 0x70, 0x64, 0x61,
|
||||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e,
|
0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6c, 0x6f, 0x6f,
|
||||||
0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61,
|
0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x4c, 0x6f,
|
||||||
0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x05, 0x50, 0x72, 0x6f,
|
0x6f, 0x70, 0x49, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||||
0x62, 0x65, 0x12, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72,
|
0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x5a, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c,
|
||||||
0x76, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x12, 0x21, 0x2e, 0x6c, 0x6f, 0x6f,
|
||||||
0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72,
|
0x70, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f,
|
||||||
0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x2d, 0x5a,
|
0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e,
|
||||||
0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68,
|
0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4c, 0x6f,
|
||||||
0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x73,
|
0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||||
0x77, 0x61, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72,
|
0x65, 0x12, 0x42, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x1b, 0x2e, 0x6c, 0x6f, 0x6f,
|
||||||
0x6f, 0x74, 0x6f, 0x33,
|
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,
|
||||||
|
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 (
|
var (
|
||||||
@ -2320,44 +2678,49 @@ func file_server_proto_rawDescGZIP() []byte {
|
|||||||
return file_server_proto_rawDescData
|
return file_server_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_server_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
|
var file_server_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
|
||||||
var file_server_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
|
var file_server_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
|
||||||
var file_server_proto_goTypes = []interface{}{
|
var file_server_proto_goTypes = []interface{}{
|
||||||
(ProtocolVersion)(0), // 0: looprpc.ProtocolVersion
|
(ProtocolVersion)(0), // 0: looprpc.ProtocolVersion
|
||||||
(ServerSwapState)(0), // 1: looprpc.ServerSwapState
|
(ServerSwapState)(0), // 1: looprpc.ServerSwapState
|
||||||
(RoutePaymentType)(0), // 2: looprpc.RoutePaymentType
|
(RoutePaymentType)(0), // 2: looprpc.RoutePaymentType
|
||||||
(PaymentFailureReason)(0), // 3: looprpc.PaymentFailureReason
|
(PaymentFailureReason)(0), // 3: looprpc.PaymentFailureReason
|
||||||
(*ServerLoopOutRequest)(nil), // 4: looprpc.ServerLoopOutRequest
|
(RoutingPlugin)(0), // 4: looprpc.RoutingPlugin
|
||||||
(*ServerLoopOutResponse)(nil), // 5: looprpc.ServerLoopOutResponse
|
(*ServerLoopOutRequest)(nil), // 5: looprpc.ServerLoopOutRequest
|
||||||
(*ServerLoopOutQuoteRequest)(nil), // 6: looprpc.ServerLoopOutQuoteRequest
|
(*ServerLoopOutResponse)(nil), // 6: looprpc.ServerLoopOutResponse
|
||||||
(*ServerLoopOutQuote)(nil), // 7: looprpc.ServerLoopOutQuote
|
(*ServerLoopOutQuoteRequest)(nil), // 7: looprpc.ServerLoopOutQuoteRequest
|
||||||
(*ServerLoopOutTermsRequest)(nil), // 8: looprpc.ServerLoopOutTermsRequest
|
(*ServerLoopOutQuote)(nil), // 8: looprpc.ServerLoopOutQuote
|
||||||
(*ServerLoopOutTerms)(nil), // 9: looprpc.ServerLoopOutTerms
|
(*ServerLoopOutTermsRequest)(nil), // 9: looprpc.ServerLoopOutTermsRequest
|
||||||
(*ServerLoopInRequest)(nil), // 10: looprpc.ServerLoopInRequest
|
(*ServerLoopOutTerms)(nil), // 10: looprpc.ServerLoopOutTerms
|
||||||
(*ServerLoopInResponse)(nil), // 11: looprpc.ServerLoopInResponse
|
(*ServerLoopInRequest)(nil), // 11: looprpc.ServerLoopInRequest
|
||||||
(*ServerLoopInQuoteRequest)(nil), // 12: looprpc.ServerLoopInQuoteRequest
|
(*ServerLoopInResponse)(nil), // 12: looprpc.ServerLoopInResponse
|
||||||
(*ServerLoopInQuoteResponse)(nil), // 13: looprpc.ServerLoopInQuoteResponse
|
(*ServerLoopInQuoteRequest)(nil), // 13: looprpc.ServerLoopInQuoteRequest
|
||||||
(*ServerLoopInTermsRequest)(nil), // 14: looprpc.ServerLoopInTermsRequest
|
(*ServerLoopInQuoteResponse)(nil), // 14: looprpc.ServerLoopInQuoteResponse
|
||||||
(*ServerLoopInTerms)(nil), // 15: looprpc.ServerLoopInTerms
|
(*ServerLoopInTermsRequest)(nil), // 15: looprpc.ServerLoopInTermsRequest
|
||||||
(*ServerLoopOutPushPreimageRequest)(nil), // 16: looprpc.ServerLoopOutPushPreimageRequest
|
(*ServerLoopInTerms)(nil), // 16: looprpc.ServerLoopInTerms
|
||||||
(*ServerLoopOutPushPreimageResponse)(nil), // 17: looprpc.ServerLoopOutPushPreimageResponse
|
(*ServerLoopOutPushPreimageRequest)(nil), // 17: looprpc.ServerLoopOutPushPreimageRequest
|
||||||
(*SubscribeUpdatesRequest)(nil), // 18: looprpc.SubscribeUpdatesRequest
|
(*ServerLoopOutPushPreimageResponse)(nil), // 18: looprpc.ServerLoopOutPushPreimageResponse
|
||||||
(*SubscribeLoopOutUpdatesResponse)(nil), // 19: looprpc.SubscribeLoopOutUpdatesResponse
|
(*SubscribeUpdatesRequest)(nil), // 19: looprpc.SubscribeUpdatesRequest
|
||||||
(*SubscribeLoopInUpdatesResponse)(nil), // 20: looprpc.SubscribeLoopInUpdatesResponse
|
(*SubscribeLoopOutUpdatesResponse)(nil), // 20: looprpc.SubscribeLoopOutUpdatesResponse
|
||||||
(*RouteCancel)(nil), // 21: looprpc.RouteCancel
|
(*SubscribeLoopInUpdatesResponse)(nil), // 21: looprpc.SubscribeLoopInUpdatesResponse
|
||||||
(*HtlcAttempt)(nil), // 22: looprpc.HtlcAttempt
|
(*RouteCancel)(nil), // 22: looprpc.RouteCancel
|
||||||
(*CancelLoopOutSwapRequest)(nil), // 23: looprpc.CancelLoopOutSwapRequest
|
(*HtlcAttempt)(nil), // 23: looprpc.HtlcAttempt
|
||||||
(*CancelLoopOutSwapResponse)(nil), // 24: looprpc.CancelLoopOutSwapResponse
|
(*CancelLoopOutSwapRequest)(nil), // 24: looprpc.CancelLoopOutSwapRequest
|
||||||
(*ServerProbeRequest)(nil), // 25: looprpc.ServerProbeRequest
|
(*CancelLoopOutSwapResponse)(nil), // 25: looprpc.CancelLoopOutSwapResponse
|
||||||
(*ServerProbeResponse)(nil), // 26: looprpc.ServerProbeResponse
|
(*ServerProbeRequest)(nil), // 26: looprpc.ServerProbeRequest
|
||||||
(*RouteHint)(nil), // 27: looprpc.RouteHint
|
(*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
|
||||||
|
(*RouteHint)(nil), // 32: looprpc.RouteHint
|
||||||
}
|
}
|
||||||
var file_server_proto_depIdxs = []int32{
|
var file_server_proto_depIdxs = []int32{
|
||||||
0, // 0: looprpc.ServerLoopOutRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
0, // 0: looprpc.ServerLoopOutRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
||||||
0, // 1: looprpc.ServerLoopOutQuoteRequest.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, // 2: looprpc.ServerLoopOutTermsRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
||||||
0, // 3: looprpc.ServerLoopInRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
0, // 3: looprpc.ServerLoopInRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
||||||
27, // 4: looprpc.ServerLoopInQuoteRequest.route_hints:type_name -> looprpc.RouteHint
|
32, // 4: looprpc.ServerLoopInQuoteRequest.route_hints:type_name -> looprpc.RouteHint
|
||||||
0, // 5: looprpc.ServerLoopInQuoteRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
0, // 5: looprpc.ServerLoopInQuoteRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
||||||
0, // 6: looprpc.ServerLoopInTermsRequest.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, // 7: looprpc.ServerLoopOutPushPreimageRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
||||||
@ -2365,39 +2728,47 @@ var file_server_proto_depIdxs = []int32{
|
|||||||
1, // 9: looprpc.SubscribeLoopOutUpdatesResponse.state:type_name -> looprpc.ServerSwapState
|
1, // 9: looprpc.SubscribeLoopOutUpdatesResponse.state:type_name -> looprpc.ServerSwapState
|
||||||
1, // 10: looprpc.SubscribeLoopInUpdatesResponse.state:type_name -> looprpc.ServerSwapState
|
1, // 10: looprpc.SubscribeLoopInUpdatesResponse.state:type_name -> looprpc.ServerSwapState
|
||||||
2, // 11: looprpc.RouteCancel.route_type:type_name -> looprpc.RoutePaymentType
|
2, // 11: looprpc.RouteCancel.route_type:type_name -> looprpc.RoutePaymentType
|
||||||
22, // 12: looprpc.RouteCancel.attempts:type_name -> looprpc.HtlcAttempt
|
23, // 12: looprpc.RouteCancel.attempts:type_name -> looprpc.HtlcAttempt
|
||||||
3, // 13: looprpc.RouteCancel.failure:type_name -> looprpc.PaymentFailureReason
|
3, // 13: looprpc.RouteCancel.failure:type_name -> looprpc.PaymentFailureReason
|
||||||
0, // 14: looprpc.CancelLoopOutSwapRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
0, // 14: looprpc.CancelLoopOutSwapRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
||||||
21, // 15: looprpc.CancelLoopOutSwapRequest.route_cancel:type_name -> looprpc.RouteCancel
|
22, // 15: looprpc.CancelLoopOutSwapRequest.route_cancel:type_name -> looprpc.RouteCancel
|
||||||
0, // 16: looprpc.ServerProbeRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
0, // 16: looprpc.ServerProbeRequest.protocol_version:type_name -> looprpc.ProtocolVersion
|
||||||
27, // 17: looprpc.ServerProbeRequest.route_hints:type_name -> looprpc.RouteHint
|
32, // 17: looprpc.ServerProbeRequest.route_hints:type_name -> looprpc.RouteHint
|
||||||
8, // 18: looprpc.SwapServer.LoopOutTerms:input_type -> looprpc.ServerLoopOutTermsRequest
|
0, // 18: looprpc.RecommendRoutingPluginReq.protocol_version:type_name -> looprpc.ProtocolVersion
|
||||||
4, // 19: looprpc.SwapServer.NewLoopOutSwap:input_type -> looprpc.ServerLoopOutRequest
|
4, // 19: looprpc.RecommendRoutingPluginRes.plugin:type_name -> looprpc.RoutingPlugin
|
||||||
16, // 20: looprpc.SwapServer.LoopOutPushPreimage:input_type -> looprpc.ServerLoopOutPushPreimageRequest
|
0, // 20: looprpc.ReportRoutingResultReq.protocol_version:type_name -> looprpc.ProtocolVersion
|
||||||
6, // 21: looprpc.SwapServer.LoopOutQuote:input_type -> looprpc.ServerLoopOutQuoteRequest
|
4, // 21: looprpc.ReportRoutingResultReq.plugin:type_name -> looprpc.RoutingPlugin
|
||||||
14, // 22: looprpc.SwapServer.LoopInTerms:input_type -> looprpc.ServerLoopInTermsRequest
|
9, // 22: looprpc.SwapServer.LoopOutTerms:input_type -> looprpc.ServerLoopOutTermsRequest
|
||||||
10, // 23: looprpc.SwapServer.NewLoopInSwap:input_type -> looprpc.ServerLoopInRequest
|
5, // 23: looprpc.SwapServer.NewLoopOutSwap:input_type -> looprpc.ServerLoopOutRequest
|
||||||
12, // 24: looprpc.SwapServer.LoopInQuote:input_type -> looprpc.ServerLoopInQuoteRequest
|
17, // 24: looprpc.SwapServer.LoopOutPushPreimage:input_type -> looprpc.ServerLoopOutPushPreimageRequest
|
||||||
18, // 25: looprpc.SwapServer.SubscribeLoopOutUpdates:input_type -> looprpc.SubscribeUpdatesRequest
|
7, // 25: looprpc.SwapServer.LoopOutQuote:input_type -> looprpc.ServerLoopOutQuoteRequest
|
||||||
18, // 26: looprpc.SwapServer.SubscribeLoopInUpdates:input_type -> looprpc.SubscribeUpdatesRequest
|
15, // 26: looprpc.SwapServer.LoopInTerms:input_type -> looprpc.ServerLoopInTermsRequest
|
||||||
23, // 27: looprpc.SwapServer.CancelLoopOutSwap:input_type -> looprpc.CancelLoopOutSwapRequest
|
11, // 27: looprpc.SwapServer.NewLoopInSwap:input_type -> looprpc.ServerLoopInRequest
|
||||||
25, // 28: looprpc.SwapServer.Probe:input_type -> looprpc.ServerProbeRequest
|
13, // 28: looprpc.SwapServer.LoopInQuote:input_type -> looprpc.ServerLoopInQuoteRequest
|
||||||
9, // 29: looprpc.SwapServer.LoopOutTerms:output_type -> looprpc.ServerLoopOutTerms
|
19, // 29: looprpc.SwapServer.SubscribeLoopOutUpdates:input_type -> looprpc.SubscribeUpdatesRequest
|
||||||
5, // 30: looprpc.SwapServer.NewLoopOutSwap:output_type -> looprpc.ServerLoopOutResponse
|
19, // 30: looprpc.SwapServer.SubscribeLoopInUpdates:input_type -> looprpc.SubscribeUpdatesRequest
|
||||||
17, // 31: looprpc.SwapServer.LoopOutPushPreimage:output_type -> looprpc.ServerLoopOutPushPreimageResponse
|
24, // 31: looprpc.SwapServer.CancelLoopOutSwap:input_type -> looprpc.CancelLoopOutSwapRequest
|
||||||
7, // 32: looprpc.SwapServer.LoopOutQuote:output_type -> looprpc.ServerLoopOutQuote
|
26, // 32: looprpc.SwapServer.Probe:input_type -> looprpc.ServerProbeRequest
|
||||||
15, // 33: looprpc.SwapServer.LoopInTerms:output_type -> looprpc.ServerLoopInTerms
|
28, // 33: looprpc.SwapServer.RecommendRoutingPlugin:input_type -> looprpc.RecommendRoutingPluginReq
|
||||||
11, // 34: looprpc.SwapServer.NewLoopInSwap:output_type -> looprpc.ServerLoopInResponse
|
30, // 34: looprpc.SwapServer.ReportRoutingResult:input_type -> looprpc.ReportRoutingResultReq
|
||||||
13, // 35: looprpc.SwapServer.LoopInQuote:output_type -> looprpc.ServerLoopInQuoteResponse
|
10, // 35: looprpc.SwapServer.LoopOutTerms:output_type -> looprpc.ServerLoopOutTerms
|
||||||
19, // 36: looprpc.SwapServer.SubscribeLoopOutUpdates:output_type -> looprpc.SubscribeLoopOutUpdatesResponse
|
6, // 36: looprpc.SwapServer.NewLoopOutSwap:output_type -> looprpc.ServerLoopOutResponse
|
||||||
20, // 37: looprpc.SwapServer.SubscribeLoopInUpdates:output_type -> looprpc.SubscribeLoopInUpdatesResponse
|
18, // 37: looprpc.SwapServer.LoopOutPushPreimage:output_type -> looprpc.ServerLoopOutPushPreimageResponse
|
||||||
24, // 38: looprpc.SwapServer.CancelLoopOutSwap:output_type -> looprpc.CancelLoopOutSwapResponse
|
8, // 38: looprpc.SwapServer.LoopOutQuote:output_type -> looprpc.ServerLoopOutQuote
|
||||||
26, // 39: looprpc.SwapServer.Probe:output_type -> looprpc.ServerProbeResponse
|
16, // 39: looprpc.SwapServer.LoopInTerms:output_type -> looprpc.ServerLoopInTerms
|
||||||
29, // [29:40] is the sub-list for method output_type
|
12, // 40: looprpc.SwapServer.NewLoopInSwap:output_type -> looprpc.ServerLoopInResponse
|
||||||
18, // [18:29] is the sub-list for method input_type
|
14, // 41: looprpc.SwapServer.LoopInQuote:output_type -> looprpc.ServerLoopInQuoteResponse
|
||||||
18, // [18:18] is the sub-list for extension type_name
|
20, // 42: looprpc.SwapServer.SubscribeLoopOutUpdates:output_type -> looprpc.SubscribeLoopOutUpdatesResponse
|
||||||
18, // [18:18] is the sub-list for extension extendee
|
21, // 43: looprpc.SwapServer.SubscribeLoopInUpdates:output_type -> looprpc.SubscribeLoopInUpdatesResponse
|
||||||
0, // [0:18] is the sub-list for field type_name
|
25, // 44: looprpc.SwapServer.CancelLoopOutSwap:output_type -> looprpc.CancelLoopOutSwapResponse
|
||||||
|
27, // 45: looprpc.SwapServer.Probe:output_type -> looprpc.ServerProbeResponse
|
||||||
|
29, // 46: looprpc.SwapServer.RecommendRoutingPlugin:output_type -> looprpc.RecommendRoutingPluginRes
|
||||||
|
31, // 47: looprpc.SwapServer.ReportRoutingResult:output_type -> looprpc.ReportRoutingResultRes
|
||||||
|
35, // [35:48] is the sub-list for method output_type
|
||||||
|
22, // [22:35] is the sub-list for method input_type
|
||||||
|
22, // [22:22] is the sub-list for extension type_name
|
||||||
|
22, // [22:22] is the sub-list for extension extendee
|
||||||
|
0, // [0:22] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_server_proto_init() }
|
func init() { file_server_proto_init() }
|
||||||
@ -2683,6 +3054,54 @@ func file_server_proto_init() {
|
|||||||
return nil
|
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[19].OneofWrappers = []interface{}{
|
file_server_proto_msgTypes[19].OneofWrappers = []interface{}{
|
||||||
(*CancelLoopOutSwapRequest_RouteCancel)(nil),
|
(*CancelLoopOutSwapRequest_RouteCancel)(nil),
|
||||||
@ -2692,8 +3111,8 @@ func file_server_proto_init() {
|
|||||||
File: protoimpl.DescBuilder{
|
File: protoimpl.DescBuilder{
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||||
RawDescriptor: file_server_proto_rawDesc,
|
RawDescriptor: file_server_proto_rawDesc,
|
||||||
NumEnums: 4,
|
NumEnums: 5,
|
||||||
NumMessages: 23,
|
NumMessages: 27,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 1,
|
NumServices: 1,
|
||||||
},
|
},
|
||||||
|
@ -37,6 +37,12 @@ service SwapServer {
|
|||||||
returns (CancelLoopOutSwapResponse);
|
returns (CancelLoopOutSwapResponse);
|
||||||
|
|
||||||
rpc Probe (ServerProbeRequest) returns (ServerProbeResponse);
|
rpc Probe (ServerProbeRequest) returns (ServerProbeResponse);
|
||||||
|
|
||||||
|
rpc RecommendRoutingPlugin (RecommendRoutingPluginReq)
|
||||||
|
returns (RecommendRoutingPluginRes);
|
||||||
|
|
||||||
|
rpc ReportRoutingResult (ReportRoutingResultReq)
|
||||||
|
returns (ReportRoutingResultRes);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -82,6 +88,10 @@ enum ProtocolVersion {
|
|||||||
// The client is able to ask the server to probe to test inbound
|
// The client is able to ask the server to probe to test inbound
|
||||||
// liquidity.
|
// liquidity.
|
||||||
PROBE = 8;
|
PROBE = 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.
|
||||||
|
ROUTING_PLUGIN = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ServerLoopOutRequest {
|
message ServerLoopOutRequest {
|
||||||
@ -458,3 +468,53 @@ message ServerProbeRequest {
|
|||||||
|
|
||||||
message ServerProbeResponse {
|
message ServerProbeResponse {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message RecommendRoutingPluginReq {
|
||||||
|
ProtocolVersion protocol_version = 1;
|
||||||
|
|
||||||
|
// The hash of the swap requesting a routing plugin.
|
||||||
|
bytes swap_hash = 2;
|
||||||
|
|
||||||
|
// The payment address for the swap invoice, used to ensure that only the
|
||||||
|
// swap owner can request routing plugin recommendation.
|
||||||
|
bytes payment_address = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum RoutingPlugin {
|
||||||
|
// Client won't use any plugins to help with payment routing.
|
||||||
|
NONE = 0;
|
||||||
|
|
||||||
|
// Client will try more expensive routes for off-chain payments.
|
||||||
|
LOW_HIGH = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message RecommendRoutingPluginRes {
|
||||||
|
// The routing plugin to use for off-chain payments.
|
||||||
|
RoutingPlugin plugin = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ReportRoutingResultReq {
|
||||||
|
ProtocolVersion protocol_version = 1;
|
||||||
|
|
||||||
|
// The swap hash.
|
||||||
|
bytes swap_hash = 2;
|
||||||
|
|
||||||
|
// The payment address for the swap invoice, used to ensure that only the
|
||||||
|
// swap owner can report routing result.
|
||||||
|
bytes payment_address = 3;
|
||||||
|
|
||||||
|
// The routing plugin that was used.
|
||||||
|
RoutingPlugin plugin = 4;
|
||||||
|
|
||||||
|
// Whether this payment succeeded.
|
||||||
|
bool success = 5;
|
||||||
|
|
||||||
|
// The number of payment attempts using the plugin.
|
||||||
|
int32 attempts = 6;
|
||||||
|
|
||||||
|
// Total time used in milliseconds.
|
||||||
|
int64 total_time = 7;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ReportRoutingResultRes {
|
||||||
|
}
|
||||||
|
@ -29,6 +29,8 @@ type SwapServerClient interface {
|
|||||||
SubscribeLoopInUpdates(ctx context.Context, in *SubscribeUpdatesRequest, opts ...grpc.CallOption) (SwapServer_SubscribeLoopInUpdatesClient, error)
|
SubscribeLoopInUpdates(ctx context.Context, in *SubscribeUpdatesRequest, opts ...grpc.CallOption) (SwapServer_SubscribeLoopInUpdatesClient, error)
|
||||||
CancelLoopOutSwap(ctx context.Context, in *CancelLoopOutSwapRequest, opts ...grpc.CallOption) (*CancelLoopOutSwapResponse, error)
|
CancelLoopOutSwap(ctx context.Context, in *CancelLoopOutSwapRequest, opts ...grpc.CallOption) (*CancelLoopOutSwapResponse, error)
|
||||||
Probe(ctx context.Context, in *ServerProbeRequest, opts ...grpc.CallOption) (*ServerProbeResponse, error)
|
Probe(ctx context.Context, in *ServerProbeRequest, opts ...grpc.CallOption) (*ServerProbeResponse, error)
|
||||||
|
RecommendRoutingPlugin(ctx context.Context, in *RecommendRoutingPluginReq, opts ...grpc.CallOption) (*RecommendRoutingPluginRes, error)
|
||||||
|
ReportRoutingResult(ctx context.Context, in *ReportRoutingResultReq, opts ...grpc.CallOption) (*ReportRoutingResultRes, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
type swapServerClient struct {
|
type swapServerClient struct {
|
||||||
@ -184,6 +186,24 @@ func (c *swapServerClient) Probe(ctx context.Context, in *ServerProbeRequest, op
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *swapServerClient) RecommendRoutingPlugin(ctx context.Context, in *RecommendRoutingPluginReq, opts ...grpc.CallOption) (*RecommendRoutingPluginRes, error) {
|
||||||
|
out := new(RecommendRoutingPluginRes)
|
||||||
|
err := c.cc.Invoke(ctx, "/looprpc.SwapServer/RecommendRoutingPlugin", in, out, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *swapServerClient) ReportRoutingResult(ctx context.Context, in *ReportRoutingResultReq, opts ...grpc.CallOption) (*ReportRoutingResultRes, error) {
|
||||||
|
out := new(ReportRoutingResultRes)
|
||||||
|
err := c.cc.Invoke(ctx, "/looprpc.SwapServer/ReportRoutingResult", in, out, opts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
// SwapServerServer is the server API for SwapServer service.
|
// SwapServerServer is the server API for SwapServer service.
|
||||||
// All implementations must embed UnimplementedSwapServerServer
|
// All implementations must embed UnimplementedSwapServerServer
|
||||||
// for forward compatibility
|
// for forward compatibility
|
||||||
@ -199,6 +219,8 @@ type SwapServerServer interface {
|
|||||||
SubscribeLoopInUpdates(*SubscribeUpdatesRequest, SwapServer_SubscribeLoopInUpdatesServer) error
|
SubscribeLoopInUpdates(*SubscribeUpdatesRequest, SwapServer_SubscribeLoopInUpdatesServer) error
|
||||||
CancelLoopOutSwap(context.Context, *CancelLoopOutSwapRequest) (*CancelLoopOutSwapResponse, error)
|
CancelLoopOutSwap(context.Context, *CancelLoopOutSwapRequest) (*CancelLoopOutSwapResponse, error)
|
||||||
Probe(context.Context, *ServerProbeRequest) (*ServerProbeResponse, error)
|
Probe(context.Context, *ServerProbeRequest) (*ServerProbeResponse, error)
|
||||||
|
RecommendRoutingPlugin(context.Context, *RecommendRoutingPluginReq) (*RecommendRoutingPluginRes, error)
|
||||||
|
ReportRoutingResult(context.Context, *ReportRoutingResultReq) (*ReportRoutingResultRes, error)
|
||||||
mustEmbedUnimplementedSwapServerServer()
|
mustEmbedUnimplementedSwapServerServer()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -239,6 +261,12 @@ func (UnimplementedSwapServerServer) CancelLoopOutSwap(context.Context, *CancelL
|
|||||||
func (UnimplementedSwapServerServer) Probe(context.Context, *ServerProbeRequest) (*ServerProbeResponse, error) {
|
func (UnimplementedSwapServerServer) Probe(context.Context, *ServerProbeRequest) (*ServerProbeResponse, error) {
|
||||||
return nil, status.Errorf(codes.Unimplemented, "method Probe not implemented")
|
return nil, status.Errorf(codes.Unimplemented, "method Probe not implemented")
|
||||||
}
|
}
|
||||||
|
func (UnimplementedSwapServerServer) RecommendRoutingPlugin(context.Context, *RecommendRoutingPluginReq) (*RecommendRoutingPluginRes, error) {
|
||||||
|
return nil, status.Errorf(codes.Unimplemented, "method RecommendRoutingPlugin not implemented")
|
||||||
|
}
|
||||||
|
func (UnimplementedSwapServerServer) ReportRoutingResult(context.Context, *ReportRoutingResultReq) (*ReportRoutingResultRes, error) {
|
||||||
|
return nil, status.Errorf(codes.Unimplemented, "method ReportRoutingResult not implemented")
|
||||||
|
}
|
||||||
func (UnimplementedSwapServerServer) mustEmbedUnimplementedSwapServerServer() {}
|
func (UnimplementedSwapServerServer) mustEmbedUnimplementedSwapServerServer() {}
|
||||||
|
|
||||||
// UnsafeSwapServerServer may be embedded to opt out of forward compatibility for this service.
|
// UnsafeSwapServerServer may be embedded to opt out of forward compatibility for this service.
|
||||||
@ -456,6 +484,42 @@ func _SwapServer_Probe_Handler(srv interface{}, ctx context.Context, dec func(in
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _SwapServer_RecommendRoutingPlugin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(RecommendRoutingPluginReq)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(SwapServerServer).RecommendRoutingPlugin(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/looprpc.SwapServer/RecommendRoutingPlugin",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(SwapServerServer).RecommendRoutingPlugin(ctx, req.(*RecommendRoutingPluginReq))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
|
func _SwapServer_ReportRoutingResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(ReportRoutingResultReq)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(SwapServerServer).ReportRoutingResult(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: "/looprpc.SwapServer/ReportRoutingResult",
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(SwapServerServer).ReportRoutingResult(ctx, req.(*ReportRoutingResultReq))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
// SwapServer_ServiceDesc is the grpc.ServiceDesc for SwapServer service.
|
// SwapServer_ServiceDesc is the grpc.ServiceDesc for SwapServer service.
|
||||||
// It's only intended for direct use with grpc.RegisterService,
|
// It's only intended for direct use with grpc.RegisterService,
|
||||||
// and not to be introspected or modified (even as a copy)
|
// and not to be introspected or modified (even as a copy)
|
||||||
@ -499,6 +563,14 @@ var SwapServer_ServiceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "Probe",
|
MethodName: "Probe",
|
||||||
Handler: _SwapServer_Probe_Handler,
|
Handler: _SwapServer_Probe_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "RecommendRoutingPlugin",
|
||||||
|
Handler: _SwapServer_RecommendRoutingPlugin_Handler,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
MethodName: "ReportRoutingResult",
|
||||||
|
Handler: _SwapServer_ReportRoutingResult_Handler,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Streams: []grpc.StreamDesc{
|
Streams: []grpc.StreamDesc{
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user