• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lightningnetwork / lnd / 13481890706

23 Feb 2025 09:53AM UTC coverage: 46.221% (-12.6%) from 58.825%
13481890706

Pull #9521

github

web-flow
Merge 9fb980a6f into 5fe900d18
Pull Request #9521: unit: remove GOACC, use Go 1.20 native coverage functionality

105094 of 227374 relevant lines covered (46.22%)

19705.84 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

1.49
/lnrpc/routerrpc/router.pb.go
1
// Code generated by protoc-gen-go. DO NOT EDIT.
2
// versions:
3
//         protoc-gen-go v1.33.0
4
//         protoc        v3.21.12
5
// source: routerrpc/router.proto
6

7
package routerrpc
8

9
import (
10
        lnrpc "github.com/lightningnetwork/lnd/lnrpc"
11
        protoreflect "google.golang.org/protobuf/reflect/protoreflect"
12
        protoimpl "google.golang.org/protobuf/runtime/protoimpl"
13
        reflect "reflect"
14
        sync "sync"
15
)
16

17
const (
18
        // Verify that this generated code is sufficiently up-to-date.
19
        _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
20
        // Verify that runtime/protoimpl is sufficiently up-to-date.
21
        _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
22
)
23

24
type FailureDetail int32
25

26
const (
27
        FailureDetail_UNKNOWN                 FailureDetail = 0
28
        FailureDetail_NO_DETAIL               FailureDetail = 1
29
        FailureDetail_ONION_DECODE            FailureDetail = 2
30
        FailureDetail_LINK_NOT_ELIGIBLE       FailureDetail = 3
31
        FailureDetail_ON_CHAIN_TIMEOUT        FailureDetail = 4
32
        FailureDetail_HTLC_EXCEEDS_MAX        FailureDetail = 5
33
        FailureDetail_INSUFFICIENT_BALANCE    FailureDetail = 6
34
        FailureDetail_INCOMPLETE_FORWARD      FailureDetail = 7
35
        FailureDetail_HTLC_ADD_FAILED         FailureDetail = 8
36
        FailureDetail_FORWARDS_DISABLED       FailureDetail = 9
37
        FailureDetail_INVOICE_CANCELED        FailureDetail = 10
38
        FailureDetail_INVOICE_UNDERPAID       FailureDetail = 11
39
        FailureDetail_INVOICE_EXPIRY_TOO_SOON FailureDetail = 12
40
        FailureDetail_INVOICE_NOT_OPEN        FailureDetail = 13
41
        FailureDetail_MPP_INVOICE_TIMEOUT     FailureDetail = 14
42
        FailureDetail_ADDRESS_MISMATCH        FailureDetail = 15
43
        FailureDetail_SET_TOTAL_MISMATCH      FailureDetail = 16
44
        FailureDetail_SET_TOTAL_TOO_LOW       FailureDetail = 17
45
        FailureDetail_SET_OVERPAID            FailureDetail = 18
46
        FailureDetail_UNKNOWN_INVOICE         FailureDetail = 19
47
        FailureDetail_INVALID_KEYSEND         FailureDetail = 20
48
        FailureDetail_MPP_IN_PROGRESS         FailureDetail = 21
49
        FailureDetail_CIRCULAR_ROUTE          FailureDetail = 22
50
)
51

52
// Enum value maps for FailureDetail.
53
var (
54
        FailureDetail_name = map[int32]string{
55
                0:  "UNKNOWN",
56
                1:  "NO_DETAIL",
57
                2:  "ONION_DECODE",
58
                3:  "LINK_NOT_ELIGIBLE",
59
                4:  "ON_CHAIN_TIMEOUT",
60
                5:  "HTLC_EXCEEDS_MAX",
61
                6:  "INSUFFICIENT_BALANCE",
62
                7:  "INCOMPLETE_FORWARD",
63
                8:  "HTLC_ADD_FAILED",
64
                9:  "FORWARDS_DISABLED",
65
                10: "INVOICE_CANCELED",
66
                11: "INVOICE_UNDERPAID",
67
                12: "INVOICE_EXPIRY_TOO_SOON",
68
                13: "INVOICE_NOT_OPEN",
69
                14: "MPP_INVOICE_TIMEOUT",
70
                15: "ADDRESS_MISMATCH",
71
                16: "SET_TOTAL_MISMATCH",
72
                17: "SET_TOTAL_TOO_LOW",
73
                18: "SET_OVERPAID",
74
                19: "UNKNOWN_INVOICE",
75
                20: "INVALID_KEYSEND",
76
                21: "MPP_IN_PROGRESS",
77
                22: "CIRCULAR_ROUTE",
78
        }
79
        FailureDetail_value = map[string]int32{
80
                "UNKNOWN":                 0,
81
                "NO_DETAIL":               1,
82
                "ONION_DECODE":            2,
83
                "LINK_NOT_ELIGIBLE":       3,
84
                "ON_CHAIN_TIMEOUT":        4,
85
                "HTLC_EXCEEDS_MAX":        5,
86
                "INSUFFICIENT_BALANCE":    6,
87
                "INCOMPLETE_FORWARD":      7,
88
                "HTLC_ADD_FAILED":         8,
89
                "FORWARDS_DISABLED":       9,
90
                "INVOICE_CANCELED":        10,
91
                "INVOICE_UNDERPAID":       11,
92
                "INVOICE_EXPIRY_TOO_SOON": 12,
93
                "INVOICE_NOT_OPEN":        13,
94
                "MPP_INVOICE_TIMEOUT":     14,
95
                "ADDRESS_MISMATCH":        15,
96
                "SET_TOTAL_MISMATCH":      16,
97
                "SET_TOTAL_TOO_LOW":       17,
98
                "SET_OVERPAID":            18,
99
                "UNKNOWN_INVOICE":         19,
100
                "INVALID_KEYSEND":         20,
101
                "MPP_IN_PROGRESS":         21,
102
                "CIRCULAR_ROUTE":          22,
103
        }
104
)
105

106
func (x FailureDetail) Enum() *FailureDetail {
×
107
        p := new(FailureDetail)
×
108
        *p = x
×
109
        return p
×
110
}
×
111

112
func (x FailureDetail) String() string {
×
113
        return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
×
114
}
×
115

116
func (FailureDetail) Descriptor() protoreflect.EnumDescriptor {
×
117
        return file_routerrpc_router_proto_enumTypes[0].Descriptor()
×
118
}
×
119

120
func (FailureDetail) Type() protoreflect.EnumType {
×
121
        return &file_routerrpc_router_proto_enumTypes[0]
×
122
}
×
123

124
func (x FailureDetail) Number() protoreflect.EnumNumber {
×
125
        return protoreflect.EnumNumber(x)
×
126
}
×
127

128
// Deprecated: Use FailureDetail.Descriptor instead.
129
func (FailureDetail) EnumDescriptor() ([]byte, []int) {
×
130
        return file_routerrpc_router_proto_rawDescGZIP(), []int{0}
×
131
}
×
132

133
type PaymentState int32
134

135
const (
136
        // Payment is still in flight.
137
        PaymentState_IN_FLIGHT PaymentState = 0
138
        // Payment completed successfully.
139
        PaymentState_SUCCEEDED PaymentState = 1
140
        // There are more routes to try, but the payment timeout was exceeded.
141
        PaymentState_FAILED_TIMEOUT PaymentState = 2
142
        // All possible routes were tried and failed permanently. Or were no
143
        // routes to the destination at all.
144
        PaymentState_FAILED_NO_ROUTE PaymentState = 3
145
        // A non-recoverable error has occurred.
146
        PaymentState_FAILED_ERROR PaymentState = 4
147
        // Payment details incorrect (unknown hash, invalid amt or
148
        // invalid final cltv delta)
149
        PaymentState_FAILED_INCORRECT_PAYMENT_DETAILS PaymentState = 5
150
        // Insufficient local balance.
151
        PaymentState_FAILED_INSUFFICIENT_BALANCE PaymentState = 6
152
)
153

154
// Enum value maps for PaymentState.
155
var (
156
        PaymentState_name = map[int32]string{
157
                0: "IN_FLIGHT",
158
                1: "SUCCEEDED",
159
                2: "FAILED_TIMEOUT",
160
                3: "FAILED_NO_ROUTE",
161
                4: "FAILED_ERROR",
162
                5: "FAILED_INCORRECT_PAYMENT_DETAILS",
163
                6: "FAILED_INSUFFICIENT_BALANCE",
164
        }
165
        PaymentState_value = map[string]int32{
166
                "IN_FLIGHT":                        0,
167
                "SUCCEEDED":                        1,
168
                "FAILED_TIMEOUT":                   2,
169
                "FAILED_NO_ROUTE":                  3,
170
                "FAILED_ERROR":                     4,
171
                "FAILED_INCORRECT_PAYMENT_DETAILS": 5,
172
                "FAILED_INSUFFICIENT_BALANCE":      6,
173
        }
174
)
175

176
func (x PaymentState) Enum() *PaymentState {
×
177
        p := new(PaymentState)
×
178
        *p = x
×
179
        return p
×
180
}
×
181

182
func (x PaymentState) String() string {
×
183
        return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
×
184
}
×
185

186
func (PaymentState) Descriptor() protoreflect.EnumDescriptor {
×
187
        return file_routerrpc_router_proto_enumTypes[1].Descriptor()
×
188
}
×
189

190
func (PaymentState) Type() protoreflect.EnumType {
×
191
        return &file_routerrpc_router_proto_enumTypes[1]
×
192
}
×
193

194
func (x PaymentState) Number() protoreflect.EnumNumber {
×
195
        return protoreflect.EnumNumber(x)
×
196
}
×
197

198
// Deprecated: Use PaymentState.Descriptor instead.
199
func (PaymentState) EnumDescriptor() ([]byte, []int) {
×
200
        return file_routerrpc_router_proto_rawDescGZIP(), []int{1}
×
201
}
×
202

203
type ResolveHoldForwardAction int32
204

205
const (
206
        // SETTLE is an action that is used to settle an HTLC instead of forwarding
207
        // it.
208
        ResolveHoldForwardAction_SETTLE ResolveHoldForwardAction = 0
209
        // FAIL is an action that is used to fail an HTLC backwards.
210
        ResolveHoldForwardAction_FAIL ResolveHoldForwardAction = 1
211
        // RESUME is an action that is used to resume a forward HTLC.
212
        ResolveHoldForwardAction_RESUME ResolveHoldForwardAction = 2
213
        // RESUME_MODIFIED is an action that is used to resume a hold forward HTLC
214
        // with modifications specified during interception.
215
        ResolveHoldForwardAction_RESUME_MODIFIED ResolveHoldForwardAction = 3
216
)
217

218
// Enum value maps for ResolveHoldForwardAction.
219
var (
220
        ResolveHoldForwardAction_name = map[int32]string{
221
                0: "SETTLE",
222
                1: "FAIL",
223
                2: "RESUME",
224
                3: "RESUME_MODIFIED",
225
        }
226
        ResolveHoldForwardAction_value = map[string]int32{
227
                "SETTLE":          0,
228
                "FAIL":            1,
229
                "RESUME":          2,
230
                "RESUME_MODIFIED": 3,
231
        }
232
)
233

234
func (x ResolveHoldForwardAction) Enum() *ResolveHoldForwardAction {
×
235
        p := new(ResolveHoldForwardAction)
×
236
        *p = x
×
237
        return p
×
238
}
×
239

240
func (x ResolveHoldForwardAction) String() string {
×
241
        return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
×
242
}
×
243

244
func (ResolveHoldForwardAction) Descriptor() protoreflect.EnumDescriptor {
×
245
        return file_routerrpc_router_proto_enumTypes[2].Descriptor()
×
246
}
×
247

248
func (ResolveHoldForwardAction) Type() protoreflect.EnumType {
×
249
        return &file_routerrpc_router_proto_enumTypes[2]
×
250
}
×
251

252
func (x ResolveHoldForwardAction) Number() protoreflect.EnumNumber {
×
253
        return protoreflect.EnumNumber(x)
×
254
}
×
255

256
// Deprecated: Use ResolveHoldForwardAction.Descriptor instead.
257
func (ResolveHoldForwardAction) EnumDescriptor() ([]byte, []int) {
×
258
        return file_routerrpc_router_proto_rawDescGZIP(), []int{2}
×
259
}
×
260

261
type ChanStatusAction int32
262

263
const (
264
        ChanStatusAction_ENABLE  ChanStatusAction = 0
265
        ChanStatusAction_DISABLE ChanStatusAction = 1
266
        ChanStatusAction_AUTO    ChanStatusAction = 2
267
)
268

269
// Enum value maps for ChanStatusAction.
270
var (
271
        ChanStatusAction_name = map[int32]string{
272
                0: "ENABLE",
273
                1: "DISABLE",
274
                2: "AUTO",
275
        }
276
        ChanStatusAction_value = map[string]int32{
277
                "ENABLE":  0,
278
                "DISABLE": 1,
279
                "AUTO":    2,
280
        }
281
)
282

283
func (x ChanStatusAction) Enum() *ChanStatusAction {
×
284
        p := new(ChanStatusAction)
×
285
        *p = x
×
286
        return p
×
287
}
×
288

289
func (x ChanStatusAction) String() string {
×
290
        return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
×
291
}
×
292

293
func (ChanStatusAction) Descriptor() protoreflect.EnumDescriptor {
×
294
        return file_routerrpc_router_proto_enumTypes[3].Descriptor()
×
295
}
×
296

297
func (ChanStatusAction) Type() protoreflect.EnumType {
×
298
        return &file_routerrpc_router_proto_enumTypes[3]
×
299
}
×
300

301
func (x ChanStatusAction) Number() protoreflect.EnumNumber {
×
302
        return protoreflect.EnumNumber(x)
×
303
}
×
304

305
// Deprecated: Use ChanStatusAction.Descriptor instead.
306
func (ChanStatusAction) EnumDescriptor() ([]byte, []int) {
×
307
        return file_routerrpc_router_proto_rawDescGZIP(), []int{3}
×
308
}
×
309

310
type MissionControlConfig_ProbabilityModel int32
311

312
const (
313
        MissionControlConfig_APRIORI MissionControlConfig_ProbabilityModel = 0
314
        MissionControlConfig_BIMODAL MissionControlConfig_ProbabilityModel = 1
315
)
316

317
// Enum value maps for MissionControlConfig_ProbabilityModel.
318
var (
319
        MissionControlConfig_ProbabilityModel_name = map[int32]string{
320
                0: "APRIORI",
321
                1: "BIMODAL",
322
        }
323
        MissionControlConfig_ProbabilityModel_value = map[string]int32{
324
                "APRIORI": 0,
325
                "BIMODAL": 1,
326
        }
327
)
328

329
func (x MissionControlConfig_ProbabilityModel) Enum() *MissionControlConfig_ProbabilityModel {
×
330
        p := new(MissionControlConfig_ProbabilityModel)
×
331
        *p = x
×
332
        return p
×
333
}
×
334

335
func (x MissionControlConfig_ProbabilityModel) String() string {
×
336
        return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
×
337
}
×
338

339
func (MissionControlConfig_ProbabilityModel) Descriptor() protoreflect.EnumDescriptor {
×
340
        return file_routerrpc_router_proto_enumTypes[4].Descriptor()
×
341
}
×
342

343
func (MissionControlConfig_ProbabilityModel) Type() protoreflect.EnumType {
×
344
        return &file_routerrpc_router_proto_enumTypes[4]
×
345
}
×
346

347
func (x MissionControlConfig_ProbabilityModel) Number() protoreflect.EnumNumber {
×
348
        return protoreflect.EnumNumber(x)
×
349
}
×
350

351
// Deprecated: Use MissionControlConfig_ProbabilityModel.Descriptor instead.
352
func (MissionControlConfig_ProbabilityModel) EnumDescriptor() ([]byte, []int) {
×
353
        return file_routerrpc_router_proto_rawDescGZIP(), []int{19, 0}
×
354
}
×
355

356
type HtlcEvent_EventType int32
357

358
const (
359
        HtlcEvent_UNKNOWN HtlcEvent_EventType = 0
360
        HtlcEvent_SEND    HtlcEvent_EventType = 1
361
        HtlcEvent_RECEIVE HtlcEvent_EventType = 2
362
        HtlcEvent_FORWARD HtlcEvent_EventType = 3
363
)
364

365
// Enum value maps for HtlcEvent_EventType.
366
var (
367
        HtlcEvent_EventType_name = map[int32]string{
368
                0: "UNKNOWN",
369
                1: "SEND",
370
                2: "RECEIVE",
371
                3: "FORWARD",
372
        }
373
        HtlcEvent_EventType_value = map[string]int32{
374
                "UNKNOWN": 0,
375
                "SEND":    1,
376
                "RECEIVE": 2,
377
                "FORWARD": 3,
378
        }
379
)
380

381
func (x HtlcEvent_EventType) Enum() *HtlcEvent_EventType {
×
382
        p := new(HtlcEvent_EventType)
×
383
        *p = x
×
384
        return p
×
385
}
×
386

387
func (x HtlcEvent_EventType) String() string {
×
388
        return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
×
389
}
×
390

391
func (HtlcEvent_EventType) Descriptor() protoreflect.EnumDescriptor {
×
392
        return file_routerrpc_router_proto_enumTypes[5].Descriptor()
×
393
}
×
394

395
func (HtlcEvent_EventType) Type() protoreflect.EnumType {
×
396
        return &file_routerrpc_router_proto_enumTypes[5]
×
397
}
×
398

399
func (x HtlcEvent_EventType) Number() protoreflect.EnumNumber {
×
400
        return protoreflect.EnumNumber(x)
×
401
}
×
402

403
// Deprecated: Use HtlcEvent_EventType.Descriptor instead.
404
func (HtlcEvent_EventType) EnumDescriptor() ([]byte, []int) {
×
405
        return file_routerrpc_router_proto_rawDescGZIP(), []int{27, 0}
×
406
}
×
407

408
type SendPaymentRequest struct {
409
        state         protoimpl.MessageState
410
        sizeCache     protoimpl.SizeCache
411
        unknownFields protoimpl.UnknownFields
412

413
        // The identity pubkey of the payment recipient
414
        Dest []byte `protobuf:"bytes,1,opt,name=dest,proto3" json:"dest,omitempty"`
415
        // Number of satoshis to send.
416
        //
417
        // The fields amt and amt_msat are mutually exclusive.
418
        Amt int64 `protobuf:"varint,2,opt,name=amt,proto3" json:"amt,omitempty"`
419
        // The hash to use within the payment's HTLC
420
        PaymentHash []byte `protobuf:"bytes,3,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
421
        // The CLTV delta from the current height that should be used to set the
422
        // timelock for the final hop.
423
        FinalCltvDelta int32 `protobuf:"varint,4,opt,name=final_cltv_delta,json=finalCltvDelta,proto3" json:"final_cltv_delta,omitempty"`
424
        // A bare-bones invoice for a payment within the Lightning Network.  With the
425
        // details of the invoice, the sender has all the data necessary to send a
426
        // payment to the recipient. The amount in the payment request may be zero. In
427
        // that case it is required to set the amt field as well. If no payment request
428
        // is specified, the following fields are required: dest, amt and payment_hash.
429
        PaymentRequest string `protobuf:"bytes,5,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"`
430
        // An optional limit, expressed in seconds, on the time to wait before
431
        // attempting the first HTLC. Once HTLCs are in flight, the payment will
432
        // not be aborted until the HTLCs are either settled or failed. If the field
433
        // is not set or is explicitly set to zero, the default value of 60 seconds
434
        // will be applied.
435
        TimeoutSeconds int32 `protobuf:"varint,6,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
436
        // The maximum number of satoshis that will be paid as a fee of the payment.
437
        // If this field is left to the default value of 0, only zero-fee routes will
438
        // be considered. This usually means single hop routes connecting directly to
439
        // the destination. To send the payment without a fee limit, use max int here.
440
        //
441
        // The fields fee_limit_sat and fee_limit_msat are mutually exclusive.
442
        FeeLimitSat int64 `protobuf:"varint,7,opt,name=fee_limit_sat,json=feeLimitSat,proto3" json:"fee_limit_sat,omitempty"`
443
        // Deprecated, use outgoing_chan_ids. The channel id of the channel that must
444
        // be taken to the first hop. If zero, any channel may be used (unless
445
        // outgoing_chan_ids are set).
446
        //
447
        // Deprecated: Marked as deprecated in routerrpc/router.proto.
448
        OutgoingChanId uint64 `protobuf:"varint,8,opt,name=outgoing_chan_id,json=outgoingChanId,proto3" json:"outgoing_chan_id,omitempty"`
449
        // An optional maximum total time lock for the route. This should not
450
        // exceed lnd's `--max-cltv-expiry` setting. If zero, then the value of
451
        // `--max-cltv-expiry` is enforced.
452
        CltvLimit int32 `protobuf:"varint,9,opt,name=cltv_limit,json=cltvLimit,proto3" json:"cltv_limit,omitempty"`
453
        // Optional route hints to reach the destination through private channels.
454
        RouteHints []*lnrpc.RouteHint `protobuf:"bytes,10,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
455
        // An optional field that can be used to pass an arbitrary set of TLV records
456
        // to a peer which understands the new records. This can be used to pass
457
        // application specific data during the payment attempt. Record types are
458
        // required to be in the custom range >= 65536. When using REST, the values
459
        // must be encoded as base64.
460
        DestCustomRecords map[uint64][]byte `protobuf:"bytes,11,rep,name=dest_custom_records,json=destCustomRecords,proto3" json:"dest_custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
461
        // Number of millisatoshis to send.
462
        //
463
        // The fields amt and amt_msat are mutually exclusive.
464
        AmtMsat int64 `protobuf:"varint,12,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"`
465
        // The maximum number of millisatoshis that will be paid as a fee of the
466
        // payment. If this field is left to the default value of 0, only zero-fee
467
        // routes will be considered. This usually means single hop routes connecting
468
        // directly to the destination. To send the payment without a fee limit, use
469
        // max int here.
470
        //
471
        // The fields fee_limit_sat and fee_limit_msat are mutually exclusive.
472
        FeeLimitMsat int64 `protobuf:"varint,13,opt,name=fee_limit_msat,json=feeLimitMsat,proto3" json:"fee_limit_msat,omitempty"`
473
        // The pubkey of the last hop of the route. If empty, any hop may be used.
474
        LastHopPubkey []byte `protobuf:"bytes,14,opt,name=last_hop_pubkey,json=lastHopPubkey,proto3" json:"last_hop_pubkey,omitempty"`
475
        // If set, circular payments to self are permitted.
476
        AllowSelfPayment bool `protobuf:"varint,15,opt,name=allow_self_payment,json=allowSelfPayment,proto3" json:"allow_self_payment,omitempty"`
477
        // Features assumed to be supported by the final node. All transitive feature
478
        // dependencies must also be set properly. For a given feature bit pair, either
479
        // optional or remote may be set, but not both. If this field is nil or empty,
480
        // the router will try to load destination features from the graph as a
481
        // fallback.
482
        DestFeatures []lnrpc.FeatureBit `protobuf:"varint,16,rep,packed,name=dest_features,json=destFeatures,proto3,enum=lnrpc.FeatureBit" json:"dest_features,omitempty"`
483
        // The maximum number of partial payments that may be use to complete the full
484
        // amount.
485
        MaxParts uint32 `protobuf:"varint,17,opt,name=max_parts,json=maxParts,proto3" json:"max_parts,omitempty"`
486
        // If set, only the final payment update is streamed back. Intermediate updates
487
        // that show which htlcs are still in flight are suppressed.
488
        NoInflightUpdates bool `protobuf:"varint,18,opt,name=no_inflight_updates,json=noInflightUpdates,proto3" json:"no_inflight_updates,omitempty"`
489
        // The channel ids of the channels are allowed for the first hop. If empty,
490
        // any channel may be used.
491
        OutgoingChanIds []uint64 `protobuf:"varint,19,rep,packed,name=outgoing_chan_ids,json=outgoingChanIds,proto3" json:"outgoing_chan_ids,omitempty"`
492
        // An optional payment addr to be included within the last hop of the route.
493
        // This is also called payment secret in specifications (e.g. BOLT 11).
494
        PaymentAddr []byte `protobuf:"bytes,20,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"`
495
        // The largest payment split that should be attempted when making a payment if
496
        // splitting is necessary. Setting this value will effectively cause lnd to
497
        // split more aggressively, vs only when it thinks it needs to. Note that this
498
        // value is in milli-satoshis.
499
        MaxShardSizeMsat uint64 `protobuf:"varint,21,opt,name=max_shard_size_msat,json=maxShardSizeMsat,proto3" json:"max_shard_size_msat,omitempty"`
500
        // If set, an AMP-payment will be attempted.
501
        Amp bool `protobuf:"varint,22,opt,name=amp,proto3" json:"amp,omitempty"`
502
        // The time preference for this payment. Set to -1 to optimize for fees
503
        // only, to 1 to optimize for reliability only or a value inbetween for a mix.
504
        TimePref float64 `protobuf:"fixed64,23,opt,name=time_pref,json=timePref,proto3" json:"time_pref,omitempty"`
505
        // If set, the payment loop can be interrupted by manually canceling the
506
        // payment context, even before the payment timeout is reached. Note that the
507
        // payment may still succeed after cancellation, as in-flight attempts can
508
        // still settle afterwards. Canceling will only prevent further attempts from
509
        // being sent.
510
        Cancelable bool `protobuf:"varint,24,opt,name=cancelable,proto3" json:"cancelable,omitempty"`
511
        // An optional field that can be used to pass an arbitrary set of TLV records
512
        // to the first hop peer of this payment. This can be used to pass application
513
        // specific data during the payment attempt. Record types are required to be in
514
        // the custom range >= 65536. When using REST, the values must be encoded as
515
        // base64.
516
        FirstHopCustomRecords map[uint64][]byte `protobuf:"bytes,25,rep,name=first_hop_custom_records,json=firstHopCustomRecords,proto3" json:"first_hop_custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
517
}
518

519
func (x *SendPaymentRequest) Reset() {
×
520
        *x = SendPaymentRequest{}
×
521
        if protoimpl.UnsafeEnabled {
×
522
                mi := &file_routerrpc_router_proto_msgTypes[0]
×
523
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
524
                ms.StoreMessageInfo(mi)
×
525
        }
×
526
}
527

528
func (x *SendPaymentRequest) String() string {
×
529
        return protoimpl.X.MessageStringOf(x)
×
530
}
×
531

532
func (*SendPaymentRequest) ProtoMessage() {}
×
533

534
func (x *SendPaymentRequest) ProtoReflect() protoreflect.Message {
×
535
        mi := &file_routerrpc_router_proto_msgTypes[0]
×
536
        if protoimpl.UnsafeEnabled && x != nil {
×
537
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
538
                if ms.LoadMessageInfo() == nil {
×
539
                        ms.StoreMessageInfo(mi)
×
540
                }
×
541
                return ms
×
542
        }
543
        return mi.MessageOf(x)
×
544
}
545

546
// Deprecated: Use SendPaymentRequest.ProtoReflect.Descriptor instead.
547
func (*SendPaymentRequest) Descriptor() ([]byte, []int) {
×
548
        return file_routerrpc_router_proto_rawDescGZIP(), []int{0}
×
549
}
×
550

551
func (x *SendPaymentRequest) GetDest() []byte {
×
552
        if x != nil {
×
553
                return x.Dest
×
554
        }
×
555
        return nil
×
556
}
557

558
func (x *SendPaymentRequest) GetAmt() int64 {
×
559
        if x != nil {
×
560
                return x.Amt
×
561
        }
×
562
        return 0
×
563
}
564

565
func (x *SendPaymentRequest) GetPaymentHash() []byte {
×
566
        if x != nil {
×
567
                return x.PaymentHash
×
568
        }
×
569
        return nil
×
570
}
571

572
func (x *SendPaymentRequest) GetFinalCltvDelta() int32 {
×
573
        if x != nil {
×
574
                return x.FinalCltvDelta
×
575
        }
×
576
        return 0
×
577
}
578

579
func (x *SendPaymentRequest) GetPaymentRequest() string {
×
580
        if x != nil {
×
581
                return x.PaymentRequest
×
582
        }
×
583
        return ""
×
584
}
585

586
func (x *SendPaymentRequest) GetTimeoutSeconds() int32 {
×
587
        if x != nil {
×
588
                return x.TimeoutSeconds
×
589
        }
×
590
        return 0
×
591
}
592

593
func (x *SendPaymentRequest) GetFeeLimitSat() int64 {
×
594
        if x != nil {
×
595
                return x.FeeLimitSat
×
596
        }
×
597
        return 0
×
598
}
599

600
// Deprecated: Marked as deprecated in routerrpc/router.proto.
601
func (x *SendPaymentRequest) GetOutgoingChanId() uint64 {
×
602
        if x != nil {
×
603
                return x.OutgoingChanId
×
604
        }
×
605
        return 0
×
606
}
607

608
func (x *SendPaymentRequest) GetCltvLimit() int32 {
×
609
        if x != nil {
×
610
                return x.CltvLimit
×
611
        }
×
612
        return 0
×
613
}
614

615
func (x *SendPaymentRequest) GetRouteHints() []*lnrpc.RouteHint {
×
616
        if x != nil {
×
617
                return x.RouteHints
×
618
        }
×
619
        return nil
×
620
}
621

622
func (x *SendPaymentRequest) GetDestCustomRecords() map[uint64][]byte {
×
623
        if x != nil {
×
624
                return x.DestCustomRecords
×
625
        }
×
626
        return nil
×
627
}
628

629
func (x *SendPaymentRequest) GetAmtMsat() int64 {
×
630
        if x != nil {
×
631
                return x.AmtMsat
×
632
        }
×
633
        return 0
×
634
}
635

636
func (x *SendPaymentRequest) GetFeeLimitMsat() int64 {
×
637
        if x != nil {
×
638
                return x.FeeLimitMsat
×
639
        }
×
640
        return 0
×
641
}
642

643
func (x *SendPaymentRequest) GetLastHopPubkey() []byte {
×
644
        if x != nil {
×
645
                return x.LastHopPubkey
×
646
        }
×
647
        return nil
×
648
}
649

650
func (x *SendPaymentRequest) GetAllowSelfPayment() bool {
×
651
        if x != nil {
×
652
                return x.AllowSelfPayment
×
653
        }
×
654
        return false
×
655
}
656

657
func (x *SendPaymentRequest) GetDestFeatures() []lnrpc.FeatureBit {
×
658
        if x != nil {
×
659
                return x.DestFeatures
×
660
        }
×
661
        return nil
×
662
}
663

664
func (x *SendPaymentRequest) GetMaxParts() uint32 {
×
665
        if x != nil {
×
666
                return x.MaxParts
×
667
        }
×
668
        return 0
×
669
}
670

671
func (x *SendPaymentRequest) GetNoInflightUpdates() bool {
×
672
        if x != nil {
×
673
                return x.NoInflightUpdates
×
674
        }
×
675
        return false
×
676
}
677

678
func (x *SendPaymentRequest) GetOutgoingChanIds() []uint64 {
×
679
        if x != nil {
×
680
                return x.OutgoingChanIds
×
681
        }
×
682
        return nil
×
683
}
684

685
func (x *SendPaymentRequest) GetPaymentAddr() []byte {
×
686
        if x != nil {
×
687
                return x.PaymentAddr
×
688
        }
×
689
        return nil
×
690
}
691

692
func (x *SendPaymentRequest) GetMaxShardSizeMsat() uint64 {
×
693
        if x != nil {
×
694
                return x.MaxShardSizeMsat
×
695
        }
×
696
        return 0
×
697
}
698

699
func (x *SendPaymentRequest) GetAmp() bool {
×
700
        if x != nil {
×
701
                return x.Amp
×
702
        }
×
703
        return false
×
704
}
705

706
func (x *SendPaymentRequest) GetTimePref() float64 {
×
707
        if x != nil {
×
708
                return x.TimePref
×
709
        }
×
710
        return 0
×
711
}
712

713
func (x *SendPaymentRequest) GetCancelable() bool {
×
714
        if x != nil {
×
715
                return x.Cancelable
×
716
        }
×
717
        return false
×
718
}
719

720
func (x *SendPaymentRequest) GetFirstHopCustomRecords() map[uint64][]byte {
×
721
        if x != nil {
×
722
                return x.FirstHopCustomRecords
×
723
        }
×
724
        return nil
×
725
}
726

727
type TrackPaymentRequest struct {
728
        state         protoimpl.MessageState
729
        sizeCache     protoimpl.SizeCache
730
        unknownFields protoimpl.UnknownFields
731

732
        // The hash of the payment to look up.
733
        PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
734
        // If set, only the final payment update is streamed back. Intermediate updates
735
        // that show which htlcs are still in flight are suppressed.
736
        NoInflightUpdates bool `protobuf:"varint,2,opt,name=no_inflight_updates,json=noInflightUpdates,proto3" json:"no_inflight_updates,omitempty"`
737
}
738

739
func (x *TrackPaymentRequest) Reset() {
×
740
        *x = TrackPaymentRequest{}
×
741
        if protoimpl.UnsafeEnabled {
×
742
                mi := &file_routerrpc_router_proto_msgTypes[1]
×
743
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
744
                ms.StoreMessageInfo(mi)
×
745
        }
×
746
}
747

748
func (x *TrackPaymentRequest) String() string {
×
749
        return protoimpl.X.MessageStringOf(x)
×
750
}
×
751

752
func (*TrackPaymentRequest) ProtoMessage() {}
×
753

754
func (x *TrackPaymentRequest) ProtoReflect() protoreflect.Message {
×
755
        mi := &file_routerrpc_router_proto_msgTypes[1]
×
756
        if protoimpl.UnsafeEnabled && x != nil {
×
757
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
758
                if ms.LoadMessageInfo() == nil {
×
759
                        ms.StoreMessageInfo(mi)
×
760
                }
×
761
                return ms
×
762
        }
763
        return mi.MessageOf(x)
×
764
}
765

766
// Deprecated: Use TrackPaymentRequest.ProtoReflect.Descriptor instead.
767
func (*TrackPaymentRequest) Descriptor() ([]byte, []int) {
×
768
        return file_routerrpc_router_proto_rawDescGZIP(), []int{1}
×
769
}
×
770

771
func (x *TrackPaymentRequest) GetPaymentHash() []byte {
×
772
        if x != nil {
×
773
                return x.PaymentHash
×
774
        }
×
775
        return nil
×
776
}
777

778
func (x *TrackPaymentRequest) GetNoInflightUpdates() bool {
×
779
        if x != nil {
×
780
                return x.NoInflightUpdates
×
781
        }
×
782
        return false
×
783
}
784

785
type TrackPaymentsRequest struct {
786
        state         protoimpl.MessageState
787
        sizeCache     protoimpl.SizeCache
788
        unknownFields protoimpl.UnknownFields
789

790
        // If set, only the final payment updates are streamed back. Intermediate
791
        // updates that show which htlcs are still in flight are suppressed.
792
        NoInflightUpdates bool `protobuf:"varint,1,opt,name=no_inflight_updates,json=noInflightUpdates,proto3" json:"no_inflight_updates,omitempty"`
793
}
794

795
func (x *TrackPaymentsRequest) Reset() {
×
796
        *x = TrackPaymentsRequest{}
×
797
        if protoimpl.UnsafeEnabled {
×
798
                mi := &file_routerrpc_router_proto_msgTypes[2]
×
799
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
800
                ms.StoreMessageInfo(mi)
×
801
        }
×
802
}
803

804
func (x *TrackPaymentsRequest) String() string {
×
805
        return protoimpl.X.MessageStringOf(x)
×
806
}
×
807

808
func (*TrackPaymentsRequest) ProtoMessage() {}
×
809

810
func (x *TrackPaymentsRequest) ProtoReflect() protoreflect.Message {
×
811
        mi := &file_routerrpc_router_proto_msgTypes[2]
×
812
        if protoimpl.UnsafeEnabled && x != nil {
×
813
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
814
                if ms.LoadMessageInfo() == nil {
×
815
                        ms.StoreMessageInfo(mi)
×
816
                }
×
817
                return ms
×
818
        }
819
        return mi.MessageOf(x)
×
820
}
821

822
// Deprecated: Use TrackPaymentsRequest.ProtoReflect.Descriptor instead.
823
func (*TrackPaymentsRequest) Descriptor() ([]byte, []int) {
×
824
        return file_routerrpc_router_proto_rawDescGZIP(), []int{2}
×
825
}
×
826

827
func (x *TrackPaymentsRequest) GetNoInflightUpdates() bool {
×
828
        if x != nil {
×
829
                return x.NoInflightUpdates
×
830
        }
×
831
        return false
×
832
}
833

834
type RouteFeeRequest struct {
835
        state         protoimpl.MessageState
836
        sizeCache     protoimpl.SizeCache
837
        unknownFields protoimpl.UnknownFields
838

839
        // The destination one wishes to obtain a routing fee quote to. If set, this
840
        // parameter requires the amt_sat parameter also to be set. This parameter
841
        // combination triggers a graph based routing fee estimation as opposed to a
842
        // payment probe based estimate in case a payment request is provided. The
843
        // graph based estimation is an algorithm that is executed on the in memory
844
        // graph. Hence its runtime is significantly shorter than a payment probe
845
        // estimation that sends out actual payments to the network.
846
        Dest []byte `protobuf:"bytes,1,opt,name=dest,proto3" json:"dest,omitempty"`
847
        // The amount one wishes to send to the target destination. It is only to be
848
        // used in combination with the dest parameter.
849
        AmtSat int64 `protobuf:"varint,2,opt,name=amt_sat,json=amtSat,proto3" json:"amt_sat,omitempty"`
850
        // A payment request of the target node that the route fee request is intended
851
        // for. Its parameters are input to probe payments that estimate routing fees.
852
        // The timeout parameter can be specified to set a maximum time on the probing
853
        // attempt. Cannot be used in combination with dest and amt_sat.
854
        PaymentRequest string `protobuf:"bytes,3,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"`
855
        // A user preference of how long a probe payment should maximally be allowed to
856
        // take, denoted in seconds. The probing payment loop is aborted if this
857
        // timeout is reached. Note that the probing process itself can take longer
858
        // than the timeout if the HTLC becomes delayed or stuck. Canceling the context
859
        // of this call will not cancel the payment loop, the duration is only
860
        // controlled by the timeout parameter.
861
        Timeout uint32 `protobuf:"varint,4,opt,name=timeout,proto3" json:"timeout,omitempty"`
862
}
863

864
func (x *RouteFeeRequest) Reset() {
×
865
        *x = RouteFeeRequest{}
×
866
        if protoimpl.UnsafeEnabled {
×
867
                mi := &file_routerrpc_router_proto_msgTypes[3]
×
868
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
869
                ms.StoreMessageInfo(mi)
×
870
        }
×
871
}
872

873
func (x *RouteFeeRequest) String() string {
×
874
        return protoimpl.X.MessageStringOf(x)
×
875
}
×
876

877
func (*RouteFeeRequest) ProtoMessage() {}
×
878

879
func (x *RouteFeeRequest) ProtoReflect() protoreflect.Message {
×
880
        mi := &file_routerrpc_router_proto_msgTypes[3]
×
881
        if protoimpl.UnsafeEnabled && x != nil {
×
882
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
883
                if ms.LoadMessageInfo() == nil {
×
884
                        ms.StoreMessageInfo(mi)
×
885
                }
×
886
                return ms
×
887
        }
888
        return mi.MessageOf(x)
×
889
}
890

891
// Deprecated: Use RouteFeeRequest.ProtoReflect.Descriptor instead.
892
func (*RouteFeeRequest) Descriptor() ([]byte, []int) {
×
893
        return file_routerrpc_router_proto_rawDescGZIP(), []int{3}
×
894
}
×
895

896
func (x *RouteFeeRequest) GetDest() []byte {
×
897
        if x != nil {
×
898
                return x.Dest
×
899
        }
×
900
        return nil
×
901
}
902

903
func (x *RouteFeeRequest) GetAmtSat() int64 {
×
904
        if x != nil {
×
905
                return x.AmtSat
×
906
        }
×
907
        return 0
×
908
}
909

910
func (x *RouteFeeRequest) GetPaymentRequest() string {
×
911
        if x != nil {
×
912
                return x.PaymentRequest
×
913
        }
×
914
        return ""
×
915
}
916

917
func (x *RouteFeeRequest) GetTimeout() uint32 {
×
918
        if x != nil {
×
919
                return x.Timeout
×
920
        }
×
921
        return 0
×
922
}
923

924
type RouteFeeResponse struct {
925
        state         protoimpl.MessageState
926
        sizeCache     protoimpl.SizeCache
927
        unknownFields protoimpl.UnknownFields
928

929
        // A lower bound of the estimated fee to the target destination within the
930
        // network, expressed in milli-satoshis.
931
        RoutingFeeMsat int64 `protobuf:"varint,1,opt,name=routing_fee_msat,json=routingFeeMsat,proto3" json:"routing_fee_msat,omitempty"`
932
        // An estimate of the worst case time delay that can occur. Note that callers
933
        // will still need to factor in the final CLTV delta of the last hop into this
934
        // value.
935
        TimeLockDelay int64 `protobuf:"varint,2,opt,name=time_lock_delay,json=timeLockDelay,proto3" json:"time_lock_delay,omitempty"`
936
        // An indication whether a probing payment succeeded or whether and why it
937
        // failed. FAILURE_REASON_NONE indicates success.
938
        FailureReason lnrpc.PaymentFailureReason `protobuf:"varint,5,opt,name=failure_reason,json=failureReason,proto3,enum=lnrpc.PaymentFailureReason" json:"failure_reason,omitempty"`
939
}
940

941
func (x *RouteFeeResponse) Reset() {
×
942
        *x = RouteFeeResponse{}
×
943
        if protoimpl.UnsafeEnabled {
×
944
                mi := &file_routerrpc_router_proto_msgTypes[4]
×
945
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
946
                ms.StoreMessageInfo(mi)
×
947
        }
×
948
}
949

950
func (x *RouteFeeResponse) String() string {
×
951
        return protoimpl.X.MessageStringOf(x)
×
952
}
×
953

954
func (*RouteFeeResponse) ProtoMessage() {}
×
955

956
func (x *RouteFeeResponse) ProtoReflect() protoreflect.Message {
×
957
        mi := &file_routerrpc_router_proto_msgTypes[4]
×
958
        if protoimpl.UnsafeEnabled && x != nil {
×
959
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
960
                if ms.LoadMessageInfo() == nil {
×
961
                        ms.StoreMessageInfo(mi)
×
962
                }
×
963
                return ms
×
964
        }
965
        return mi.MessageOf(x)
×
966
}
967

968
// Deprecated: Use RouteFeeResponse.ProtoReflect.Descriptor instead.
969
func (*RouteFeeResponse) Descriptor() ([]byte, []int) {
×
970
        return file_routerrpc_router_proto_rawDescGZIP(), []int{4}
×
971
}
×
972

973
func (x *RouteFeeResponse) GetRoutingFeeMsat() int64 {
×
974
        if x != nil {
×
975
                return x.RoutingFeeMsat
×
976
        }
×
977
        return 0
×
978
}
979

980
func (x *RouteFeeResponse) GetTimeLockDelay() int64 {
×
981
        if x != nil {
×
982
                return x.TimeLockDelay
×
983
        }
×
984
        return 0
×
985
}
986

987
func (x *RouteFeeResponse) GetFailureReason() lnrpc.PaymentFailureReason {
×
988
        if x != nil {
×
989
                return x.FailureReason
×
990
        }
×
991
        return lnrpc.PaymentFailureReason(0)
×
992
}
993

994
type SendToRouteRequest struct {
995
        state         protoimpl.MessageState
996
        sizeCache     protoimpl.SizeCache
997
        unknownFields protoimpl.UnknownFields
998

999
        // The payment hash to use for the HTLC.
1000
        PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
1001
        // Route that should be used to attempt to complete the payment.
1002
        Route *lnrpc.Route `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"`
1003
        // Whether the payment should be marked as failed when a temporary error is
1004
        // returned from the given route. Set it to true so the payment won't be
1005
        // failed unless a terminal error is occurred, such as payment timeout, no
1006
        // routes, incorrect payment details, or insufficient funds.
1007
        SkipTempErr bool `protobuf:"varint,3,opt,name=skip_temp_err,json=skipTempErr,proto3" json:"skip_temp_err,omitempty"`
1008
        // An optional field that can be used to pass an arbitrary set of TLV records
1009
        // to the first hop peer of this payment. This can be used to pass application
1010
        // specific data during the payment attempt. Record types are required to be in
1011
        // the custom range >= 65536. When using REST, the values must be encoded as
1012
        // base64.
1013
        FirstHopCustomRecords map[uint64][]byte `protobuf:"bytes,4,rep,name=first_hop_custom_records,json=firstHopCustomRecords,proto3" json:"first_hop_custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
1014
}
1015

1016
func (x *SendToRouteRequest) Reset() {
×
1017
        *x = SendToRouteRequest{}
×
1018
        if protoimpl.UnsafeEnabled {
×
1019
                mi := &file_routerrpc_router_proto_msgTypes[5]
×
1020
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1021
                ms.StoreMessageInfo(mi)
×
1022
        }
×
1023
}
1024

1025
func (x *SendToRouteRequest) String() string {
×
1026
        return protoimpl.X.MessageStringOf(x)
×
1027
}
×
1028

1029
func (*SendToRouteRequest) ProtoMessage() {}
×
1030

1031
func (x *SendToRouteRequest) ProtoReflect() protoreflect.Message {
×
1032
        mi := &file_routerrpc_router_proto_msgTypes[5]
×
1033
        if protoimpl.UnsafeEnabled && x != nil {
×
1034
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1035
                if ms.LoadMessageInfo() == nil {
×
1036
                        ms.StoreMessageInfo(mi)
×
1037
                }
×
1038
                return ms
×
1039
        }
1040
        return mi.MessageOf(x)
×
1041
}
1042

1043
// Deprecated: Use SendToRouteRequest.ProtoReflect.Descriptor instead.
1044
func (*SendToRouteRequest) Descriptor() ([]byte, []int) {
×
1045
        return file_routerrpc_router_proto_rawDescGZIP(), []int{5}
×
1046
}
×
1047

1048
func (x *SendToRouteRequest) GetPaymentHash() []byte {
×
1049
        if x != nil {
×
1050
                return x.PaymentHash
×
1051
        }
×
1052
        return nil
×
1053
}
1054

1055
func (x *SendToRouteRequest) GetRoute() *lnrpc.Route {
×
1056
        if x != nil {
×
1057
                return x.Route
×
1058
        }
×
1059
        return nil
×
1060
}
1061

1062
func (x *SendToRouteRequest) GetSkipTempErr() bool {
×
1063
        if x != nil {
×
1064
                return x.SkipTempErr
×
1065
        }
×
1066
        return false
×
1067
}
1068

1069
func (x *SendToRouteRequest) GetFirstHopCustomRecords() map[uint64][]byte {
×
1070
        if x != nil {
×
1071
                return x.FirstHopCustomRecords
×
1072
        }
×
1073
        return nil
×
1074
}
1075

1076
type SendToRouteResponse struct {
1077
        state         protoimpl.MessageState
1078
        sizeCache     protoimpl.SizeCache
1079
        unknownFields protoimpl.UnknownFields
1080

1081
        // The preimage obtained by making the payment.
1082
        Preimage []byte `protobuf:"bytes,1,opt,name=preimage,proto3" json:"preimage,omitempty"`
1083
        // The failure message in case the payment failed.
1084
        Failure *lnrpc.Failure `protobuf:"bytes,2,opt,name=failure,proto3" json:"failure,omitempty"`
1085
}
1086

1087
func (x *SendToRouteResponse) Reset() {
×
1088
        *x = SendToRouteResponse{}
×
1089
        if protoimpl.UnsafeEnabled {
×
1090
                mi := &file_routerrpc_router_proto_msgTypes[6]
×
1091
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1092
                ms.StoreMessageInfo(mi)
×
1093
        }
×
1094
}
1095

1096
func (x *SendToRouteResponse) String() string {
×
1097
        return protoimpl.X.MessageStringOf(x)
×
1098
}
×
1099

1100
func (*SendToRouteResponse) ProtoMessage() {}
×
1101

1102
func (x *SendToRouteResponse) ProtoReflect() protoreflect.Message {
×
1103
        mi := &file_routerrpc_router_proto_msgTypes[6]
×
1104
        if protoimpl.UnsafeEnabled && x != nil {
×
1105
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1106
                if ms.LoadMessageInfo() == nil {
×
1107
                        ms.StoreMessageInfo(mi)
×
1108
                }
×
1109
                return ms
×
1110
        }
1111
        return mi.MessageOf(x)
×
1112
}
1113

1114
// Deprecated: Use SendToRouteResponse.ProtoReflect.Descriptor instead.
1115
func (*SendToRouteResponse) Descriptor() ([]byte, []int) {
×
1116
        return file_routerrpc_router_proto_rawDescGZIP(), []int{6}
×
1117
}
×
1118

1119
func (x *SendToRouteResponse) GetPreimage() []byte {
×
1120
        if x != nil {
×
1121
                return x.Preimage
×
1122
        }
×
1123
        return nil
×
1124
}
1125

1126
func (x *SendToRouteResponse) GetFailure() *lnrpc.Failure {
×
1127
        if x != nil {
×
1128
                return x.Failure
×
1129
        }
×
1130
        return nil
×
1131
}
1132

1133
type ResetMissionControlRequest struct {
1134
        state         protoimpl.MessageState
1135
        sizeCache     protoimpl.SizeCache
1136
        unknownFields protoimpl.UnknownFields
1137
}
1138

1139
func (x *ResetMissionControlRequest) Reset() {
×
1140
        *x = ResetMissionControlRequest{}
×
1141
        if protoimpl.UnsafeEnabled {
×
1142
                mi := &file_routerrpc_router_proto_msgTypes[7]
×
1143
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1144
                ms.StoreMessageInfo(mi)
×
1145
        }
×
1146
}
1147

1148
func (x *ResetMissionControlRequest) String() string {
×
1149
        return protoimpl.X.MessageStringOf(x)
×
1150
}
×
1151

1152
func (*ResetMissionControlRequest) ProtoMessage() {}
×
1153

1154
func (x *ResetMissionControlRequest) ProtoReflect() protoreflect.Message {
×
1155
        mi := &file_routerrpc_router_proto_msgTypes[7]
×
1156
        if protoimpl.UnsafeEnabled && x != nil {
×
1157
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1158
                if ms.LoadMessageInfo() == nil {
×
1159
                        ms.StoreMessageInfo(mi)
×
1160
                }
×
1161
                return ms
×
1162
        }
1163
        return mi.MessageOf(x)
×
1164
}
1165

1166
// Deprecated: Use ResetMissionControlRequest.ProtoReflect.Descriptor instead.
1167
func (*ResetMissionControlRequest) Descriptor() ([]byte, []int) {
×
1168
        return file_routerrpc_router_proto_rawDescGZIP(), []int{7}
×
1169
}
×
1170

1171
type ResetMissionControlResponse struct {
1172
        state         protoimpl.MessageState
1173
        sizeCache     protoimpl.SizeCache
1174
        unknownFields protoimpl.UnknownFields
1175
}
1176

1177
func (x *ResetMissionControlResponse) Reset() {
×
1178
        *x = ResetMissionControlResponse{}
×
1179
        if protoimpl.UnsafeEnabled {
×
1180
                mi := &file_routerrpc_router_proto_msgTypes[8]
×
1181
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1182
                ms.StoreMessageInfo(mi)
×
1183
        }
×
1184
}
1185

1186
func (x *ResetMissionControlResponse) String() string {
×
1187
        return protoimpl.X.MessageStringOf(x)
×
1188
}
×
1189

1190
func (*ResetMissionControlResponse) ProtoMessage() {}
×
1191

1192
func (x *ResetMissionControlResponse) ProtoReflect() protoreflect.Message {
×
1193
        mi := &file_routerrpc_router_proto_msgTypes[8]
×
1194
        if protoimpl.UnsafeEnabled && x != nil {
×
1195
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1196
                if ms.LoadMessageInfo() == nil {
×
1197
                        ms.StoreMessageInfo(mi)
×
1198
                }
×
1199
                return ms
×
1200
        }
1201
        return mi.MessageOf(x)
×
1202
}
1203

1204
// Deprecated: Use ResetMissionControlResponse.ProtoReflect.Descriptor instead.
1205
func (*ResetMissionControlResponse) Descriptor() ([]byte, []int) {
×
1206
        return file_routerrpc_router_proto_rawDescGZIP(), []int{8}
×
1207
}
×
1208

1209
type QueryMissionControlRequest struct {
1210
        state         protoimpl.MessageState
1211
        sizeCache     protoimpl.SizeCache
1212
        unknownFields protoimpl.UnknownFields
1213
}
1214

1215
func (x *QueryMissionControlRequest) Reset() {
×
1216
        *x = QueryMissionControlRequest{}
×
1217
        if protoimpl.UnsafeEnabled {
×
1218
                mi := &file_routerrpc_router_proto_msgTypes[9]
×
1219
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1220
                ms.StoreMessageInfo(mi)
×
1221
        }
×
1222
}
1223

1224
func (x *QueryMissionControlRequest) String() string {
×
1225
        return protoimpl.X.MessageStringOf(x)
×
1226
}
×
1227

1228
func (*QueryMissionControlRequest) ProtoMessage() {}
×
1229

1230
func (x *QueryMissionControlRequest) ProtoReflect() protoreflect.Message {
×
1231
        mi := &file_routerrpc_router_proto_msgTypes[9]
×
1232
        if protoimpl.UnsafeEnabled && x != nil {
×
1233
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1234
                if ms.LoadMessageInfo() == nil {
×
1235
                        ms.StoreMessageInfo(mi)
×
1236
                }
×
1237
                return ms
×
1238
        }
1239
        return mi.MessageOf(x)
×
1240
}
1241

1242
// Deprecated: Use QueryMissionControlRequest.ProtoReflect.Descriptor instead.
1243
func (*QueryMissionControlRequest) Descriptor() ([]byte, []int) {
×
1244
        return file_routerrpc_router_proto_rawDescGZIP(), []int{9}
×
1245
}
×
1246

1247
// QueryMissionControlResponse contains mission control state.
1248
type QueryMissionControlResponse struct {
1249
        state         protoimpl.MessageState
1250
        sizeCache     protoimpl.SizeCache
1251
        unknownFields protoimpl.UnknownFields
1252

1253
        // Node pair-level mission control state.
1254
        Pairs []*PairHistory `protobuf:"bytes,2,rep,name=pairs,proto3" json:"pairs,omitempty"`
1255
}
1256

1257
func (x *QueryMissionControlResponse) Reset() {
×
1258
        *x = QueryMissionControlResponse{}
×
1259
        if protoimpl.UnsafeEnabled {
×
1260
                mi := &file_routerrpc_router_proto_msgTypes[10]
×
1261
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1262
                ms.StoreMessageInfo(mi)
×
1263
        }
×
1264
}
1265

1266
func (x *QueryMissionControlResponse) String() string {
×
1267
        return protoimpl.X.MessageStringOf(x)
×
1268
}
×
1269

1270
func (*QueryMissionControlResponse) ProtoMessage() {}
×
1271

1272
func (x *QueryMissionControlResponse) ProtoReflect() protoreflect.Message {
×
1273
        mi := &file_routerrpc_router_proto_msgTypes[10]
×
1274
        if protoimpl.UnsafeEnabled && x != nil {
×
1275
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1276
                if ms.LoadMessageInfo() == nil {
×
1277
                        ms.StoreMessageInfo(mi)
×
1278
                }
×
1279
                return ms
×
1280
        }
1281
        return mi.MessageOf(x)
×
1282
}
1283

1284
// Deprecated: Use QueryMissionControlResponse.ProtoReflect.Descriptor instead.
1285
func (*QueryMissionControlResponse) Descriptor() ([]byte, []int) {
×
1286
        return file_routerrpc_router_proto_rawDescGZIP(), []int{10}
×
1287
}
×
1288

1289
func (x *QueryMissionControlResponse) GetPairs() []*PairHistory {
×
1290
        if x != nil {
×
1291
                return x.Pairs
×
1292
        }
×
1293
        return nil
×
1294
}
1295

1296
type XImportMissionControlRequest struct {
1297
        state         protoimpl.MessageState
1298
        sizeCache     protoimpl.SizeCache
1299
        unknownFields protoimpl.UnknownFields
1300

1301
        // Node pair-level mission control state to be imported.
1302
        Pairs []*PairHistory `protobuf:"bytes,1,rep,name=pairs,proto3" json:"pairs,omitempty"`
1303
        // Whether to force override MC pair history. Note that even with force
1304
        // override the failure pair is imported before the success pair and both
1305
        // still clamp existing failure/success amounts.
1306
        Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
1307
}
1308

1309
func (x *XImportMissionControlRequest) Reset() {
×
1310
        *x = XImportMissionControlRequest{}
×
1311
        if protoimpl.UnsafeEnabled {
×
1312
                mi := &file_routerrpc_router_proto_msgTypes[11]
×
1313
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1314
                ms.StoreMessageInfo(mi)
×
1315
        }
×
1316
}
1317

1318
func (x *XImportMissionControlRequest) String() string {
×
1319
        return protoimpl.X.MessageStringOf(x)
×
1320
}
×
1321

1322
func (*XImportMissionControlRequest) ProtoMessage() {}
×
1323

1324
func (x *XImportMissionControlRequest) ProtoReflect() protoreflect.Message {
×
1325
        mi := &file_routerrpc_router_proto_msgTypes[11]
×
1326
        if protoimpl.UnsafeEnabled && x != nil {
×
1327
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1328
                if ms.LoadMessageInfo() == nil {
×
1329
                        ms.StoreMessageInfo(mi)
×
1330
                }
×
1331
                return ms
×
1332
        }
1333
        return mi.MessageOf(x)
×
1334
}
1335

1336
// Deprecated: Use XImportMissionControlRequest.ProtoReflect.Descriptor instead.
1337
func (*XImportMissionControlRequest) Descriptor() ([]byte, []int) {
×
1338
        return file_routerrpc_router_proto_rawDescGZIP(), []int{11}
×
1339
}
×
1340

1341
func (x *XImportMissionControlRequest) GetPairs() []*PairHistory {
×
1342
        if x != nil {
×
1343
                return x.Pairs
×
1344
        }
×
1345
        return nil
×
1346
}
1347

1348
func (x *XImportMissionControlRequest) GetForce() bool {
×
1349
        if x != nil {
×
1350
                return x.Force
×
1351
        }
×
1352
        return false
×
1353
}
1354

1355
type XImportMissionControlResponse struct {
1356
        state         protoimpl.MessageState
1357
        sizeCache     protoimpl.SizeCache
1358
        unknownFields protoimpl.UnknownFields
1359
}
1360

1361
func (x *XImportMissionControlResponse) Reset() {
×
1362
        *x = XImportMissionControlResponse{}
×
1363
        if protoimpl.UnsafeEnabled {
×
1364
                mi := &file_routerrpc_router_proto_msgTypes[12]
×
1365
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1366
                ms.StoreMessageInfo(mi)
×
1367
        }
×
1368
}
1369

1370
func (x *XImportMissionControlResponse) String() string {
×
1371
        return protoimpl.X.MessageStringOf(x)
×
1372
}
×
1373

1374
func (*XImportMissionControlResponse) ProtoMessage() {}
×
1375

1376
func (x *XImportMissionControlResponse) ProtoReflect() protoreflect.Message {
×
1377
        mi := &file_routerrpc_router_proto_msgTypes[12]
×
1378
        if protoimpl.UnsafeEnabled && x != nil {
×
1379
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1380
                if ms.LoadMessageInfo() == nil {
×
1381
                        ms.StoreMessageInfo(mi)
×
1382
                }
×
1383
                return ms
×
1384
        }
1385
        return mi.MessageOf(x)
×
1386
}
1387

1388
// Deprecated: Use XImportMissionControlResponse.ProtoReflect.Descriptor instead.
1389
func (*XImportMissionControlResponse) Descriptor() ([]byte, []int) {
×
1390
        return file_routerrpc_router_proto_rawDescGZIP(), []int{12}
×
1391
}
×
1392

1393
// PairHistory contains the mission control state for a particular node pair.
1394
type PairHistory struct {
1395
        state         protoimpl.MessageState
1396
        sizeCache     protoimpl.SizeCache
1397
        unknownFields protoimpl.UnknownFields
1398

1399
        // The source node pubkey of the pair.
1400
        NodeFrom []byte `protobuf:"bytes,1,opt,name=node_from,json=nodeFrom,proto3" json:"node_from,omitempty"`
1401
        // The destination node pubkey of the pair.
1402
        NodeTo  []byte    `protobuf:"bytes,2,opt,name=node_to,json=nodeTo,proto3" json:"node_to,omitempty"`
1403
        History *PairData `protobuf:"bytes,7,opt,name=history,proto3" json:"history,omitempty"`
1404
}
1405

1406
func (x *PairHistory) Reset() {
×
1407
        *x = PairHistory{}
×
1408
        if protoimpl.UnsafeEnabled {
×
1409
                mi := &file_routerrpc_router_proto_msgTypes[13]
×
1410
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1411
                ms.StoreMessageInfo(mi)
×
1412
        }
×
1413
}
1414

1415
func (x *PairHistory) String() string {
×
1416
        return protoimpl.X.MessageStringOf(x)
×
1417
}
×
1418

1419
func (*PairHistory) ProtoMessage() {}
×
1420

1421
func (x *PairHistory) ProtoReflect() protoreflect.Message {
×
1422
        mi := &file_routerrpc_router_proto_msgTypes[13]
×
1423
        if protoimpl.UnsafeEnabled && x != nil {
×
1424
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1425
                if ms.LoadMessageInfo() == nil {
×
1426
                        ms.StoreMessageInfo(mi)
×
1427
                }
×
1428
                return ms
×
1429
        }
1430
        return mi.MessageOf(x)
×
1431
}
1432

1433
// Deprecated: Use PairHistory.ProtoReflect.Descriptor instead.
1434
func (*PairHistory) Descriptor() ([]byte, []int) {
×
1435
        return file_routerrpc_router_proto_rawDescGZIP(), []int{13}
×
1436
}
×
1437

1438
func (x *PairHistory) GetNodeFrom() []byte {
×
1439
        if x != nil {
×
1440
                return x.NodeFrom
×
1441
        }
×
1442
        return nil
×
1443
}
1444

1445
func (x *PairHistory) GetNodeTo() []byte {
×
1446
        if x != nil {
×
1447
                return x.NodeTo
×
1448
        }
×
1449
        return nil
×
1450
}
1451

1452
func (x *PairHistory) GetHistory() *PairData {
×
1453
        if x != nil {
×
1454
                return x.History
×
1455
        }
×
1456
        return nil
×
1457
}
1458

1459
type PairData struct {
1460
        state         protoimpl.MessageState
1461
        sizeCache     protoimpl.SizeCache
1462
        unknownFields protoimpl.UnknownFields
1463

1464
        // Time of last failure.
1465
        FailTime int64 `protobuf:"varint,1,opt,name=fail_time,json=failTime,proto3" json:"fail_time,omitempty"`
1466
        // Lowest amount that failed to forward rounded to whole sats. This may be
1467
        // set to zero if the failure is independent of amount.
1468
        FailAmtSat int64 `protobuf:"varint,2,opt,name=fail_amt_sat,json=failAmtSat,proto3" json:"fail_amt_sat,omitempty"`
1469
        // Lowest amount that failed to forward in millisats. This may be
1470
        // set to zero if the failure is independent of amount.
1471
        FailAmtMsat int64 `protobuf:"varint,4,opt,name=fail_amt_msat,json=failAmtMsat,proto3" json:"fail_amt_msat,omitempty"`
1472
        // Time of last success.
1473
        SuccessTime int64 `protobuf:"varint,5,opt,name=success_time,json=successTime,proto3" json:"success_time,omitempty"`
1474
        // Highest amount that we could successfully forward rounded to whole sats.
1475
        SuccessAmtSat int64 `protobuf:"varint,6,opt,name=success_amt_sat,json=successAmtSat,proto3" json:"success_amt_sat,omitempty"`
1476
        // Highest amount that we could successfully forward in millisats.
1477
        SuccessAmtMsat int64 `protobuf:"varint,7,opt,name=success_amt_msat,json=successAmtMsat,proto3" json:"success_amt_msat,omitempty"`
1478
}
1479

1480
func (x *PairData) Reset() {
×
1481
        *x = PairData{}
×
1482
        if protoimpl.UnsafeEnabled {
×
1483
                mi := &file_routerrpc_router_proto_msgTypes[14]
×
1484
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1485
                ms.StoreMessageInfo(mi)
×
1486
        }
×
1487
}
1488

1489
func (x *PairData) String() string {
×
1490
        return protoimpl.X.MessageStringOf(x)
×
1491
}
×
1492

1493
func (*PairData) ProtoMessage() {}
×
1494

1495
func (x *PairData) ProtoReflect() protoreflect.Message {
×
1496
        mi := &file_routerrpc_router_proto_msgTypes[14]
×
1497
        if protoimpl.UnsafeEnabled && x != nil {
×
1498
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1499
                if ms.LoadMessageInfo() == nil {
×
1500
                        ms.StoreMessageInfo(mi)
×
1501
                }
×
1502
                return ms
×
1503
        }
1504
        return mi.MessageOf(x)
×
1505
}
1506

1507
// Deprecated: Use PairData.ProtoReflect.Descriptor instead.
1508
func (*PairData) Descriptor() ([]byte, []int) {
×
1509
        return file_routerrpc_router_proto_rawDescGZIP(), []int{14}
×
1510
}
×
1511

1512
func (x *PairData) GetFailTime() int64 {
×
1513
        if x != nil {
×
1514
                return x.FailTime
×
1515
        }
×
1516
        return 0
×
1517
}
1518

1519
func (x *PairData) GetFailAmtSat() int64 {
×
1520
        if x != nil {
×
1521
                return x.FailAmtSat
×
1522
        }
×
1523
        return 0
×
1524
}
1525

1526
func (x *PairData) GetFailAmtMsat() int64 {
×
1527
        if x != nil {
×
1528
                return x.FailAmtMsat
×
1529
        }
×
1530
        return 0
×
1531
}
1532

1533
func (x *PairData) GetSuccessTime() int64 {
×
1534
        if x != nil {
×
1535
                return x.SuccessTime
×
1536
        }
×
1537
        return 0
×
1538
}
1539

1540
func (x *PairData) GetSuccessAmtSat() int64 {
×
1541
        if x != nil {
×
1542
                return x.SuccessAmtSat
×
1543
        }
×
1544
        return 0
×
1545
}
1546

1547
func (x *PairData) GetSuccessAmtMsat() int64 {
×
1548
        if x != nil {
×
1549
                return x.SuccessAmtMsat
×
1550
        }
×
1551
        return 0
×
1552
}
1553

1554
type GetMissionControlConfigRequest struct {
1555
        state         protoimpl.MessageState
1556
        sizeCache     protoimpl.SizeCache
1557
        unknownFields protoimpl.UnknownFields
1558
}
1559

1560
func (x *GetMissionControlConfigRequest) Reset() {
×
1561
        *x = GetMissionControlConfigRequest{}
×
1562
        if protoimpl.UnsafeEnabled {
×
1563
                mi := &file_routerrpc_router_proto_msgTypes[15]
×
1564
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1565
                ms.StoreMessageInfo(mi)
×
1566
        }
×
1567
}
1568

1569
func (x *GetMissionControlConfigRequest) String() string {
×
1570
        return protoimpl.X.MessageStringOf(x)
×
1571
}
×
1572

1573
func (*GetMissionControlConfigRequest) ProtoMessage() {}
×
1574

1575
func (x *GetMissionControlConfigRequest) ProtoReflect() protoreflect.Message {
×
1576
        mi := &file_routerrpc_router_proto_msgTypes[15]
×
1577
        if protoimpl.UnsafeEnabled && x != nil {
×
1578
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1579
                if ms.LoadMessageInfo() == nil {
×
1580
                        ms.StoreMessageInfo(mi)
×
1581
                }
×
1582
                return ms
×
1583
        }
1584
        return mi.MessageOf(x)
×
1585
}
1586

1587
// Deprecated: Use GetMissionControlConfigRequest.ProtoReflect.Descriptor instead.
1588
func (*GetMissionControlConfigRequest) Descriptor() ([]byte, []int) {
×
1589
        return file_routerrpc_router_proto_rawDescGZIP(), []int{15}
×
1590
}
×
1591

1592
type GetMissionControlConfigResponse struct {
1593
        state         protoimpl.MessageState
1594
        sizeCache     protoimpl.SizeCache
1595
        unknownFields protoimpl.UnknownFields
1596

1597
        // Mission control's currently active config.
1598
        Config *MissionControlConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
1599
}
1600

1601
func (x *GetMissionControlConfigResponse) Reset() {
×
1602
        *x = GetMissionControlConfigResponse{}
×
1603
        if protoimpl.UnsafeEnabled {
×
1604
                mi := &file_routerrpc_router_proto_msgTypes[16]
×
1605
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1606
                ms.StoreMessageInfo(mi)
×
1607
        }
×
1608
}
1609

1610
func (x *GetMissionControlConfigResponse) String() string {
×
1611
        return protoimpl.X.MessageStringOf(x)
×
1612
}
×
1613

1614
func (*GetMissionControlConfigResponse) ProtoMessage() {}
×
1615

1616
func (x *GetMissionControlConfigResponse) ProtoReflect() protoreflect.Message {
×
1617
        mi := &file_routerrpc_router_proto_msgTypes[16]
×
1618
        if protoimpl.UnsafeEnabled && x != nil {
×
1619
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1620
                if ms.LoadMessageInfo() == nil {
×
1621
                        ms.StoreMessageInfo(mi)
×
1622
                }
×
1623
                return ms
×
1624
        }
1625
        return mi.MessageOf(x)
×
1626
}
1627

1628
// Deprecated: Use GetMissionControlConfigResponse.ProtoReflect.Descriptor instead.
1629
func (*GetMissionControlConfigResponse) Descriptor() ([]byte, []int) {
×
1630
        return file_routerrpc_router_proto_rawDescGZIP(), []int{16}
×
1631
}
×
1632

1633
func (x *GetMissionControlConfigResponse) GetConfig() *MissionControlConfig {
×
1634
        if x != nil {
×
1635
                return x.Config
×
1636
        }
×
1637
        return nil
×
1638
}
1639

1640
type SetMissionControlConfigRequest struct {
1641
        state         protoimpl.MessageState
1642
        sizeCache     protoimpl.SizeCache
1643
        unknownFields protoimpl.UnknownFields
1644

1645
        // The config to set for mission control. Note that all values *must* be set,
1646
        // because the full config will be applied.
1647
        Config *MissionControlConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
1648
}
1649

1650
func (x *SetMissionControlConfigRequest) Reset() {
×
1651
        *x = SetMissionControlConfigRequest{}
×
1652
        if protoimpl.UnsafeEnabled {
×
1653
                mi := &file_routerrpc_router_proto_msgTypes[17]
×
1654
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1655
                ms.StoreMessageInfo(mi)
×
1656
        }
×
1657
}
1658

1659
func (x *SetMissionControlConfigRequest) String() string {
×
1660
        return protoimpl.X.MessageStringOf(x)
×
1661
}
×
1662

1663
func (*SetMissionControlConfigRequest) ProtoMessage() {}
×
1664

1665
func (x *SetMissionControlConfigRequest) ProtoReflect() protoreflect.Message {
×
1666
        mi := &file_routerrpc_router_proto_msgTypes[17]
×
1667
        if protoimpl.UnsafeEnabled && x != nil {
×
1668
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1669
                if ms.LoadMessageInfo() == nil {
×
1670
                        ms.StoreMessageInfo(mi)
×
1671
                }
×
1672
                return ms
×
1673
        }
1674
        return mi.MessageOf(x)
×
1675
}
1676

1677
// Deprecated: Use SetMissionControlConfigRequest.ProtoReflect.Descriptor instead.
1678
func (*SetMissionControlConfigRequest) Descriptor() ([]byte, []int) {
×
1679
        return file_routerrpc_router_proto_rawDescGZIP(), []int{17}
×
1680
}
×
1681

1682
func (x *SetMissionControlConfigRequest) GetConfig() *MissionControlConfig {
×
1683
        if x != nil {
×
1684
                return x.Config
×
1685
        }
×
1686
        return nil
×
1687
}
1688

1689
type SetMissionControlConfigResponse struct {
1690
        state         protoimpl.MessageState
1691
        sizeCache     protoimpl.SizeCache
1692
        unknownFields protoimpl.UnknownFields
1693
}
1694

1695
func (x *SetMissionControlConfigResponse) Reset() {
×
1696
        *x = SetMissionControlConfigResponse{}
×
1697
        if protoimpl.UnsafeEnabled {
×
1698
                mi := &file_routerrpc_router_proto_msgTypes[18]
×
1699
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1700
                ms.StoreMessageInfo(mi)
×
1701
        }
×
1702
}
1703

1704
func (x *SetMissionControlConfigResponse) String() string {
×
1705
        return protoimpl.X.MessageStringOf(x)
×
1706
}
×
1707

1708
func (*SetMissionControlConfigResponse) ProtoMessage() {}
×
1709

1710
func (x *SetMissionControlConfigResponse) ProtoReflect() protoreflect.Message {
×
1711
        mi := &file_routerrpc_router_proto_msgTypes[18]
×
1712
        if protoimpl.UnsafeEnabled && x != nil {
×
1713
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1714
                if ms.LoadMessageInfo() == nil {
×
1715
                        ms.StoreMessageInfo(mi)
×
1716
                }
×
1717
                return ms
×
1718
        }
1719
        return mi.MessageOf(x)
×
1720
}
1721

1722
// Deprecated: Use SetMissionControlConfigResponse.ProtoReflect.Descriptor instead.
1723
func (*SetMissionControlConfigResponse) Descriptor() ([]byte, []int) {
×
1724
        return file_routerrpc_router_proto_rawDescGZIP(), []int{18}
×
1725
}
×
1726

1727
type MissionControlConfig struct {
1728
        state         protoimpl.MessageState
1729
        sizeCache     protoimpl.SizeCache
1730
        unknownFields protoimpl.UnknownFields
1731

1732
        // Deprecated, use AprioriParameters. The amount of time mission control will
1733
        // take to restore a penalized node or channel back to 50% success probability,
1734
        // expressed in seconds. Setting this value to a higher value will penalize
1735
        // failures for longer, making mission control less likely to route through
1736
        // nodes and channels that we have previously recorded failures for.
1737
        //
1738
        // Deprecated: Marked as deprecated in routerrpc/router.proto.
1739
        HalfLifeSeconds uint64 `protobuf:"varint,1,opt,name=half_life_seconds,json=halfLifeSeconds,proto3" json:"half_life_seconds,omitempty"`
1740
        // Deprecated, use AprioriParameters. The probability of success mission
1741
        // control should assign to hop in a route where it has no other information
1742
        // available. Higher values will make mission control more willing to try hops
1743
        // that we have no information about, lower values will discourage trying these
1744
        // hops.
1745
        //
1746
        // Deprecated: Marked as deprecated in routerrpc/router.proto.
1747
        HopProbability float32 `protobuf:"fixed32,2,opt,name=hop_probability,json=hopProbability,proto3" json:"hop_probability,omitempty"`
1748
        // Deprecated, use AprioriParameters. The importance that mission control
1749
        // should place on historical results, expressed as a value in [0;1]. Setting
1750
        // this value to 1 will ignore all historical payments and just use the hop
1751
        // probability to assess the probability of success for each hop. A zero value
1752
        // ignores hop probability completely and relies entirely on historical
1753
        // results, unless none are available.
1754
        //
1755
        // Deprecated: Marked as deprecated in routerrpc/router.proto.
1756
        Weight float32 `protobuf:"fixed32,3,opt,name=weight,proto3" json:"weight,omitempty"`
1757
        // The maximum number of payment results that mission control will store.
1758
        MaximumPaymentResults uint32 `protobuf:"varint,4,opt,name=maximum_payment_results,json=maximumPaymentResults,proto3" json:"maximum_payment_results,omitempty"`
1759
        // The minimum time that must have passed since the previously recorded failure
1760
        // before we raise the failure amount.
1761
        MinimumFailureRelaxInterval uint64 `protobuf:"varint,5,opt,name=minimum_failure_relax_interval,json=minimumFailureRelaxInterval,proto3" json:"minimum_failure_relax_interval,omitempty"`
1762
        // ProbabilityModel defines which probability estimator should be used in
1763
        // pathfinding. Note that the bimodal estimator is experimental.
1764
        Model MissionControlConfig_ProbabilityModel `protobuf:"varint,6,opt,name=model,proto3,enum=routerrpc.MissionControlConfig_ProbabilityModel" json:"model,omitempty"`
1765
        // EstimatorConfig is populated dependent on the estimator type.
1766
        //
1767
        // Types that are assignable to EstimatorConfig:
1768
        //
1769
        //        *MissionControlConfig_Apriori
1770
        //        *MissionControlConfig_Bimodal
1771
        EstimatorConfig isMissionControlConfig_EstimatorConfig `protobuf_oneof:"EstimatorConfig"`
1772
}
1773

1774
func (x *MissionControlConfig) Reset() {
×
1775
        *x = MissionControlConfig{}
×
1776
        if protoimpl.UnsafeEnabled {
×
1777
                mi := &file_routerrpc_router_proto_msgTypes[19]
×
1778
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1779
                ms.StoreMessageInfo(mi)
×
1780
        }
×
1781
}
1782

1783
func (x *MissionControlConfig) String() string {
×
1784
        return protoimpl.X.MessageStringOf(x)
×
1785
}
×
1786

1787
func (*MissionControlConfig) ProtoMessage() {}
×
1788

1789
func (x *MissionControlConfig) ProtoReflect() protoreflect.Message {
×
1790
        mi := &file_routerrpc_router_proto_msgTypes[19]
×
1791
        if protoimpl.UnsafeEnabled && x != nil {
×
1792
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1793
                if ms.LoadMessageInfo() == nil {
×
1794
                        ms.StoreMessageInfo(mi)
×
1795
                }
×
1796
                return ms
×
1797
        }
1798
        return mi.MessageOf(x)
×
1799
}
1800

1801
// Deprecated: Use MissionControlConfig.ProtoReflect.Descriptor instead.
1802
func (*MissionControlConfig) Descriptor() ([]byte, []int) {
×
1803
        return file_routerrpc_router_proto_rawDescGZIP(), []int{19}
×
1804
}
×
1805

1806
// Deprecated: Marked as deprecated in routerrpc/router.proto.
1807
func (x *MissionControlConfig) GetHalfLifeSeconds() uint64 {
×
1808
        if x != nil {
×
1809
                return x.HalfLifeSeconds
×
1810
        }
×
1811
        return 0
×
1812
}
1813

1814
// Deprecated: Marked as deprecated in routerrpc/router.proto.
1815
func (x *MissionControlConfig) GetHopProbability() float32 {
×
1816
        if x != nil {
×
1817
                return x.HopProbability
×
1818
        }
×
1819
        return 0
×
1820
}
1821

1822
// Deprecated: Marked as deprecated in routerrpc/router.proto.
1823
func (x *MissionControlConfig) GetWeight() float32 {
×
1824
        if x != nil {
×
1825
                return x.Weight
×
1826
        }
×
1827
        return 0
×
1828
}
1829

1830
func (x *MissionControlConfig) GetMaximumPaymentResults() uint32 {
×
1831
        if x != nil {
×
1832
                return x.MaximumPaymentResults
×
1833
        }
×
1834
        return 0
×
1835
}
1836

1837
func (x *MissionControlConfig) GetMinimumFailureRelaxInterval() uint64 {
×
1838
        if x != nil {
×
1839
                return x.MinimumFailureRelaxInterval
×
1840
        }
×
1841
        return 0
×
1842
}
1843

1844
func (x *MissionControlConfig) GetModel() MissionControlConfig_ProbabilityModel {
×
1845
        if x != nil {
×
1846
                return x.Model
×
1847
        }
×
1848
        return MissionControlConfig_APRIORI
×
1849
}
1850

1851
func (m *MissionControlConfig) GetEstimatorConfig() isMissionControlConfig_EstimatorConfig {
×
1852
        if m != nil {
×
1853
                return m.EstimatorConfig
×
1854
        }
×
1855
        return nil
×
1856
}
1857

1858
func (x *MissionControlConfig) GetApriori() *AprioriParameters {
×
1859
        if x, ok := x.GetEstimatorConfig().(*MissionControlConfig_Apriori); ok {
×
1860
                return x.Apriori
×
1861
        }
×
1862
        return nil
×
1863
}
1864

1865
func (x *MissionControlConfig) GetBimodal() *BimodalParameters {
×
1866
        if x, ok := x.GetEstimatorConfig().(*MissionControlConfig_Bimodal); ok {
×
1867
                return x.Bimodal
×
1868
        }
×
1869
        return nil
×
1870
}
1871

1872
type isMissionControlConfig_EstimatorConfig interface {
1873
        isMissionControlConfig_EstimatorConfig()
1874
}
1875

1876
type MissionControlConfig_Apriori struct {
1877
        Apriori *AprioriParameters `protobuf:"bytes,7,opt,name=apriori,proto3,oneof"`
1878
}
1879

1880
type MissionControlConfig_Bimodal struct {
1881
        Bimodal *BimodalParameters `protobuf:"bytes,8,opt,name=bimodal,proto3,oneof"`
1882
}
1883

1884
func (*MissionControlConfig_Apriori) isMissionControlConfig_EstimatorConfig() {}
×
1885

1886
func (*MissionControlConfig_Bimodal) isMissionControlConfig_EstimatorConfig() {}
×
1887

1888
type BimodalParameters struct {
1889
        state         protoimpl.MessageState
1890
        sizeCache     protoimpl.SizeCache
1891
        unknownFields protoimpl.UnknownFields
1892

1893
        // NodeWeight defines how strongly other previous forwardings on channels of a
1894
        // router should be taken into account when computing a channel's probability
1895
        // to route. The allowed values are in the range [0, 1], where a value of 0
1896
        // means that only direct information about a channel is taken into account.
1897
        NodeWeight float64 `protobuf:"fixed64,1,opt,name=node_weight,json=nodeWeight,proto3" json:"node_weight,omitempty"`
1898
        // ScaleMsat describes the scale over which channels statistically have some
1899
        // liquidity left. The value determines how quickly the bimodal distribution
1900
        // drops off from the edges of a channel. A larger value (compared to typical
1901
        // channel capacities) means that the drop off is slow and that channel
1902
        // balances are distributed more uniformly. A small value leads to the
1903
        // assumption of very unbalanced channels.
1904
        ScaleMsat uint64 `protobuf:"varint,2,opt,name=scale_msat,json=scaleMsat,proto3" json:"scale_msat,omitempty"`
1905
        // DecayTime describes the information decay of knowledge about previous
1906
        // successes and failures in channels. The smaller the decay time, the quicker
1907
        // we forget about past forwardings.
1908
        DecayTime uint64 `protobuf:"varint,3,opt,name=decay_time,json=decayTime,proto3" json:"decay_time,omitempty"`
1909
}
1910

1911
func (x *BimodalParameters) Reset() {
×
1912
        *x = BimodalParameters{}
×
1913
        if protoimpl.UnsafeEnabled {
×
1914
                mi := &file_routerrpc_router_proto_msgTypes[20]
×
1915
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1916
                ms.StoreMessageInfo(mi)
×
1917
        }
×
1918
}
1919

1920
func (x *BimodalParameters) String() string {
×
1921
        return protoimpl.X.MessageStringOf(x)
×
1922
}
×
1923

1924
func (*BimodalParameters) ProtoMessage() {}
×
1925

1926
func (x *BimodalParameters) ProtoReflect() protoreflect.Message {
×
1927
        mi := &file_routerrpc_router_proto_msgTypes[20]
×
1928
        if protoimpl.UnsafeEnabled && x != nil {
×
1929
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1930
                if ms.LoadMessageInfo() == nil {
×
1931
                        ms.StoreMessageInfo(mi)
×
1932
                }
×
1933
                return ms
×
1934
        }
1935
        return mi.MessageOf(x)
×
1936
}
1937

1938
// Deprecated: Use BimodalParameters.ProtoReflect.Descriptor instead.
1939
func (*BimodalParameters) Descriptor() ([]byte, []int) {
×
1940
        return file_routerrpc_router_proto_rawDescGZIP(), []int{20}
×
1941
}
×
1942

1943
func (x *BimodalParameters) GetNodeWeight() float64 {
×
1944
        if x != nil {
×
1945
                return x.NodeWeight
×
1946
        }
×
1947
        return 0
×
1948
}
1949

1950
func (x *BimodalParameters) GetScaleMsat() uint64 {
×
1951
        if x != nil {
×
1952
                return x.ScaleMsat
×
1953
        }
×
1954
        return 0
×
1955
}
1956

1957
func (x *BimodalParameters) GetDecayTime() uint64 {
×
1958
        if x != nil {
×
1959
                return x.DecayTime
×
1960
        }
×
1961
        return 0
×
1962
}
1963

1964
type AprioriParameters struct {
1965
        state         protoimpl.MessageState
1966
        sizeCache     protoimpl.SizeCache
1967
        unknownFields protoimpl.UnknownFields
1968

1969
        // The amount of time mission control will take to restore a penalized node
1970
        // or channel back to 50% success probability, expressed in seconds. Setting
1971
        // this value to a higher value will penalize failures for longer, making
1972
        // mission control less likely to route through nodes and channels that we
1973
        // have previously recorded failures for.
1974
        HalfLifeSeconds uint64 `protobuf:"varint,1,opt,name=half_life_seconds,json=halfLifeSeconds,proto3" json:"half_life_seconds,omitempty"`
1975
        // The probability of success mission control should assign to hop in a route
1976
        // where it has no other information available. Higher values will make mission
1977
        // control more willing to try hops that we have no information about, lower
1978
        // values will discourage trying these hops.
1979
        HopProbability float64 `protobuf:"fixed64,2,opt,name=hop_probability,json=hopProbability,proto3" json:"hop_probability,omitempty"`
1980
        // The importance that mission control should place on historical results,
1981
        // expressed as a value in [0;1]. Setting this value to 1 will ignore all
1982
        // historical payments and just use the hop probability to assess the
1983
        // probability of success for each hop. A zero value ignores hop probability
1984
        // completely and relies entirely on historical results, unless none are
1985
        // available.
1986
        Weight float64 `protobuf:"fixed64,3,opt,name=weight,proto3" json:"weight,omitempty"`
1987
        // The fraction of a channel's capacity that we consider to have liquidity. For
1988
        // amounts that come close to or exceed the fraction, an additional penalty is
1989
        // applied. A value of 1.0 disables the capacity factor. Allowed values are in
1990
        // [0.75, 1.0].
1991
        CapacityFraction float64 `protobuf:"fixed64,4,opt,name=capacity_fraction,json=capacityFraction,proto3" json:"capacity_fraction,omitempty"`
1992
}
1993

1994
func (x *AprioriParameters) Reset() {
×
1995
        *x = AprioriParameters{}
×
1996
        if protoimpl.UnsafeEnabled {
×
1997
                mi := &file_routerrpc_router_proto_msgTypes[21]
×
1998
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
1999
                ms.StoreMessageInfo(mi)
×
2000
        }
×
2001
}
2002

2003
func (x *AprioriParameters) String() string {
×
2004
        return protoimpl.X.MessageStringOf(x)
×
2005
}
×
2006

2007
func (*AprioriParameters) ProtoMessage() {}
×
2008

2009
func (x *AprioriParameters) ProtoReflect() protoreflect.Message {
×
2010
        mi := &file_routerrpc_router_proto_msgTypes[21]
×
2011
        if protoimpl.UnsafeEnabled && x != nil {
×
2012
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2013
                if ms.LoadMessageInfo() == nil {
×
2014
                        ms.StoreMessageInfo(mi)
×
2015
                }
×
2016
                return ms
×
2017
        }
2018
        return mi.MessageOf(x)
×
2019
}
2020

2021
// Deprecated: Use AprioriParameters.ProtoReflect.Descriptor instead.
2022
func (*AprioriParameters) Descriptor() ([]byte, []int) {
×
2023
        return file_routerrpc_router_proto_rawDescGZIP(), []int{21}
×
2024
}
×
2025

2026
func (x *AprioriParameters) GetHalfLifeSeconds() uint64 {
×
2027
        if x != nil {
×
2028
                return x.HalfLifeSeconds
×
2029
        }
×
2030
        return 0
×
2031
}
2032

2033
func (x *AprioriParameters) GetHopProbability() float64 {
×
2034
        if x != nil {
×
2035
                return x.HopProbability
×
2036
        }
×
2037
        return 0
×
2038
}
2039

2040
func (x *AprioriParameters) GetWeight() float64 {
×
2041
        if x != nil {
×
2042
                return x.Weight
×
2043
        }
×
2044
        return 0
×
2045
}
2046

2047
func (x *AprioriParameters) GetCapacityFraction() float64 {
×
2048
        if x != nil {
×
2049
                return x.CapacityFraction
×
2050
        }
×
2051
        return 0
×
2052
}
2053

2054
type QueryProbabilityRequest struct {
2055
        state         protoimpl.MessageState
2056
        sizeCache     protoimpl.SizeCache
2057
        unknownFields protoimpl.UnknownFields
2058

2059
        // The source node pubkey of the pair.
2060
        FromNode []byte `protobuf:"bytes,1,opt,name=from_node,json=fromNode,proto3" json:"from_node,omitempty"`
2061
        // The destination node pubkey of the pair.
2062
        ToNode []byte `protobuf:"bytes,2,opt,name=to_node,json=toNode,proto3" json:"to_node,omitempty"`
2063
        // The amount for which to calculate a probability.
2064
        AmtMsat int64 `protobuf:"varint,3,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"`
2065
}
2066

2067
func (x *QueryProbabilityRequest) Reset() {
×
2068
        *x = QueryProbabilityRequest{}
×
2069
        if protoimpl.UnsafeEnabled {
×
2070
                mi := &file_routerrpc_router_proto_msgTypes[22]
×
2071
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2072
                ms.StoreMessageInfo(mi)
×
2073
        }
×
2074
}
2075

2076
func (x *QueryProbabilityRequest) String() string {
×
2077
        return protoimpl.X.MessageStringOf(x)
×
2078
}
×
2079

2080
func (*QueryProbabilityRequest) ProtoMessage() {}
×
2081

2082
func (x *QueryProbabilityRequest) ProtoReflect() protoreflect.Message {
×
2083
        mi := &file_routerrpc_router_proto_msgTypes[22]
×
2084
        if protoimpl.UnsafeEnabled && x != nil {
×
2085
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2086
                if ms.LoadMessageInfo() == nil {
×
2087
                        ms.StoreMessageInfo(mi)
×
2088
                }
×
2089
                return ms
×
2090
        }
2091
        return mi.MessageOf(x)
×
2092
}
2093

2094
// Deprecated: Use QueryProbabilityRequest.ProtoReflect.Descriptor instead.
2095
func (*QueryProbabilityRequest) Descriptor() ([]byte, []int) {
×
2096
        return file_routerrpc_router_proto_rawDescGZIP(), []int{22}
×
2097
}
×
2098

2099
func (x *QueryProbabilityRequest) GetFromNode() []byte {
×
2100
        if x != nil {
×
2101
                return x.FromNode
×
2102
        }
×
2103
        return nil
×
2104
}
2105

2106
func (x *QueryProbabilityRequest) GetToNode() []byte {
×
2107
        if x != nil {
×
2108
                return x.ToNode
×
2109
        }
×
2110
        return nil
×
2111
}
2112

2113
func (x *QueryProbabilityRequest) GetAmtMsat() int64 {
×
2114
        if x != nil {
×
2115
                return x.AmtMsat
×
2116
        }
×
2117
        return 0
×
2118
}
2119

2120
type QueryProbabilityResponse struct {
2121
        state         protoimpl.MessageState
2122
        sizeCache     protoimpl.SizeCache
2123
        unknownFields protoimpl.UnknownFields
2124

2125
        // The success probability for the requested pair.
2126
        Probability float64 `protobuf:"fixed64,1,opt,name=probability,proto3" json:"probability,omitempty"`
2127
        // The historical data for the requested pair.
2128
        History *PairData `protobuf:"bytes,2,opt,name=history,proto3" json:"history,omitempty"`
2129
}
2130

2131
func (x *QueryProbabilityResponse) Reset() {
×
2132
        *x = QueryProbabilityResponse{}
×
2133
        if protoimpl.UnsafeEnabled {
×
2134
                mi := &file_routerrpc_router_proto_msgTypes[23]
×
2135
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2136
                ms.StoreMessageInfo(mi)
×
2137
        }
×
2138
}
2139

2140
func (x *QueryProbabilityResponse) String() string {
×
2141
        return protoimpl.X.MessageStringOf(x)
×
2142
}
×
2143

2144
func (*QueryProbabilityResponse) ProtoMessage() {}
×
2145

2146
func (x *QueryProbabilityResponse) ProtoReflect() protoreflect.Message {
×
2147
        mi := &file_routerrpc_router_proto_msgTypes[23]
×
2148
        if protoimpl.UnsafeEnabled && x != nil {
×
2149
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2150
                if ms.LoadMessageInfo() == nil {
×
2151
                        ms.StoreMessageInfo(mi)
×
2152
                }
×
2153
                return ms
×
2154
        }
2155
        return mi.MessageOf(x)
×
2156
}
2157

2158
// Deprecated: Use QueryProbabilityResponse.ProtoReflect.Descriptor instead.
2159
func (*QueryProbabilityResponse) Descriptor() ([]byte, []int) {
×
2160
        return file_routerrpc_router_proto_rawDescGZIP(), []int{23}
×
2161
}
×
2162

2163
func (x *QueryProbabilityResponse) GetProbability() float64 {
×
2164
        if x != nil {
×
2165
                return x.Probability
×
2166
        }
×
2167
        return 0
×
2168
}
2169

2170
func (x *QueryProbabilityResponse) GetHistory() *PairData {
×
2171
        if x != nil {
×
2172
                return x.History
×
2173
        }
×
2174
        return nil
×
2175
}
2176

2177
type BuildRouteRequest struct {
2178
        state         protoimpl.MessageState
2179
        sizeCache     protoimpl.SizeCache
2180
        unknownFields protoimpl.UnknownFields
2181

2182
        // The amount to send expressed in msat. If set to zero, the minimum routable
2183
        // amount is used.
2184
        AmtMsat int64 `protobuf:"varint,1,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"`
2185
        // CLTV delta from the current height that should be used for the timelock
2186
        // of the final hop
2187
        FinalCltvDelta int32 `protobuf:"varint,2,opt,name=final_cltv_delta,json=finalCltvDelta,proto3" json:"final_cltv_delta,omitempty"`
2188
        // The channel id of the channel that must be taken to the first hop. If zero,
2189
        // any channel may be used.
2190
        OutgoingChanId uint64 `protobuf:"varint,3,opt,name=outgoing_chan_id,json=outgoingChanId,proto3" json:"outgoing_chan_id,omitempty"`
2191
        // A list of hops that defines the route. This does not include the source hop
2192
        // pubkey.
2193
        HopPubkeys [][]byte `protobuf:"bytes,4,rep,name=hop_pubkeys,json=hopPubkeys,proto3" json:"hop_pubkeys,omitempty"`
2194
        // An optional payment addr to be included within the last hop of the route.
2195
        // This is also called payment secret in specifications (e.g. BOLT 11).
2196
        PaymentAddr []byte `protobuf:"bytes,5,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"`
2197
        // An optional field that can be used to pass an arbitrary set of TLV records
2198
        // to the first hop peer of this payment. This can be used to pass application
2199
        // specific data during the payment attempt. Record types are required to be in
2200
        // the custom range >= 65536. When using REST, the values must be encoded as
2201
        // base64.
2202
        FirstHopCustomRecords map[uint64][]byte `protobuf:"bytes,6,rep,name=first_hop_custom_records,json=firstHopCustomRecords,proto3" json:"first_hop_custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
2203
}
2204

2205
func (x *BuildRouteRequest) Reset() {
×
2206
        *x = BuildRouteRequest{}
×
2207
        if protoimpl.UnsafeEnabled {
×
2208
                mi := &file_routerrpc_router_proto_msgTypes[24]
×
2209
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2210
                ms.StoreMessageInfo(mi)
×
2211
        }
×
2212
}
2213

2214
func (x *BuildRouteRequest) String() string {
×
2215
        return protoimpl.X.MessageStringOf(x)
×
2216
}
×
2217

2218
func (*BuildRouteRequest) ProtoMessage() {}
×
2219

2220
func (x *BuildRouteRequest) ProtoReflect() protoreflect.Message {
×
2221
        mi := &file_routerrpc_router_proto_msgTypes[24]
×
2222
        if protoimpl.UnsafeEnabled && x != nil {
×
2223
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2224
                if ms.LoadMessageInfo() == nil {
×
2225
                        ms.StoreMessageInfo(mi)
×
2226
                }
×
2227
                return ms
×
2228
        }
2229
        return mi.MessageOf(x)
×
2230
}
2231

2232
// Deprecated: Use BuildRouteRequest.ProtoReflect.Descriptor instead.
2233
func (*BuildRouteRequest) Descriptor() ([]byte, []int) {
×
2234
        return file_routerrpc_router_proto_rawDescGZIP(), []int{24}
×
2235
}
×
2236

2237
func (x *BuildRouteRequest) GetAmtMsat() int64 {
×
2238
        if x != nil {
×
2239
                return x.AmtMsat
×
2240
        }
×
2241
        return 0
×
2242
}
2243

2244
func (x *BuildRouteRequest) GetFinalCltvDelta() int32 {
×
2245
        if x != nil {
×
2246
                return x.FinalCltvDelta
×
2247
        }
×
2248
        return 0
×
2249
}
2250

2251
func (x *BuildRouteRequest) GetOutgoingChanId() uint64 {
×
2252
        if x != nil {
×
2253
                return x.OutgoingChanId
×
2254
        }
×
2255
        return 0
×
2256
}
2257

2258
func (x *BuildRouteRequest) GetHopPubkeys() [][]byte {
×
2259
        if x != nil {
×
2260
                return x.HopPubkeys
×
2261
        }
×
2262
        return nil
×
2263
}
2264

2265
func (x *BuildRouteRequest) GetPaymentAddr() []byte {
×
2266
        if x != nil {
×
2267
                return x.PaymentAddr
×
2268
        }
×
2269
        return nil
×
2270
}
2271

2272
func (x *BuildRouteRequest) GetFirstHopCustomRecords() map[uint64][]byte {
×
2273
        if x != nil {
×
2274
                return x.FirstHopCustomRecords
×
2275
        }
×
2276
        return nil
×
2277
}
2278

2279
type BuildRouteResponse struct {
2280
        state         protoimpl.MessageState
2281
        sizeCache     protoimpl.SizeCache
2282
        unknownFields protoimpl.UnknownFields
2283

2284
        // Fully specified route that can be used to execute the payment.
2285
        Route *lnrpc.Route `protobuf:"bytes,1,opt,name=route,proto3" json:"route,omitempty"`
2286
}
2287

2288
func (x *BuildRouteResponse) Reset() {
×
2289
        *x = BuildRouteResponse{}
×
2290
        if protoimpl.UnsafeEnabled {
×
2291
                mi := &file_routerrpc_router_proto_msgTypes[25]
×
2292
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2293
                ms.StoreMessageInfo(mi)
×
2294
        }
×
2295
}
2296

2297
func (x *BuildRouteResponse) String() string {
×
2298
        return protoimpl.X.MessageStringOf(x)
×
2299
}
×
2300

2301
func (*BuildRouteResponse) ProtoMessage() {}
×
2302

2303
func (x *BuildRouteResponse) ProtoReflect() protoreflect.Message {
×
2304
        mi := &file_routerrpc_router_proto_msgTypes[25]
×
2305
        if protoimpl.UnsafeEnabled && x != nil {
×
2306
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2307
                if ms.LoadMessageInfo() == nil {
×
2308
                        ms.StoreMessageInfo(mi)
×
2309
                }
×
2310
                return ms
×
2311
        }
2312
        return mi.MessageOf(x)
×
2313
}
2314

2315
// Deprecated: Use BuildRouteResponse.ProtoReflect.Descriptor instead.
2316
func (*BuildRouteResponse) Descriptor() ([]byte, []int) {
×
2317
        return file_routerrpc_router_proto_rawDescGZIP(), []int{25}
×
2318
}
×
2319

2320
func (x *BuildRouteResponse) GetRoute() *lnrpc.Route {
×
2321
        if x != nil {
×
2322
                return x.Route
×
2323
        }
×
2324
        return nil
×
2325
}
2326

2327
type SubscribeHtlcEventsRequest struct {
2328
        state         protoimpl.MessageState
2329
        sizeCache     protoimpl.SizeCache
2330
        unknownFields protoimpl.UnknownFields
2331
}
2332

2333
func (x *SubscribeHtlcEventsRequest) Reset() {
×
2334
        *x = SubscribeHtlcEventsRequest{}
×
2335
        if protoimpl.UnsafeEnabled {
×
2336
                mi := &file_routerrpc_router_proto_msgTypes[26]
×
2337
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2338
                ms.StoreMessageInfo(mi)
×
2339
        }
×
2340
}
2341

2342
func (x *SubscribeHtlcEventsRequest) String() string {
×
2343
        return protoimpl.X.MessageStringOf(x)
×
2344
}
×
2345

2346
func (*SubscribeHtlcEventsRequest) ProtoMessage() {}
×
2347

2348
func (x *SubscribeHtlcEventsRequest) ProtoReflect() protoreflect.Message {
×
2349
        mi := &file_routerrpc_router_proto_msgTypes[26]
×
2350
        if protoimpl.UnsafeEnabled && x != nil {
×
2351
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2352
                if ms.LoadMessageInfo() == nil {
×
2353
                        ms.StoreMessageInfo(mi)
×
2354
                }
×
2355
                return ms
×
2356
        }
2357
        return mi.MessageOf(x)
×
2358
}
2359

2360
// Deprecated: Use SubscribeHtlcEventsRequest.ProtoReflect.Descriptor instead.
2361
func (*SubscribeHtlcEventsRequest) Descriptor() ([]byte, []int) {
×
2362
        return file_routerrpc_router_proto_rawDescGZIP(), []int{26}
×
2363
}
×
2364

2365
// HtlcEvent contains the htlc event that was processed. These are served on a
2366
// best-effort basis; events are not persisted, delivery is not guaranteed
2367
// (in the event of a crash in the switch, forward events may be lost) and
2368
// some events may be replayed upon restart. Events consumed from this package
2369
// should be de-duplicated by the htlc's unique combination of incoming and
2370
// outgoing channel id and htlc id. [EXPERIMENTAL]
2371
type HtlcEvent struct {
2372
        state         protoimpl.MessageState
2373
        sizeCache     protoimpl.SizeCache
2374
        unknownFields protoimpl.UnknownFields
2375

2376
        // The short channel id that the incoming htlc arrived at our node on. This
2377
        // value is zero for sends.
2378
        IncomingChannelId uint64 `protobuf:"varint,1,opt,name=incoming_channel_id,json=incomingChannelId,proto3" json:"incoming_channel_id,omitempty"`
2379
        // The short channel id that the outgoing htlc left our node on. This value
2380
        // is zero for receives.
2381
        OutgoingChannelId uint64 `protobuf:"varint,2,opt,name=outgoing_channel_id,json=outgoingChannelId,proto3" json:"outgoing_channel_id,omitempty"`
2382
        // Incoming id is the index of the incoming htlc in the incoming channel.
2383
        // This value is zero for sends.
2384
        IncomingHtlcId uint64 `protobuf:"varint,3,opt,name=incoming_htlc_id,json=incomingHtlcId,proto3" json:"incoming_htlc_id,omitempty"`
2385
        // Outgoing id is the index of the outgoing htlc in the outgoing channel.
2386
        // This value is zero for receives.
2387
        OutgoingHtlcId uint64 `protobuf:"varint,4,opt,name=outgoing_htlc_id,json=outgoingHtlcId,proto3" json:"outgoing_htlc_id,omitempty"`
2388
        // The time in unix nanoseconds that the event occurred.
2389
        TimestampNs uint64 `protobuf:"varint,5,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"`
2390
        // The event type indicates whether the htlc was part of a send, receive or
2391
        // forward.
2392
        EventType HtlcEvent_EventType `protobuf:"varint,6,opt,name=event_type,json=eventType,proto3,enum=routerrpc.HtlcEvent_EventType" json:"event_type,omitempty"`
2393
        // Types that are assignable to Event:
2394
        //
2395
        //        *HtlcEvent_ForwardEvent
2396
        //        *HtlcEvent_ForwardFailEvent
2397
        //        *HtlcEvent_SettleEvent
2398
        //        *HtlcEvent_LinkFailEvent
2399
        //        *HtlcEvent_SubscribedEvent
2400
        //        *HtlcEvent_FinalHtlcEvent
2401
        Event isHtlcEvent_Event `protobuf_oneof:"event"`
2402
}
2403

2404
func (x *HtlcEvent) Reset() {
×
2405
        *x = HtlcEvent{}
×
2406
        if protoimpl.UnsafeEnabled {
×
2407
                mi := &file_routerrpc_router_proto_msgTypes[27]
×
2408
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2409
                ms.StoreMessageInfo(mi)
×
2410
        }
×
2411
}
2412

2413
func (x *HtlcEvent) String() string {
×
2414
        return protoimpl.X.MessageStringOf(x)
×
2415
}
×
2416

2417
func (*HtlcEvent) ProtoMessage() {}
×
2418

2419
func (x *HtlcEvent) ProtoReflect() protoreflect.Message {
×
2420
        mi := &file_routerrpc_router_proto_msgTypes[27]
×
2421
        if protoimpl.UnsafeEnabled && x != nil {
×
2422
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2423
                if ms.LoadMessageInfo() == nil {
×
2424
                        ms.StoreMessageInfo(mi)
×
2425
                }
×
2426
                return ms
×
2427
        }
2428
        return mi.MessageOf(x)
×
2429
}
2430

2431
// Deprecated: Use HtlcEvent.ProtoReflect.Descriptor instead.
2432
func (*HtlcEvent) Descriptor() ([]byte, []int) {
×
2433
        return file_routerrpc_router_proto_rawDescGZIP(), []int{27}
×
2434
}
×
2435

2436
func (x *HtlcEvent) GetIncomingChannelId() uint64 {
×
2437
        if x != nil {
×
2438
                return x.IncomingChannelId
×
2439
        }
×
2440
        return 0
×
2441
}
2442

2443
func (x *HtlcEvent) GetOutgoingChannelId() uint64 {
×
2444
        if x != nil {
×
2445
                return x.OutgoingChannelId
×
2446
        }
×
2447
        return 0
×
2448
}
2449

2450
func (x *HtlcEvent) GetIncomingHtlcId() uint64 {
×
2451
        if x != nil {
×
2452
                return x.IncomingHtlcId
×
2453
        }
×
2454
        return 0
×
2455
}
2456

2457
func (x *HtlcEvent) GetOutgoingHtlcId() uint64 {
×
2458
        if x != nil {
×
2459
                return x.OutgoingHtlcId
×
2460
        }
×
2461
        return 0
×
2462
}
2463

2464
func (x *HtlcEvent) GetTimestampNs() uint64 {
×
2465
        if x != nil {
×
2466
                return x.TimestampNs
×
2467
        }
×
2468
        return 0
×
2469
}
2470

2471
func (x *HtlcEvent) GetEventType() HtlcEvent_EventType {
×
2472
        if x != nil {
×
2473
                return x.EventType
×
2474
        }
×
2475
        return HtlcEvent_UNKNOWN
×
2476
}
2477

2478
func (m *HtlcEvent) GetEvent() isHtlcEvent_Event {
×
2479
        if m != nil {
×
2480
                return m.Event
×
2481
        }
×
2482
        return nil
×
2483
}
2484

2485
func (x *HtlcEvent) GetForwardEvent() *ForwardEvent {
×
2486
        if x, ok := x.GetEvent().(*HtlcEvent_ForwardEvent); ok {
×
2487
                return x.ForwardEvent
×
2488
        }
×
2489
        return nil
×
2490
}
2491

2492
func (x *HtlcEvent) GetForwardFailEvent() *ForwardFailEvent {
×
2493
        if x, ok := x.GetEvent().(*HtlcEvent_ForwardFailEvent); ok {
×
2494
                return x.ForwardFailEvent
×
2495
        }
×
2496
        return nil
×
2497
}
2498

2499
func (x *HtlcEvent) GetSettleEvent() *SettleEvent {
×
2500
        if x, ok := x.GetEvent().(*HtlcEvent_SettleEvent); ok {
×
2501
                return x.SettleEvent
×
2502
        }
×
2503
        return nil
×
2504
}
2505

2506
func (x *HtlcEvent) GetLinkFailEvent() *LinkFailEvent {
×
2507
        if x, ok := x.GetEvent().(*HtlcEvent_LinkFailEvent); ok {
×
2508
                return x.LinkFailEvent
×
2509
        }
×
2510
        return nil
×
2511
}
2512

2513
func (x *HtlcEvent) GetSubscribedEvent() *SubscribedEvent {
×
2514
        if x, ok := x.GetEvent().(*HtlcEvent_SubscribedEvent); ok {
×
2515
                return x.SubscribedEvent
×
2516
        }
×
2517
        return nil
×
2518
}
2519

2520
func (x *HtlcEvent) GetFinalHtlcEvent() *FinalHtlcEvent {
×
2521
        if x, ok := x.GetEvent().(*HtlcEvent_FinalHtlcEvent); ok {
×
2522
                return x.FinalHtlcEvent
×
2523
        }
×
2524
        return nil
×
2525
}
2526

2527
type isHtlcEvent_Event interface {
2528
        isHtlcEvent_Event()
2529
}
2530

2531
type HtlcEvent_ForwardEvent struct {
2532
        ForwardEvent *ForwardEvent `protobuf:"bytes,7,opt,name=forward_event,json=forwardEvent,proto3,oneof"`
2533
}
2534

2535
type HtlcEvent_ForwardFailEvent struct {
2536
        ForwardFailEvent *ForwardFailEvent `protobuf:"bytes,8,opt,name=forward_fail_event,json=forwardFailEvent,proto3,oneof"`
2537
}
2538

2539
type HtlcEvent_SettleEvent struct {
2540
        SettleEvent *SettleEvent `protobuf:"bytes,9,opt,name=settle_event,json=settleEvent,proto3,oneof"`
2541
}
2542

2543
type HtlcEvent_LinkFailEvent struct {
2544
        LinkFailEvent *LinkFailEvent `protobuf:"bytes,10,opt,name=link_fail_event,json=linkFailEvent,proto3,oneof"`
2545
}
2546

2547
type HtlcEvent_SubscribedEvent struct {
2548
        SubscribedEvent *SubscribedEvent `protobuf:"bytes,11,opt,name=subscribed_event,json=subscribedEvent,proto3,oneof"`
2549
}
2550

2551
type HtlcEvent_FinalHtlcEvent struct {
2552
        FinalHtlcEvent *FinalHtlcEvent `protobuf:"bytes,12,opt,name=final_htlc_event,json=finalHtlcEvent,proto3,oneof"`
2553
}
2554

2555
func (*HtlcEvent_ForwardEvent) isHtlcEvent_Event() {}
×
2556

2557
func (*HtlcEvent_ForwardFailEvent) isHtlcEvent_Event() {}
×
2558

2559
func (*HtlcEvent_SettleEvent) isHtlcEvent_Event() {}
×
2560

2561
func (*HtlcEvent_LinkFailEvent) isHtlcEvent_Event() {}
×
2562

2563
func (*HtlcEvent_SubscribedEvent) isHtlcEvent_Event() {}
×
2564

2565
func (*HtlcEvent_FinalHtlcEvent) isHtlcEvent_Event() {}
×
2566

2567
type HtlcInfo struct {
2568
        state         protoimpl.MessageState
2569
        sizeCache     protoimpl.SizeCache
2570
        unknownFields protoimpl.UnknownFields
2571

2572
        // The timelock on the incoming htlc.
2573
        IncomingTimelock uint32 `protobuf:"varint,1,opt,name=incoming_timelock,json=incomingTimelock,proto3" json:"incoming_timelock,omitempty"`
2574
        // The timelock on the outgoing htlc.
2575
        OutgoingTimelock uint32 `protobuf:"varint,2,opt,name=outgoing_timelock,json=outgoingTimelock,proto3" json:"outgoing_timelock,omitempty"`
2576
        // The amount of the incoming htlc.
2577
        IncomingAmtMsat uint64 `protobuf:"varint,3,opt,name=incoming_amt_msat,json=incomingAmtMsat,proto3" json:"incoming_amt_msat,omitempty"`
2578
        // The amount of the outgoing htlc.
2579
        OutgoingAmtMsat uint64 `protobuf:"varint,4,opt,name=outgoing_amt_msat,json=outgoingAmtMsat,proto3" json:"outgoing_amt_msat,omitempty"`
2580
}
2581

2582
func (x *HtlcInfo) Reset() {
×
2583
        *x = HtlcInfo{}
×
2584
        if protoimpl.UnsafeEnabled {
×
2585
                mi := &file_routerrpc_router_proto_msgTypes[28]
×
2586
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2587
                ms.StoreMessageInfo(mi)
×
2588
        }
×
2589
}
2590

2591
func (x *HtlcInfo) String() string {
×
2592
        return protoimpl.X.MessageStringOf(x)
×
2593
}
×
2594

2595
func (*HtlcInfo) ProtoMessage() {}
×
2596

2597
func (x *HtlcInfo) ProtoReflect() protoreflect.Message {
×
2598
        mi := &file_routerrpc_router_proto_msgTypes[28]
×
2599
        if protoimpl.UnsafeEnabled && x != nil {
×
2600
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2601
                if ms.LoadMessageInfo() == nil {
×
2602
                        ms.StoreMessageInfo(mi)
×
2603
                }
×
2604
                return ms
×
2605
        }
2606
        return mi.MessageOf(x)
×
2607
}
2608

2609
// Deprecated: Use HtlcInfo.ProtoReflect.Descriptor instead.
2610
func (*HtlcInfo) Descriptor() ([]byte, []int) {
×
2611
        return file_routerrpc_router_proto_rawDescGZIP(), []int{28}
×
2612
}
×
2613

2614
func (x *HtlcInfo) GetIncomingTimelock() uint32 {
×
2615
        if x != nil {
×
2616
                return x.IncomingTimelock
×
2617
        }
×
2618
        return 0
×
2619
}
2620

2621
func (x *HtlcInfo) GetOutgoingTimelock() uint32 {
×
2622
        if x != nil {
×
2623
                return x.OutgoingTimelock
×
2624
        }
×
2625
        return 0
×
2626
}
2627

2628
func (x *HtlcInfo) GetIncomingAmtMsat() uint64 {
×
2629
        if x != nil {
×
2630
                return x.IncomingAmtMsat
×
2631
        }
×
2632
        return 0
×
2633
}
2634

2635
func (x *HtlcInfo) GetOutgoingAmtMsat() uint64 {
×
2636
        if x != nil {
×
2637
                return x.OutgoingAmtMsat
×
2638
        }
×
2639
        return 0
×
2640
}
2641

2642
type ForwardEvent struct {
2643
        state         protoimpl.MessageState
2644
        sizeCache     protoimpl.SizeCache
2645
        unknownFields protoimpl.UnknownFields
2646

2647
        // Info contains details about the htlc that was forwarded.
2648
        Info *HtlcInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
2649
}
2650

2651
func (x *ForwardEvent) Reset() {
×
2652
        *x = ForwardEvent{}
×
2653
        if protoimpl.UnsafeEnabled {
×
2654
                mi := &file_routerrpc_router_proto_msgTypes[29]
×
2655
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2656
                ms.StoreMessageInfo(mi)
×
2657
        }
×
2658
}
2659

2660
func (x *ForwardEvent) String() string {
×
2661
        return protoimpl.X.MessageStringOf(x)
×
2662
}
×
2663

2664
func (*ForwardEvent) ProtoMessage() {}
×
2665

2666
func (x *ForwardEvent) ProtoReflect() protoreflect.Message {
×
2667
        mi := &file_routerrpc_router_proto_msgTypes[29]
×
2668
        if protoimpl.UnsafeEnabled && x != nil {
×
2669
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2670
                if ms.LoadMessageInfo() == nil {
×
2671
                        ms.StoreMessageInfo(mi)
×
2672
                }
×
2673
                return ms
×
2674
        }
2675
        return mi.MessageOf(x)
×
2676
}
2677

2678
// Deprecated: Use ForwardEvent.ProtoReflect.Descriptor instead.
2679
func (*ForwardEvent) Descriptor() ([]byte, []int) {
×
2680
        return file_routerrpc_router_proto_rawDescGZIP(), []int{29}
×
2681
}
×
2682

2683
func (x *ForwardEvent) GetInfo() *HtlcInfo {
×
2684
        if x != nil {
×
2685
                return x.Info
×
2686
        }
×
2687
        return nil
×
2688
}
2689

2690
type ForwardFailEvent struct {
2691
        state         protoimpl.MessageState
2692
        sizeCache     protoimpl.SizeCache
2693
        unknownFields protoimpl.UnknownFields
2694
}
2695

2696
func (x *ForwardFailEvent) Reset() {
×
2697
        *x = ForwardFailEvent{}
×
2698
        if protoimpl.UnsafeEnabled {
×
2699
                mi := &file_routerrpc_router_proto_msgTypes[30]
×
2700
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2701
                ms.StoreMessageInfo(mi)
×
2702
        }
×
2703
}
2704

2705
func (x *ForwardFailEvent) String() string {
×
2706
        return protoimpl.X.MessageStringOf(x)
×
2707
}
×
2708

2709
func (*ForwardFailEvent) ProtoMessage() {}
×
2710

2711
func (x *ForwardFailEvent) ProtoReflect() protoreflect.Message {
×
2712
        mi := &file_routerrpc_router_proto_msgTypes[30]
×
2713
        if protoimpl.UnsafeEnabled && x != nil {
×
2714
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2715
                if ms.LoadMessageInfo() == nil {
×
2716
                        ms.StoreMessageInfo(mi)
×
2717
                }
×
2718
                return ms
×
2719
        }
2720
        return mi.MessageOf(x)
×
2721
}
2722

2723
// Deprecated: Use ForwardFailEvent.ProtoReflect.Descriptor instead.
2724
func (*ForwardFailEvent) Descriptor() ([]byte, []int) {
×
2725
        return file_routerrpc_router_proto_rawDescGZIP(), []int{30}
×
2726
}
×
2727

2728
type SettleEvent struct {
2729
        state         protoimpl.MessageState
2730
        sizeCache     protoimpl.SizeCache
2731
        unknownFields protoimpl.UnknownFields
2732

2733
        // The revealed preimage.
2734
        Preimage []byte `protobuf:"bytes,1,opt,name=preimage,proto3" json:"preimage,omitempty"`
2735
}
2736

2737
func (x *SettleEvent) Reset() {
×
2738
        *x = SettleEvent{}
×
2739
        if protoimpl.UnsafeEnabled {
×
2740
                mi := &file_routerrpc_router_proto_msgTypes[31]
×
2741
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2742
                ms.StoreMessageInfo(mi)
×
2743
        }
×
2744
}
2745

2746
func (x *SettleEvent) String() string {
×
2747
        return protoimpl.X.MessageStringOf(x)
×
2748
}
×
2749

2750
func (*SettleEvent) ProtoMessage() {}
×
2751

2752
func (x *SettleEvent) ProtoReflect() protoreflect.Message {
×
2753
        mi := &file_routerrpc_router_proto_msgTypes[31]
×
2754
        if protoimpl.UnsafeEnabled && x != nil {
×
2755
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2756
                if ms.LoadMessageInfo() == nil {
×
2757
                        ms.StoreMessageInfo(mi)
×
2758
                }
×
2759
                return ms
×
2760
        }
2761
        return mi.MessageOf(x)
×
2762
}
2763

2764
// Deprecated: Use SettleEvent.ProtoReflect.Descriptor instead.
2765
func (*SettleEvent) Descriptor() ([]byte, []int) {
×
2766
        return file_routerrpc_router_proto_rawDescGZIP(), []int{31}
×
2767
}
×
2768

2769
func (x *SettleEvent) GetPreimage() []byte {
×
2770
        if x != nil {
×
2771
                return x.Preimage
×
2772
        }
×
2773
        return nil
×
2774
}
2775

2776
type FinalHtlcEvent struct {
2777
        state         protoimpl.MessageState
2778
        sizeCache     protoimpl.SizeCache
2779
        unknownFields protoimpl.UnknownFields
2780

2781
        Settled  bool `protobuf:"varint,1,opt,name=settled,proto3" json:"settled,omitempty"`
2782
        Offchain bool `protobuf:"varint,2,opt,name=offchain,proto3" json:"offchain,omitempty"`
2783
}
2784

2785
func (x *FinalHtlcEvent) Reset() {
×
2786
        *x = FinalHtlcEvent{}
×
2787
        if protoimpl.UnsafeEnabled {
×
2788
                mi := &file_routerrpc_router_proto_msgTypes[32]
×
2789
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2790
                ms.StoreMessageInfo(mi)
×
2791
        }
×
2792
}
2793

2794
func (x *FinalHtlcEvent) String() string {
×
2795
        return protoimpl.X.MessageStringOf(x)
×
2796
}
×
2797

2798
func (*FinalHtlcEvent) ProtoMessage() {}
×
2799

2800
func (x *FinalHtlcEvent) ProtoReflect() protoreflect.Message {
×
2801
        mi := &file_routerrpc_router_proto_msgTypes[32]
×
2802
        if protoimpl.UnsafeEnabled && x != nil {
×
2803
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2804
                if ms.LoadMessageInfo() == nil {
×
2805
                        ms.StoreMessageInfo(mi)
×
2806
                }
×
2807
                return ms
×
2808
        }
2809
        return mi.MessageOf(x)
×
2810
}
2811

2812
// Deprecated: Use FinalHtlcEvent.ProtoReflect.Descriptor instead.
2813
func (*FinalHtlcEvent) Descriptor() ([]byte, []int) {
×
2814
        return file_routerrpc_router_proto_rawDescGZIP(), []int{32}
×
2815
}
×
2816

2817
func (x *FinalHtlcEvent) GetSettled() bool {
×
2818
        if x != nil {
×
2819
                return x.Settled
×
2820
        }
×
2821
        return false
×
2822
}
2823

2824
func (x *FinalHtlcEvent) GetOffchain() bool {
×
2825
        if x != nil {
×
2826
                return x.Offchain
×
2827
        }
×
2828
        return false
×
2829
}
2830

2831
type SubscribedEvent struct {
2832
        state         protoimpl.MessageState
2833
        sizeCache     protoimpl.SizeCache
2834
        unknownFields protoimpl.UnknownFields
2835
}
2836

2837
func (x *SubscribedEvent) Reset() {
×
2838
        *x = SubscribedEvent{}
×
2839
        if protoimpl.UnsafeEnabled {
×
2840
                mi := &file_routerrpc_router_proto_msgTypes[33]
×
2841
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2842
                ms.StoreMessageInfo(mi)
×
2843
        }
×
2844
}
2845

2846
func (x *SubscribedEvent) String() string {
×
2847
        return protoimpl.X.MessageStringOf(x)
×
2848
}
×
2849

2850
func (*SubscribedEvent) ProtoMessage() {}
×
2851

2852
func (x *SubscribedEvent) ProtoReflect() protoreflect.Message {
×
2853
        mi := &file_routerrpc_router_proto_msgTypes[33]
×
2854
        if protoimpl.UnsafeEnabled && x != nil {
×
2855
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2856
                if ms.LoadMessageInfo() == nil {
×
2857
                        ms.StoreMessageInfo(mi)
×
2858
                }
×
2859
                return ms
×
2860
        }
2861
        return mi.MessageOf(x)
×
2862
}
2863

2864
// Deprecated: Use SubscribedEvent.ProtoReflect.Descriptor instead.
2865
func (*SubscribedEvent) Descriptor() ([]byte, []int) {
×
2866
        return file_routerrpc_router_proto_rawDescGZIP(), []int{33}
×
2867
}
×
2868

2869
type LinkFailEvent struct {
2870
        state         protoimpl.MessageState
2871
        sizeCache     protoimpl.SizeCache
2872
        unknownFields protoimpl.UnknownFields
2873

2874
        // Info contains details about the htlc that we failed.
2875
        Info *HtlcInfo `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
2876
        // FailureCode is the BOLT error code for the failure.
2877
        WireFailure lnrpc.Failure_FailureCode `protobuf:"varint,2,opt,name=wire_failure,json=wireFailure,proto3,enum=lnrpc.Failure_FailureCode" json:"wire_failure,omitempty"`
2878
        // FailureDetail provides additional information about the reason for the
2879
        // failure. This detail enriches the information provided by the wire message
2880
        // and may be 'no detail' if the wire message requires no additional metadata.
2881
        FailureDetail FailureDetail `protobuf:"varint,3,opt,name=failure_detail,json=failureDetail,proto3,enum=routerrpc.FailureDetail" json:"failure_detail,omitempty"`
2882
        // A string representation of the link failure.
2883
        FailureString string `protobuf:"bytes,4,opt,name=failure_string,json=failureString,proto3" json:"failure_string,omitempty"`
2884
}
2885

2886
func (x *LinkFailEvent) Reset() {
×
2887
        *x = LinkFailEvent{}
×
2888
        if protoimpl.UnsafeEnabled {
×
2889
                mi := &file_routerrpc_router_proto_msgTypes[34]
×
2890
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2891
                ms.StoreMessageInfo(mi)
×
2892
        }
×
2893
}
2894

2895
func (x *LinkFailEvent) String() string {
×
2896
        return protoimpl.X.MessageStringOf(x)
×
2897
}
×
2898

2899
func (*LinkFailEvent) ProtoMessage() {}
×
2900

2901
func (x *LinkFailEvent) ProtoReflect() protoreflect.Message {
×
2902
        mi := &file_routerrpc_router_proto_msgTypes[34]
×
2903
        if protoimpl.UnsafeEnabled && x != nil {
×
2904
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2905
                if ms.LoadMessageInfo() == nil {
×
2906
                        ms.StoreMessageInfo(mi)
×
2907
                }
×
2908
                return ms
×
2909
        }
2910
        return mi.MessageOf(x)
×
2911
}
2912

2913
// Deprecated: Use LinkFailEvent.ProtoReflect.Descriptor instead.
2914
func (*LinkFailEvent) Descriptor() ([]byte, []int) {
×
2915
        return file_routerrpc_router_proto_rawDescGZIP(), []int{34}
×
2916
}
×
2917

2918
func (x *LinkFailEvent) GetInfo() *HtlcInfo {
×
2919
        if x != nil {
×
2920
                return x.Info
×
2921
        }
×
2922
        return nil
×
2923
}
2924

2925
func (x *LinkFailEvent) GetWireFailure() lnrpc.Failure_FailureCode {
×
2926
        if x != nil {
×
2927
                return x.WireFailure
×
2928
        }
×
2929
        return lnrpc.Failure_FailureCode(0)
×
2930
}
2931

2932
func (x *LinkFailEvent) GetFailureDetail() FailureDetail {
×
2933
        if x != nil {
×
2934
                return x.FailureDetail
×
2935
        }
×
2936
        return FailureDetail_UNKNOWN
×
2937
}
2938

2939
func (x *LinkFailEvent) GetFailureString() string {
×
2940
        if x != nil {
×
2941
                return x.FailureString
×
2942
        }
×
2943
        return ""
×
2944
}
2945

2946
type PaymentStatus struct {
2947
        state         protoimpl.MessageState
2948
        sizeCache     protoimpl.SizeCache
2949
        unknownFields protoimpl.UnknownFields
2950

2951
        // Current state the payment is in.
2952
        State PaymentState `protobuf:"varint,1,opt,name=state,proto3,enum=routerrpc.PaymentState" json:"state,omitempty"`
2953
        // The pre-image of the payment when state is SUCCEEDED.
2954
        Preimage []byte `protobuf:"bytes,2,opt,name=preimage,proto3" json:"preimage,omitempty"`
2955
        // The HTLCs made in attempt to settle the payment [EXPERIMENTAL].
2956
        Htlcs []*lnrpc.HTLCAttempt `protobuf:"bytes,4,rep,name=htlcs,proto3" json:"htlcs,omitempty"`
2957
}
2958

2959
func (x *PaymentStatus) Reset() {
×
2960
        *x = PaymentStatus{}
×
2961
        if protoimpl.UnsafeEnabled {
×
2962
                mi := &file_routerrpc_router_proto_msgTypes[35]
×
2963
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2964
                ms.StoreMessageInfo(mi)
×
2965
        }
×
2966
}
2967

2968
func (x *PaymentStatus) String() string {
×
2969
        return protoimpl.X.MessageStringOf(x)
×
2970
}
×
2971

2972
func (*PaymentStatus) ProtoMessage() {}
×
2973

2974
func (x *PaymentStatus) ProtoReflect() protoreflect.Message {
×
2975
        mi := &file_routerrpc_router_proto_msgTypes[35]
×
2976
        if protoimpl.UnsafeEnabled && x != nil {
×
2977
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
2978
                if ms.LoadMessageInfo() == nil {
×
2979
                        ms.StoreMessageInfo(mi)
×
2980
                }
×
2981
                return ms
×
2982
        }
2983
        return mi.MessageOf(x)
×
2984
}
2985

2986
// Deprecated: Use PaymentStatus.ProtoReflect.Descriptor instead.
2987
func (*PaymentStatus) Descriptor() ([]byte, []int) {
×
2988
        return file_routerrpc_router_proto_rawDescGZIP(), []int{35}
×
2989
}
×
2990

2991
func (x *PaymentStatus) GetState() PaymentState {
×
2992
        if x != nil {
×
2993
                return x.State
×
2994
        }
×
2995
        return PaymentState_IN_FLIGHT
×
2996
}
2997

2998
func (x *PaymentStatus) GetPreimage() []byte {
×
2999
        if x != nil {
×
3000
                return x.Preimage
×
3001
        }
×
3002
        return nil
×
3003
}
3004

3005
func (x *PaymentStatus) GetHtlcs() []*lnrpc.HTLCAttempt {
×
3006
        if x != nil {
×
3007
                return x.Htlcs
×
3008
        }
×
3009
        return nil
×
3010
}
3011

3012
type CircuitKey struct {
3013
        state         protoimpl.MessageState
3014
        sizeCache     protoimpl.SizeCache
3015
        unknownFields protoimpl.UnknownFields
3016

3017
        // / The id of the channel that the is part of this circuit.
3018
        ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"`
3019
        // / The index of the incoming htlc in the incoming channel.
3020
        HtlcId uint64 `protobuf:"varint,2,opt,name=htlc_id,json=htlcId,proto3" json:"htlc_id,omitempty"`
3021
}
3022

3023
func (x *CircuitKey) Reset() {
×
3024
        *x = CircuitKey{}
×
3025
        if protoimpl.UnsafeEnabled {
×
3026
                mi := &file_routerrpc_router_proto_msgTypes[36]
×
3027
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3028
                ms.StoreMessageInfo(mi)
×
3029
        }
×
3030
}
3031

3032
func (x *CircuitKey) String() string {
×
3033
        return protoimpl.X.MessageStringOf(x)
×
3034
}
×
3035

3036
func (*CircuitKey) ProtoMessage() {}
×
3037

3038
func (x *CircuitKey) ProtoReflect() protoreflect.Message {
×
3039
        mi := &file_routerrpc_router_proto_msgTypes[36]
×
3040
        if protoimpl.UnsafeEnabled && x != nil {
×
3041
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3042
                if ms.LoadMessageInfo() == nil {
×
3043
                        ms.StoreMessageInfo(mi)
×
3044
                }
×
3045
                return ms
×
3046
        }
3047
        return mi.MessageOf(x)
×
3048
}
3049

3050
// Deprecated: Use CircuitKey.ProtoReflect.Descriptor instead.
3051
func (*CircuitKey) Descriptor() ([]byte, []int) {
×
3052
        return file_routerrpc_router_proto_rawDescGZIP(), []int{36}
×
3053
}
×
3054

3055
func (x *CircuitKey) GetChanId() uint64 {
×
3056
        if x != nil {
×
3057
                return x.ChanId
×
3058
        }
×
3059
        return 0
×
3060
}
3061

3062
func (x *CircuitKey) GetHtlcId() uint64 {
×
3063
        if x != nil {
×
3064
                return x.HtlcId
×
3065
        }
×
3066
        return 0
×
3067
}
3068

3069
type ForwardHtlcInterceptRequest struct {
3070
        state         protoimpl.MessageState
3071
        sizeCache     protoimpl.SizeCache
3072
        unknownFields protoimpl.UnknownFields
3073

3074
        // The key of this forwarded htlc. It defines the incoming channel id and
3075
        // the index in this channel.
3076
        IncomingCircuitKey *CircuitKey `protobuf:"bytes,1,opt,name=incoming_circuit_key,json=incomingCircuitKey,proto3" json:"incoming_circuit_key,omitempty"`
3077
        // The incoming htlc amount.
3078
        IncomingAmountMsat uint64 `protobuf:"varint,5,opt,name=incoming_amount_msat,json=incomingAmountMsat,proto3" json:"incoming_amount_msat,omitempty"`
3079
        // The incoming htlc expiry.
3080
        IncomingExpiry uint32 `protobuf:"varint,6,opt,name=incoming_expiry,json=incomingExpiry,proto3" json:"incoming_expiry,omitempty"`
3081
        // The htlc payment hash. This value is not guaranteed to be unique per
3082
        // request.
3083
        PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
3084
        // The requested outgoing channel id for this forwarded htlc. Because of
3085
        // non-strict forwarding, this isn't necessarily the channel over which the
3086
        // packet will be forwarded eventually. A different channel to the same peer
3087
        // may be selected as well.
3088
        OutgoingRequestedChanId uint64 `protobuf:"varint,7,opt,name=outgoing_requested_chan_id,json=outgoingRequestedChanId,proto3" json:"outgoing_requested_chan_id,omitempty"`
3089
        // The outgoing htlc amount.
3090
        OutgoingAmountMsat uint64 `protobuf:"varint,3,opt,name=outgoing_amount_msat,json=outgoingAmountMsat,proto3" json:"outgoing_amount_msat,omitempty"`
3091
        // The outgoing htlc expiry.
3092
        OutgoingExpiry uint32 `protobuf:"varint,4,opt,name=outgoing_expiry,json=outgoingExpiry,proto3" json:"outgoing_expiry,omitempty"`
3093
        // Any custom records that were present in the payload.
3094
        CustomRecords map[uint64][]byte `protobuf:"bytes,8,rep,name=custom_records,json=customRecords,proto3" json:"custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
3095
        // The onion blob for the next hop
3096
        OnionBlob []byte `protobuf:"bytes,9,opt,name=onion_blob,json=onionBlob,proto3" json:"onion_blob,omitempty"`
3097
        // The block height at which this htlc will be auto-failed to prevent the
3098
        // channel from force-closing.
3099
        AutoFailHeight int32 `protobuf:"varint,10,opt,name=auto_fail_height,json=autoFailHeight,proto3" json:"auto_fail_height,omitempty"`
3100
        // The custom records of the peer's incoming p2p wire message.
3101
        InWireCustomRecords map[uint64][]byte `protobuf:"bytes,11,rep,name=in_wire_custom_records,json=inWireCustomRecords,proto3" json:"in_wire_custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
3102
}
3103

3104
func (x *ForwardHtlcInterceptRequest) Reset() {
×
3105
        *x = ForwardHtlcInterceptRequest{}
×
3106
        if protoimpl.UnsafeEnabled {
×
3107
                mi := &file_routerrpc_router_proto_msgTypes[37]
×
3108
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3109
                ms.StoreMessageInfo(mi)
×
3110
        }
×
3111
}
3112

3113
func (x *ForwardHtlcInterceptRequest) String() string {
×
3114
        return protoimpl.X.MessageStringOf(x)
×
3115
}
×
3116

3117
func (*ForwardHtlcInterceptRequest) ProtoMessage() {}
×
3118

3119
func (x *ForwardHtlcInterceptRequest) ProtoReflect() protoreflect.Message {
×
3120
        mi := &file_routerrpc_router_proto_msgTypes[37]
×
3121
        if protoimpl.UnsafeEnabled && x != nil {
×
3122
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3123
                if ms.LoadMessageInfo() == nil {
×
3124
                        ms.StoreMessageInfo(mi)
×
3125
                }
×
3126
                return ms
×
3127
        }
3128
        return mi.MessageOf(x)
×
3129
}
3130

3131
// Deprecated: Use ForwardHtlcInterceptRequest.ProtoReflect.Descriptor instead.
3132
func (*ForwardHtlcInterceptRequest) Descriptor() ([]byte, []int) {
×
3133
        return file_routerrpc_router_proto_rawDescGZIP(), []int{37}
×
3134
}
×
3135

3136
func (x *ForwardHtlcInterceptRequest) GetIncomingCircuitKey() *CircuitKey {
×
3137
        if x != nil {
×
3138
                return x.IncomingCircuitKey
×
3139
        }
×
3140
        return nil
×
3141
}
3142

3143
func (x *ForwardHtlcInterceptRequest) GetIncomingAmountMsat() uint64 {
×
3144
        if x != nil {
×
3145
                return x.IncomingAmountMsat
×
3146
        }
×
3147
        return 0
×
3148
}
3149

3150
func (x *ForwardHtlcInterceptRequest) GetIncomingExpiry() uint32 {
×
3151
        if x != nil {
×
3152
                return x.IncomingExpiry
×
3153
        }
×
3154
        return 0
×
3155
}
3156

3157
func (x *ForwardHtlcInterceptRequest) GetPaymentHash() []byte {
×
3158
        if x != nil {
×
3159
                return x.PaymentHash
×
3160
        }
×
3161
        return nil
×
3162
}
3163

3164
func (x *ForwardHtlcInterceptRequest) GetOutgoingRequestedChanId() uint64 {
×
3165
        if x != nil {
×
3166
                return x.OutgoingRequestedChanId
×
3167
        }
×
3168
        return 0
×
3169
}
3170

3171
func (x *ForwardHtlcInterceptRequest) GetOutgoingAmountMsat() uint64 {
×
3172
        if x != nil {
×
3173
                return x.OutgoingAmountMsat
×
3174
        }
×
3175
        return 0
×
3176
}
3177

3178
func (x *ForwardHtlcInterceptRequest) GetOutgoingExpiry() uint32 {
×
3179
        if x != nil {
×
3180
                return x.OutgoingExpiry
×
3181
        }
×
3182
        return 0
×
3183
}
3184

3185
func (x *ForwardHtlcInterceptRequest) GetCustomRecords() map[uint64][]byte {
×
3186
        if x != nil {
×
3187
                return x.CustomRecords
×
3188
        }
×
3189
        return nil
×
3190
}
3191

3192
func (x *ForwardHtlcInterceptRequest) GetOnionBlob() []byte {
×
3193
        if x != nil {
×
3194
                return x.OnionBlob
×
3195
        }
×
3196
        return nil
×
3197
}
3198

3199
func (x *ForwardHtlcInterceptRequest) GetAutoFailHeight() int32 {
×
3200
        if x != nil {
×
3201
                return x.AutoFailHeight
×
3202
        }
×
3203
        return 0
×
3204
}
3205

3206
func (x *ForwardHtlcInterceptRequest) GetInWireCustomRecords() map[uint64][]byte {
×
3207
        if x != nil {
×
3208
                return x.InWireCustomRecords
×
3209
        }
×
3210
        return nil
×
3211
}
3212

3213
// *
3214
// ForwardHtlcInterceptResponse enables the caller to resolve a previously hold
3215
// forward. The caller can choose either to:
3216
// - `Resume`: Execute the default behavior (usually forward).
3217
// - `ResumeModified`: Execute the default behavior (usually forward) with HTLC
3218
// field modifications.
3219
// - `Reject`: Fail the htlc backwards.
3220
// - `Settle`: Settle this htlc with a given preimage.
3221
type ForwardHtlcInterceptResponse struct {
3222
        state         protoimpl.MessageState
3223
        sizeCache     protoimpl.SizeCache
3224
        unknownFields protoimpl.UnknownFields
3225

3226
        // *
3227
        // The key of this forwarded htlc. It defines the incoming channel id and
3228
        // the index in this channel.
3229
        IncomingCircuitKey *CircuitKey `protobuf:"bytes,1,opt,name=incoming_circuit_key,json=incomingCircuitKey,proto3" json:"incoming_circuit_key,omitempty"`
3230
        // The resolve action for this intercepted htlc.
3231
        Action ResolveHoldForwardAction `protobuf:"varint,2,opt,name=action,proto3,enum=routerrpc.ResolveHoldForwardAction" json:"action,omitempty"`
3232
        // The preimage in case the resolve action is Settle.
3233
        Preimage []byte `protobuf:"bytes,3,opt,name=preimage,proto3" json:"preimage,omitempty"`
3234
        // Encrypted failure message in case the resolve action is Fail.
3235
        //
3236
        // If failure_message is specified, the failure_code field must be set
3237
        // to zero.
3238
        FailureMessage []byte `protobuf:"bytes,4,opt,name=failure_message,json=failureMessage,proto3" json:"failure_message,omitempty"`
3239
        // Return the specified failure code in case the resolve action is Fail. The
3240
        // message data fields are populated automatically.
3241
        //
3242
        // If a non-zero failure_code is specified, failure_message must not be set.
3243
        //
3244
        // For backwards-compatibility reasons, TEMPORARY_CHANNEL_FAILURE is the
3245
        // default value for this field.
3246
        FailureCode lnrpc.Failure_FailureCode `protobuf:"varint,5,opt,name=failure_code,json=failureCode,proto3,enum=lnrpc.Failure_FailureCode" json:"failure_code,omitempty"`
3247
        // The amount that was set on the p2p wire message of the incoming HTLC.
3248
        // This field is ignored if the action is not RESUME_MODIFIED or the amount
3249
        // is zero.
3250
        InAmountMsat uint64 `protobuf:"varint,6,opt,name=in_amount_msat,json=inAmountMsat,proto3" json:"in_amount_msat,omitempty"`
3251
        // The amount to set on the p2p wire message of the resumed HTLC. This field
3252
        // is ignored if the action is not RESUME_MODIFIED or the amount is zero.
3253
        OutAmountMsat uint64 `protobuf:"varint,7,opt,name=out_amount_msat,json=outAmountMsat,proto3" json:"out_amount_msat,omitempty"`
3254
        // Any custom records that should be set on the p2p wire message message of
3255
        // the resumed HTLC. This field is ignored if the action is not
3256
        // RESUME_MODIFIED.
3257
        //
3258
        // This map will merge with the existing set of custom records (if any),
3259
        // replacing any conflicting types. Note that there currently is no support
3260
        // for deleting existing custom records (they can only be replaced).
3261
        OutWireCustomRecords map[uint64][]byte `protobuf:"bytes,8,rep,name=out_wire_custom_records,json=outWireCustomRecords,proto3" json:"out_wire_custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
3262
}
3263

3264
func (x *ForwardHtlcInterceptResponse) Reset() {
×
3265
        *x = ForwardHtlcInterceptResponse{}
×
3266
        if protoimpl.UnsafeEnabled {
×
3267
                mi := &file_routerrpc_router_proto_msgTypes[38]
×
3268
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3269
                ms.StoreMessageInfo(mi)
×
3270
        }
×
3271
}
3272

3273
func (x *ForwardHtlcInterceptResponse) String() string {
×
3274
        return protoimpl.X.MessageStringOf(x)
×
3275
}
×
3276

3277
func (*ForwardHtlcInterceptResponse) ProtoMessage() {}
×
3278

3279
func (x *ForwardHtlcInterceptResponse) ProtoReflect() protoreflect.Message {
×
3280
        mi := &file_routerrpc_router_proto_msgTypes[38]
×
3281
        if protoimpl.UnsafeEnabled && x != nil {
×
3282
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3283
                if ms.LoadMessageInfo() == nil {
×
3284
                        ms.StoreMessageInfo(mi)
×
3285
                }
×
3286
                return ms
×
3287
        }
3288
        return mi.MessageOf(x)
×
3289
}
3290

3291
// Deprecated: Use ForwardHtlcInterceptResponse.ProtoReflect.Descriptor instead.
3292
func (*ForwardHtlcInterceptResponse) Descriptor() ([]byte, []int) {
×
3293
        return file_routerrpc_router_proto_rawDescGZIP(), []int{38}
×
3294
}
×
3295

3296
func (x *ForwardHtlcInterceptResponse) GetIncomingCircuitKey() *CircuitKey {
×
3297
        if x != nil {
×
3298
                return x.IncomingCircuitKey
×
3299
        }
×
3300
        return nil
×
3301
}
3302

3303
func (x *ForwardHtlcInterceptResponse) GetAction() ResolveHoldForwardAction {
×
3304
        if x != nil {
×
3305
                return x.Action
×
3306
        }
×
3307
        return ResolveHoldForwardAction_SETTLE
×
3308
}
3309

3310
func (x *ForwardHtlcInterceptResponse) GetPreimage() []byte {
×
3311
        if x != nil {
×
3312
                return x.Preimage
×
3313
        }
×
3314
        return nil
×
3315
}
3316

3317
func (x *ForwardHtlcInterceptResponse) GetFailureMessage() []byte {
×
3318
        if x != nil {
×
3319
                return x.FailureMessage
×
3320
        }
×
3321
        return nil
×
3322
}
3323

3324
func (x *ForwardHtlcInterceptResponse) GetFailureCode() lnrpc.Failure_FailureCode {
×
3325
        if x != nil {
×
3326
                return x.FailureCode
×
3327
        }
×
3328
        return lnrpc.Failure_FailureCode(0)
×
3329
}
3330

3331
func (x *ForwardHtlcInterceptResponse) GetInAmountMsat() uint64 {
×
3332
        if x != nil {
×
3333
                return x.InAmountMsat
×
3334
        }
×
3335
        return 0
×
3336
}
3337

3338
func (x *ForwardHtlcInterceptResponse) GetOutAmountMsat() uint64 {
×
3339
        if x != nil {
×
3340
                return x.OutAmountMsat
×
3341
        }
×
3342
        return 0
×
3343
}
3344

3345
func (x *ForwardHtlcInterceptResponse) GetOutWireCustomRecords() map[uint64][]byte {
×
3346
        if x != nil {
×
3347
                return x.OutWireCustomRecords
×
3348
        }
×
3349
        return nil
×
3350
}
3351

3352
type UpdateChanStatusRequest struct {
3353
        state         protoimpl.MessageState
3354
        sizeCache     protoimpl.SizeCache
3355
        unknownFields protoimpl.UnknownFields
3356

3357
        ChanPoint *lnrpc.ChannelPoint `protobuf:"bytes,1,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"`
3358
        Action    ChanStatusAction    `protobuf:"varint,2,opt,name=action,proto3,enum=routerrpc.ChanStatusAction" json:"action,omitempty"`
3359
}
3360

3361
func (x *UpdateChanStatusRequest) Reset() {
×
3362
        *x = UpdateChanStatusRequest{}
×
3363
        if protoimpl.UnsafeEnabled {
×
3364
                mi := &file_routerrpc_router_proto_msgTypes[39]
×
3365
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3366
                ms.StoreMessageInfo(mi)
×
3367
        }
×
3368
}
3369

3370
func (x *UpdateChanStatusRequest) String() string {
×
3371
        return protoimpl.X.MessageStringOf(x)
×
3372
}
×
3373

3374
func (*UpdateChanStatusRequest) ProtoMessage() {}
×
3375

3376
func (x *UpdateChanStatusRequest) ProtoReflect() protoreflect.Message {
×
3377
        mi := &file_routerrpc_router_proto_msgTypes[39]
×
3378
        if protoimpl.UnsafeEnabled && x != nil {
×
3379
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3380
                if ms.LoadMessageInfo() == nil {
×
3381
                        ms.StoreMessageInfo(mi)
×
3382
                }
×
3383
                return ms
×
3384
        }
3385
        return mi.MessageOf(x)
×
3386
}
3387

3388
// Deprecated: Use UpdateChanStatusRequest.ProtoReflect.Descriptor instead.
3389
func (*UpdateChanStatusRequest) Descriptor() ([]byte, []int) {
×
3390
        return file_routerrpc_router_proto_rawDescGZIP(), []int{39}
×
3391
}
×
3392

3393
func (x *UpdateChanStatusRequest) GetChanPoint() *lnrpc.ChannelPoint {
×
3394
        if x != nil {
×
3395
                return x.ChanPoint
×
3396
        }
×
3397
        return nil
×
3398
}
3399

3400
func (x *UpdateChanStatusRequest) GetAction() ChanStatusAction {
×
3401
        if x != nil {
×
3402
                return x.Action
×
3403
        }
×
3404
        return ChanStatusAction_ENABLE
×
3405
}
3406

3407
type UpdateChanStatusResponse struct {
3408
        state         protoimpl.MessageState
3409
        sizeCache     protoimpl.SizeCache
3410
        unknownFields protoimpl.UnknownFields
3411
}
3412

3413
func (x *UpdateChanStatusResponse) Reset() {
×
3414
        *x = UpdateChanStatusResponse{}
×
3415
        if protoimpl.UnsafeEnabled {
×
3416
                mi := &file_routerrpc_router_proto_msgTypes[40]
×
3417
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3418
                ms.StoreMessageInfo(mi)
×
3419
        }
×
3420
}
3421

3422
func (x *UpdateChanStatusResponse) String() string {
×
3423
        return protoimpl.X.MessageStringOf(x)
×
3424
}
×
3425

3426
func (*UpdateChanStatusResponse) ProtoMessage() {}
×
3427

3428
func (x *UpdateChanStatusResponse) ProtoReflect() protoreflect.Message {
×
3429
        mi := &file_routerrpc_router_proto_msgTypes[40]
×
3430
        if protoimpl.UnsafeEnabled && x != nil {
×
3431
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3432
                if ms.LoadMessageInfo() == nil {
×
3433
                        ms.StoreMessageInfo(mi)
×
3434
                }
×
3435
                return ms
×
3436
        }
3437
        return mi.MessageOf(x)
×
3438
}
3439

3440
// Deprecated: Use UpdateChanStatusResponse.ProtoReflect.Descriptor instead.
3441
func (*UpdateChanStatusResponse) Descriptor() ([]byte, []int) {
×
3442
        return file_routerrpc_router_proto_rawDescGZIP(), []int{40}
×
3443
}
×
3444

3445
type AddAliasesRequest struct {
3446
        state         protoimpl.MessageState
3447
        sizeCache     protoimpl.SizeCache
3448
        unknownFields protoimpl.UnknownFields
3449

3450
        AliasMaps []*lnrpc.AliasMap `protobuf:"bytes,1,rep,name=alias_maps,json=aliasMaps,proto3" json:"alias_maps,omitempty"`
3451
}
3452

3453
func (x *AddAliasesRequest) Reset() {
×
3454
        *x = AddAliasesRequest{}
×
3455
        if protoimpl.UnsafeEnabled {
×
3456
                mi := &file_routerrpc_router_proto_msgTypes[41]
×
3457
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3458
                ms.StoreMessageInfo(mi)
×
3459
        }
×
3460
}
3461

3462
func (x *AddAliasesRequest) String() string {
×
3463
        return protoimpl.X.MessageStringOf(x)
×
3464
}
×
3465

3466
func (*AddAliasesRequest) ProtoMessage() {}
×
3467

3468
func (x *AddAliasesRequest) ProtoReflect() protoreflect.Message {
×
3469
        mi := &file_routerrpc_router_proto_msgTypes[41]
×
3470
        if protoimpl.UnsafeEnabled && x != nil {
×
3471
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3472
                if ms.LoadMessageInfo() == nil {
×
3473
                        ms.StoreMessageInfo(mi)
×
3474
                }
×
3475
                return ms
×
3476
        }
3477
        return mi.MessageOf(x)
×
3478
}
3479

3480
// Deprecated: Use AddAliasesRequest.ProtoReflect.Descriptor instead.
3481
func (*AddAliasesRequest) Descriptor() ([]byte, []int) {
×
3482
        return file_routerrpc_router_proto_rawDescGZIP(), []int{41}
×
3483
}
×
3484

3485
func (x *AddAliasesRequest) GetAliasMaps() []*lnrpc.AliasMap {
×
3486
        if x != nil {
×
3487
                return x.AliasMaps
×
3488
        }
×
3489
        return nil
×
3490
}
3491

3492
type AddAliasesResponse struct {
3493
        state         protoimpl.MessageState
3494
        sizeCache     protoimpl.SizeCache
3495
        unknownFields protoimpl.UnknownFields
3496

3497
        AliasMaps []*lnrpc.AliasMap `protobuf:"bytes,1,rep,name=alias_maps,json=aliasMaps,proto3" json:"alias_maps,omitempty"`
3498
}
3499

3500
func (x *AddAliasesResponse) Reset() {
×
3501
        *x = AddAliasesResponse{}
×
3502
        if protoimpl.UnsafeEnabled {
×
3503
                mi := &file_routerrpc_router_proto_msgTypes[42]
×
3504
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3505
                ms.StoreMessageInfo(mi)
×
3506
        }
×
3507
}
3508

3509
func (x *AddAliasesResponse) String() string {
×
3510
        return protoimpl.X.MessageStringOf(x)
×
3511
}
×
3512

3513
func (*AddAliasesResponse) ProtoMessage() {}
×
3514

3515
func (x *AddAliasesResponse) ProtoReflect() protoreflect.Message {
×
3516
        mi := &file_routerrpc_router_proto_msgTypes[42]
×
3517
        if protoimpl.UnsafeEnabled && x != nil {
×
3518
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3519
                if ms.LoadMessageInfo() == nil {
×
3520
                        ms.StoreMessageInfo(mi)
×
3521
                }
×
3522
                return ms
×
3523
        }
3524
        return mi.MessageOf(x)
×
3525
}
3526

3527
// Deprecated: Use AddAliasesResponse.ProtoReflect.Descriptor instead.
3528
func (*AddAliasesResponse) Descriptor() ([]byte, []int) {
×
3529
        return file_routerrpc_router_proto_rawDescGZIP(), []int{42}
×
3530
}
×
3531

3532
func (x *AddAliasesResponse) GetAliasMaps() []*lnrpc.AliasMap {
×
3533
        if x != nil {
×
3534
                return x.AliasMaps
×
3535
        }
×
3536
        return nil
×
3537
}
3538

3539
type DeleteAliasesRequest struct {
3540
        state         protoimpl.MessageState
3541
        sizeCache     protoimpl.SizeCache
3542
        unknownFields protoimpl.UnknownFields
3543

3544
        AliasMaps []*lnrpc.AliasMap `protobuf:"bytes,1,rep,name=alias_maps,json=aliasMaps,proto3" json:"alias_maps,omitempty"`
3545
}
3546

3547
func (x *DeleteAliasesRequest) Reset() {
×
3548
        *x = DeleteAliasesRequest{}
×
3549
        if protoimpl.UnsafeEnabled {
×
3550
                mi := &file_routerrpc_router_proto_msgTypes[43]
×
3551
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3552
                ms.StoreMessageInfo(mi)
×
3553
        }
×
3554
}
3555

3556
func (x *DeleteAliasesRequest) String() string {
×
3557
        return protoimpl.X.MessageStringOf(x)
×
3558
}
×
3559

3560
func (*DeleteAliasesRequest) ProtoMessage() {}
×
3561

3562
func (x *DeleteAliasesRequest) ProtoReflect() protoreflect.Message {
×
3563
        mi := &file_routerrpc_router_proto_msgTypes[43]
×
3564
        if protoimpl.UnsafeEnabled && x != nil {
×
3565
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3566
                if ms.LoadMessageInfo() == nil {
×
3567
                        ms.StoreMessageInfo(mi)
×
3568
                }
×
3569
                return ms
×
3570
        }
3571
        return mi.MessageOf(x)
×
3572
}
3573

3574
// Deprecated: Use DeleteAliasesRequest.ProtoReflect.Descriptor instead.
3575
func (*DeleteAliasesRequest) Descriptor() ([]byte, []int) {
×
3576
        return file_routerrpc_router_proto_rawDescGZIP(), []int{43}
×
3577
}
×
3578

3579
func (x *DeleteAliasesRequest) GetAliasMaps() []*lnrpc.AliasMap {
×
3580
        if x != nil {
×
3581
                return x.AliasMaps
×
3582
        }
×
3583
        return nil
×
3584
}
3585

3586
type DeleteAliasesResponse struct {
3587
        state         protoimpl.MessageState
3588
        sizeCache     protoimpl.SizeCache
3589
        unknownFields protoimpl.UnknownFields
3590

3591
        AliasMaps []*lnrpc.AliasMap `protobuf:"bytes,1,rep,name=alias_maps,json=aliasMaps,proto3" json:"alias_maps,omitempty"`
3592
}
3593

3594
func (x *DeleteAliasesResponse) Reset() {
×
3595
        *x = DeleteAliasesResponse{}
×
3596
        if protoimpl.UnsafeEnabled {
×
3597
                mi := &file_routerrpc_router_proto_msgTypes[44]
×
3598
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3599
                ms.StoreMessageInfo(mi)
×
3600
        }
×
3601
}
3602

3603
func (x *DeleteAliasesResponse) String() string {
×
3604
        return protoimpl.X.MessageStringOf(x)
×
3605
}
×
3606

3607
func (*DeleteAliasesResponse) ProtoMessage() {}
×
3608

3609
func (x *DeleteAliasesResponse) ProtoReflect() protoreflect.Message {
×
3610
        mi := &file_routerrpc_router_proto_msgTypes[44]
×
3611
        if protoimpl.UnsafeEnabled && x != nil {
×
3612
                ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
×
3613
                if ms.LoadMessageInfo() == nil {
×
3614
                        ms.StoreMessageInfo(mi)
×
3615
                }
×
3616
                return ms
×
3617
        }
3618
        return mi.MessageOf(x)
×
3619
}
3620

3621
// Deprecated: Use DeleteAliasesResponse.ProtoReflect.Descriptor instead.
3622
func (*DeleteAliasesResponse) Descriptor() ([]byte, []int) {
×
3623
        return file_routerrpc_router_proto_rawDescGZIP(), []int{44}
×
3624
}
×
3625

3626
func (x *DeleteAliasesResponse) GetAliasMaps() []*lnrpc.AliasMap {
×
3627
        if x != nil {
×
3628
                return x.AliasMaps
×
3629
        }
×
3630
        return nil
×
3631
}
3632

3633
var File_routerrpc_router_proto protoreflect.FileDescriptor
3634

3635
var file_routerrpc_router_proto_rawDesc = []byte{
3636
        0x0a, 0x16, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2f, 0x72, 0x6f, 0x75, 0x74,
3637
        0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
3638
        0x72, 0x70, 0x63, 0x1a, 0x0f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70,
3639
        0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd1, 0x09, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79,
3640
        0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64,
3641
        0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x65, 0x73, 0x74, 0x12,
3642
        0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x6d,
3643
        0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73,
3644
        0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74,
3645
        0x48, 0x61, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c,
3646
        0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e,
3647
        0x66, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27,
3648
        0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
3649
        0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74,
3650
        0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x6f,
3651
        0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
3652
        0x52, 0x0e, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73,
3653
        0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x61,
3654
        0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69,
3655
        0x74, 0x53, 0x61, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67,
3656
        0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x42, 0x04,
3657
        0x18, 0x01, 0x30, 0x01, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x43, 0x68,
3658
        0x61, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x6c, 0x69, 0x6d,
3659
        0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6c, 0x74, 0x76, 0x4c, 0x69,
3660
        0x6d, 0x69, 0x74, 0x12, 0x31, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x6e,
3661
        0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63,
3662
        0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74,
3663
        0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63,
3664
        0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20,
3665
        0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e,
3666
        0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
3667
        0x73, 0x74, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63,
3668
        0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x43,
3669
        0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08,
3670
        0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07,
3671
        0x61, 0x6d, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x66, 0x65, 0x65, 0x5f, 0x6c,
3672
        0x69, 0x6d, 0x69, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52,
3673
        0x0c, 0x66, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x26, 0x0a,
3674
        0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79,
3675
        0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x50,
3676
        0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73,
3677
        0x65, 0x6c, 0x66, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28,
3678
        0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x6c, 0x66, 0x50, 0x61, 0x79, 0x6d,
3679
        0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74,
3680
        0x75, 0x72, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72,
3681
        0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x69, 0x74, 0x52, 0x0c, 0x64,
3682
        0x65, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d,
3683
        0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08,
3684
        0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x74, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x6f, 0x5f, 0x69,
3685
        0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18,
3686
        0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6e, 0x6f, 0x49, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68,
3687
        0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x67,
3688
        0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x13, 0x20,
3689
        0x03, 0x28, 0x04, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61,
3690
        0x6e, 0x49, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
3691
        0x61, 0x64, 0x64, 0x72, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d,
3692
        0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x73,
3693
        0x68, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x15,
3694
        0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x53, 0x68, 0x61, 0x72, 0x64, 0x53, 0x69,
3695
        0x7a, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x70, 0x18, 0x16, 0x20,
3696
        0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65,
3697
        0x5f, 0x70, 0x72, 0x65, 0x66, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x74, 0x69, 0x6d,
3698
        0x65, 0x50, 0x72, 0x65, 0x66, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x61,
3699
        0x62, 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x63, 0x65,
3700
        0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x71, 0x0a, 0x18, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x68,
3701
        0x6f, 0x70, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
3702
        0x73, 0x18, 0x19, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
3703
        0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52,
3704
        0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x43,
3705
        0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72,
3706
        0x79, 0x52, 0x15, 0x66, 0x69, 0x72, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f,
3707
        0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x44, 0x65, 0x73, 0x74,
3708
        0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74,
3709
        0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
3710
        0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
3711
        0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x48,
3712
        0x0a, 0x1a, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
3713
        0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
3714
        0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
3715
        0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76,
3716
        0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x68, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63,
3717
        0x6b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
3718
        0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18,
3719
        0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61,
3720
        0x73, 0x68, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x6f, 0x5f, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68,
3721
        0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
3722
        0x11, 0x6e, 0x6f, 0x49, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74,
3723
        0x65, 0x73, 0x22, 0x46, 0x0a, 0x14, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6d, 0x65,
3724
        0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x6f,
3725
        0x5f, 0x69, 0x6e, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
3726
        0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6e, 0x6f, 0x49, 0x6e, 0x66, 0x6c, 0x69,
3727
        0x67, 0x68, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x0f, 0x52,
3728
        0x6f, 0x75, 0x74, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
3729
        0x0a, 0x04, 0x64, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x65,
3730
        0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6d, 0x74, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20,
3731
        0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x74, 0x53, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70,
3732
        0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03,
3733
        0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
3734
        0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18,
3735
        0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xa8,
3736
        0x01, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
3737
        0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x66,
3738
        0x65, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x72,
3739
        0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x26, 0x0a,
3740
        0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79,
3741
        0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x6b,
3742
        0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x42, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65,
3743
        0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e,
3744
        0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69,
3745
        0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c,
3746
        0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xbc, 0x02, 0x0a, 0x12, 0x53, 0x65,
3747
        0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3748
        0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68,
3749
        0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48,
3750
        0x61, 0x73, 0x68, 0x12, 0x22, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01,
3751
        0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65,
3752
        0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f,
3753
        0x74, 0x65, 0x6d, 0x70, 0x5f, 0x65, 0x72, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b,
3754
        0x73, 0x6b, 0x69, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x45, 0x72, 0x72, 0x12, 0x71, 0x0a, 0x18, 0x66,
3755
        0x69, 0x72, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f,
3756
        0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e,
3757
        0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f,
3758
        0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x69, 0x72,
3759
        0x73, 0x74, 0x48, 0x6f, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72,
3760
        0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x66, 0x69, 0x72, 0x73, 0x74, 0x48, 0x6f,
3761
        0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x48,
3762
        0x0a, 0x1a, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d,
3763
        0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
3764
        0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
3765
        0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76,
3766
        0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5b, 0x0a, 0x13, 0x53, 0x65, 0x6e, 0x64,
3767
        0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3768
        0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
3769
        0x0c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x07, 0x66,
3770
        0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c,
3771
        0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x07, 0x66, 0x61,
3772
        0x69, 0x6c, 0x75, 0x72, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4d, 0x69,
3773
        0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75,
3774
        0x65, 0x73, 0x74, 0x22, 0x1d, 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73,
3775
        0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
3776
        0x73, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, 0x73, 0x69,
3777
        0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3778
        0x22, 0x51, 0x0a, 0x1b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
3779
        0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
3780
        0x2c, 0x0a, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16,
3781
        0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x48,
3782
        0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x4a, 0x04, 0x08,
3783
        0x01, 0x10, 0x02, 0x22, 0x62, 0x0a, 0x1c, 0x58, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x69,
3784
        0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75,
3785
        0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
3786
        0x28, 0x0b, 0x32, 0x16, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x50,
3787
        0x61, 0x69, 0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x05, 0x70, 0x61, 0x69, 0x72,
3788
        0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08,
3789
        0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x1f, 0x0a, 0x1d, 0x58, 0x49, 0x6d, 0x70, 0x6f,
3790
        0x72, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
3791
        0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x50, 0x61, 0x69,
3792
        0x72, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65,
3793
        0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6e, 0x6f, 0x64,
3794
        0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x74, 0x6f,
3795
        0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x54, 0x6f, 0x12, 0x2d,
3796
        0x0a, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
3797
        0x13, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x69, 0x72,
3798
        0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x4a, 0x04, 0x08,
3799
        0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a,
3800
        0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0xe8, 0x01, 0x0a, 0x08, 0x50, 0x61, 0x69, 0x72, 0x44, 0x61,
3801
        0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
3802
        0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x12,
3803
        0x20, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 0x73, 0x61, 0x74, 0x18,
3804
        0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x41, 0x6d, 0x74, 0x53, 0x61,
3805
        0x74, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x73,
3806
        0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x41, 0x6d,
3807
        0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73,
3808
        0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x75, 0x63,
3809
        0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x75, 0x63, 0x63,
3810
        0x65, 0x73, 0x73, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28,
3811
        0x03, 0x52, 0x0d, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x41, 0x6d, 0x74, 0x53, 0x61, 0x74,
3812
        0x12, 0x28, 0x0a, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x61, 0x6d, 0x74, 0x5f,
3813
        0x6d, 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x75, 0x63, 0x63,
3814
        0x65, 0x73, 0x73, 0x41, 0x6d, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04,
3815
        0x22, 0x20, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
3816
        0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65,
3817
        0x73, 0x74, 0x22, 0x5a, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
3818
        0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73,
3819
        0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
3820
        0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70,
3821
        0x63, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
3822
        0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x59,
3823
        0x0a, 0x1e, 0x53, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74,
3824
        0x72, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
3825
        0x12, 0x37, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
3826
        0x32, 0x1f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x69, 0x73,
3827
        0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69,
3828
        0x67, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x21, 0x0a, 0x1f, 0x53, 0x65, 0x74,
3829
        0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f,
3830
        0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x04, 0x0a,
3831
        0x14, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43,
3832
        0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x11, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x6c, 0x69,
3833
        0x66, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
3834
        0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x68, 0x61, 0x6c, 0x66, 0x4c, 0x69, 0x66, 0x65, 0x53, 0x65,
3835
        0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x68, 0x6f, 0x70, 0x5f, 0x70, 0x72, 0x6f,
3836
        0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x02,
3837
        0x18, 0x01, 0x52, 0x0e, 0x68, 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69,
3838
        0x74, 0x79, 0x12, 0x1a, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01,
3839
        0x28, 0x02, 0x42, 0x02, 0x18, 0x01, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x36,
3840
        0x0a, 0x17, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e,
3841
        0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
3842
        0x15, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52,
3843
        0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75,
3844
        0x6d, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x78, 0x5f,
3845
        0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1b,
3846
        0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65,
3847
        0x6c, 0x61, 0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x46, 0x0a, 0x05, 0x6d,
3848
        0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x30, 0x2e, 0x72, 0x6f, 0x75,
3849
        0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f,
3850
        0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x62,
3851
        0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x05, 0x6d, 0x6f,
3852
        0x64, 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x18, 0x07,
3853
        0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63,
3854
        0x2e, 0x41, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
3855
        0x72, 0x73, 0x48, 0x00, 0x52, 0x07, 0x61, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x12, 0x38, 0x0a,
3856
        0x07, 0x62, 0x69, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c,
3857
        0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x69, 0x6d, 0x6f, 0x64,
3858
        0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x07,
3859
        0x62, 0x69, 0x6d, 0x6f, 0x64, 0x61, 0x6c, 0x22, 0x2c, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x62, 0x61,
3860
        0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x41,
3861
        0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x49, 0x4d, 0x4f,
3862
        0x44, 0x41, 0x4c, 0x10, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74,
3863
        0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x72, 0x0a, 0x11, 0x42, 0x69, 0x6d, 0x6f,
3864
        0x64, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a,
3865
        0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01,
3866
        0x28, 0x01, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d,
3867
        0x0a, 0x0a, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01,
3868
        0x28, 0x04, 0x52, 0x09, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1d, 0x0a,
3869
        0x0a, 0x64, 0x65, 0x63, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
3870
        0x04, 0x52, 0x09, 0x64, 0x65, 0x63, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xad, 0x01, 0x0a,
3871
        0x11, 0x41, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
3872
        0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x6c, 0x66, 0x5f, 0x6c, 0x69, 0x66, 0x65, 0x5f,
3873
        0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x68,
3874
        0x61, 0x6c, 0x66, 0x4c, 0x69, 0x66, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x27,
3875
        0x0a, 0x0f, 0x68, 0x6f, 0x70, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74,
3876
        0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x68, 0x6f, 0x70, 0x50, 0x72, 0x6f, 0x62,
3877
        0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68,
3878
        0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x06, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12,
3879
        0x2b, 0x0a, 0x11, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x63,
3880
        0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x63, 0x61, 0x70, 0x61,
3881
        0x63, 0x69, 0x74, 0x79, 0x46, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6a, 0x0a, 0x17,
3882
        0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79,
3883
        0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f,
3884
        0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d,
3885
        0x4e, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6f, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18,
3886
        0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x6f, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a,
3887
        0x08, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
3888
        0x07, 0x61, 0x6d, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x22, 0x6b, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72,
3889
        0x79, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70,
3890
        0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c,
3891
        0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x62, 0x61,
3892
        0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x68, 0x69, 0x73, 0x74, 0x6f, 0x72,
3893
        0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
3894
        0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x69, 0x72, 0x44, 0x61, 0x74, 0x61, 0x52, 0x07, 0x68, 0x69,
3895
        0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x86, 0x03, 0x0a, 0x11, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52,
3896
        0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61,
3897
        0x6d, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61,
3898
        0x6d, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f,
3899
        0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
3900
        0x52, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61,
3901
        0x12, 0x2c, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61,
3902
        0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x0e,
3903
        0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1f,
3904
        0x0a, 0x0b, 0x68, 0x6f, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x04, 0x20,
3905
        0x03, 0x28, 0x0c, 0x52, 0x0a, 0x68, 0x6f, 0x70, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x73, 0x12,
3906
        0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18,
3907
        0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64,
3908
        0x64, 0x72, 0x12, 0x70, 0x0a, 0x18, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f,
3909
        0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x06,
3910
        0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63,
3911
        0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
3912
        0x73, 0x74, 0x2e, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f,
3913
        0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x66,
3914
        0x69, 0x72, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63,
3915
        0x6f, 0x72, 0x64, 0x73, 0x1a, 0x48, 0x0a, 0x1a, 0x46, 0x69, 0x72, 0x73, 0x74, 0x48, 0x6f, 0x70,
3916
        0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74,
3917
        0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
3918
        0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
3919
        0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x38,
3920
        0x0a, 0x12, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
3921
        0x6f, 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20,
3922
        0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74,
3923
        0x65, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x53, 0x75, 0x62, 0x73,
3924
        0x63, 0x72, 0x69, 0x62, 0x65, 0x48, 0x74, 0x6c, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52,
3925
        0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x86, 0x06, 0x0a, 0x09, 0x48, 0x74, 0x6c, 0x63, 0x45,
3926
        0x76, 0x65, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67,
3927
        0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
3928
        0x04, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e,
3929
        0x65, 0x6c, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67,
3930
        0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
3931
        0x04, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e,
3932
        0x65, 0x6c, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67,
3933
        0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e,
3934
        0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x64, 0x12, 0x28,
3935
        0x0a, 0x10, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f,
3936
        0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69,
3937
        0x6e, 0x67, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65,
3938
        0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b,
3939
        0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x12, 0x3d, 0x0a, 0x0a, 0x65,
3940
        0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32,
3941
        0x1e, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x74, 0x6c, 0x63,
3942
        0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52,
3943
        0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x66, 0x6f,
3944
        0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,
3945
        0x0b, 0x32, 0x17, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f,
3946
        0x72, 0x77, 0x61, 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x66, 0x6f,
3947
        0x72, 0x77, 0x61, 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x12, 0x66, 0x6f,
3948
        0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74,
3949
        0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72,
3950
        0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x45, 0x76,
3951
        0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x46, 0x61,
3952
        0x69, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x74, 0x6c,
3953
        0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
3954
        0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65,
3955
        0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x45,
3956
        0x76, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x66, 0x61, 0x69,
3957
        0x6c, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e,
3958
        0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x46, 0x61,
3959
        0x69, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x6c, 0x69, 0x6e, 0x6b, 0x46,
3960
        0x61, 0x69, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x10, 0x73, 0x75, 0x62, 0x73,
3961
        0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01,
3962
        0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x53,
3963
        0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00,
3964
        0x52, 0x0f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e,
3965
        0x74, 0x12, 0x45, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f,
3966
        0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x72, 0x6f,
3967
        0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x48, 0x74, 0x6c,
3968
        0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x48,
3969
        0x74, 0x6c, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x3c, 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e,
3970
        0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
3971
        0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07,
3972
        0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4f, 0x52,
3973
        0x57, 0x41, 0x52, 0x44, 0x10, 0x03, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22,
3974
        0xbc, 0x01, 0x0a, 0x08, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2b, 0x0a, 0x11,
3975
        0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x6f, 0x63,
3976
        0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e,
3977
        0x67, 0x54, 0x69, 0x6d, 0x65, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x75, 0x74,
3978
        0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x02,
3979
        0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x54, 0x69,
3980
        0x6d, 0x65, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69,
3981
        0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
3982
        0x04, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x74, 0x4d, 0x73,
3983
        0x61, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x61,
3984
        0x6d, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6f,
3985
        0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x22, 0x37,
3986
        0x0a, 0x0c, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x27,
3987
        0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x72,
3988
        0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x66,
3989
        0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x22, 0x12, 0x0a, 0x10, 0x46, 0x6f, 0x72, 0x77, 0x61,
3990
        0x72, 0x64, 0x46, 0x61, 0x69, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x29, 0x0a, 0x0b, 0x53,
3991
        0x65, 0x74, 0x74, 0x6c, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72,
3992
        0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72,
3993
        0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x46, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x48,
3994
        0x74, 0x6c, 0x63, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74,
3995
        0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x6c,
3996
        0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02,
3997
        0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x22, 0x11,
3998
        0x0a, 0x0f, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x45, 0x76, 0x65, 0x6e,
3999
        0x74, 0x22, 0xdf, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x6e, 0x6b, 0x46, 0x61, 0x69, 0x6c, 0x45, 0x76,
4000
        0x65, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28,
4001
        0x0b, 0x32, 0x13, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x74,
4002
        0x6c, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x3d, 0x0a, 0x0c,
4003
        0x77, 0x69, 0x72, 0x65, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01,
4004
        0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75,
4005
        0x72, 0x65, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0b,
4006
        0x77, 0x69, 0x72, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x3f, 0x0a, 0x0e, 0x66,
4007
        0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20,
4008
        0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e,
4009
        0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0d, 0x66,
4010
        0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x25, 0x0a, 0x0e,
4011
        0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04,
4012
        0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x72,
4013
        0x69, 0x6e, 0x67, 0x22, 0x8a, 0x01, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53,
4014
        0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01,
4015
        0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63,
4016
        0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73,
4017
        0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65,
4018
        0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65,
4019
        0x12, 0x28, 0x0a, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
4020
        0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x54, 0x4c, 0x43, 0x41, 0x74, 0x74, 0x65,
4021
        0x6d, 0x70, 0x74, 0x52, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04,
4022
        0x22, 0x3e, 0x0a, 0x0a, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x17,
4023
        0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
4024
        0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x68, 0x74, 0x6c, 0x63, 0x5f,
4025
        0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x68, 0x74, 0x6c, 0x63, 0x49, 0x64,
4026
        0x22, 0xa7, 0x06, 0x0a, 0x1b, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x48, 0x74, 0x6c, 0x63,
4027
        0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4028
        0x12, 0x47, 0x0a, 0x14, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x69, 0x72,
4029
        0x63, 0x75, 0x69, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15,
4030
        0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75,
4031
        0x69, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x43,
4032
        0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, 0x63,
4033
        0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61,
4034
        0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e,
4035
        0x67, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x69,
4036
        0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x06,
4037
        0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x45, 0x78,
4038
        0x70, 0x69, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
4039
        0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d,
4040
        0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x3b, 0x0a, 0x1a, 0x6f, 0x75, 0x74, 0x67, 0x6f,
4041
        0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68,
4042
        0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x6f, 0x75, 0x74,
4043
        0x67, 0x6f, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x43, 0x68,
4044
        0x61, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67,
4045
        0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01,
4046
        0x28, 0x04, 0x52, 0x12, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x6f, 0x75,
4047
        0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69,
4048
        0x6e, 0x67, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52,
4049
        0x0e, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12,
4050
        0x60, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64,
4051
        0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
4052
        0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x49,
4053
        0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e,
4054
        0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74,
4055
        0x72, 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
4056
        0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x6c, 0x6f, 0x62, 0x18,
4057
        0x09, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x42, 0x6c, 0x6f, 0x62,
4058
        0x12, 0x28, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x68, 0x65,
4059
        0x69, 0x67, 0x68, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x61, 0x75, 0x74, 0x6f,
4060
        0x46, 0x61, 0x69, 0x6c, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x74, 0x0a, 0x16, 0x69, 0x6e,
4061
        0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63,
4062
        0x6f, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x72, 0x6f, 0x75,
4063
        0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x48, 0x74,
4064
        0x6c, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
4065
        0x73, 0x74, 0x2e, 0x49, 0x6e, 0x57, 0x69, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52,
4066
        0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x69, 0x6e, 0x57,
4067
        0x69, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73,
4068
        0x1a, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64,
4069
        0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
4070
        0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
4071
        0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02,
4072
        0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x49, 0x6e, 0x57, 0x69, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74,
4073
        0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
4074
        0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79,
4075
        0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52,
4076
        0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb9, 0x04, 0x0a, 0x1c, 0x46,
4077
        0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63,
4078
        0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x14, 0x69,
4079
        0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x5f,
4080
        0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x72, 0x6f, 0x75, 0x74,
4081
        0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69, 0x74, 0x4b, 0x65, 0x79,
4082
        0x52, 0x12, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x43, 0x69, 0x72, 0x63, 0x75, 0x69,
4083
        0x74, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
4084
        0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63,
4085
        0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x46, 0x6f, 0x72, 0x77,
4086
        0x61, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f,
4087
        0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20,
4088
        0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x27, 0x0a,
4089
        0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
4090
        0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x4d,
4091
        0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72,
4092
        0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c,
4093
        0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x69,
4094
        0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x0b, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72,
4095
        0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x61, 0x6d, 0x6f, 0x75,
4096
        0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69,
4097
        0x6e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6f,
4098
        0x75, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x07,
4099
        0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d,
4100
        0x73, 0x61, 0x74, 0x12, 0x78, 0x0a, 0x17, 0x6f, 0x75, 0x74, 0x5f, 0x77, 0x69, 0x72, 0x65, 0x5f,
4101
        0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x08,
4102
        0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63,
4103
        0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x74, 0x65,
4104
        0x72, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4f, 0x75,
4105
        0x74, 0x57, 0x69, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72,
4106
        0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x14, 0x6f, 0x75, 0x74, 0x57, 0x69, 0x72, 0x65,
4107
        0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x1a, 0x47, 0x0a,
4108
        0x19, 0x4f, 0x75, 0x74, 0x57, 0x69, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65,
4109
        0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
4110
        0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
4111
        0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c,
4112
        0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x82, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74,
4113
        0x65, 0x43, 0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
4114
        0x73, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74,
4115
        0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43,
4116
        0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x68, 0x61,
4117
        0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
4118
        0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72,
4119
        0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x63, 0x74,
4120
        0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1a, 0x0a, 0x18, 0x55,
4121
        0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
4122
        0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x41, 0x6c,
4123
        0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0a,
4124
        0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
4125
        0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4d, 0x61,
4126
        0x70, 0x52, 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x4d, 0x61, 0x70, 0x73, 0x22, 0x44, 0x0a, 0x12,
4127
        0x41, 0x64, 0x64, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4128
        0x73, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x73,
4129
        0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41,
4130
        0x6c, 0x69, 0x61, 0x73, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x4d, 0x61,
4131
        0x70, 0x73, 0x22, 0x46, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x69, 0x61,
4132
        0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x0a, 0x61, 0x6c,
4133
        0x69, 0x61, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f,
4134
        0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4d, 0x61, 0x70, 0x52,
4135
        0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x4d, 0x61, 0x70, 0x73, 0x22, 0x47, 0x0a, 0x15, 0x44, 0x65,
4136
        0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
4137
        0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x0a, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6d, 0x61, 0x70,
4138
        0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e,
4139
        0x41, 0x6c, 0x69, 0x61, 0x73, 0x4d, 0x61, 0x70, 0x52, 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x4d,
4140
        0x61, 0x70, 0x73, 0x2a, 0x81, 0x04, 0x0a, 0x0d, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x44,
4141
        0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e,
4142
        0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x10,
4143
        0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x43, 0x4f, 0x44,
4144
        0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x49, 0x4e, 0x4b, 0x5f, 0x4e, 0x4f, 0x54, 0x5f,
4145
        0x45, 0x4c, 0x49, 0x47, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x4e,
4146
        0x5f, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x04,
4147
        0x12, 0x14, 0x0a, 0x10, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x45, 0x58, 0x43, 0x45, 0x45, 0x44, 0x53,
4148
        0x5f, 0x4d, 0x41, 0x58, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46,
4149
        0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x06,
4150
        0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x46,
4151
        0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x48, 0x54, 0x4c, 0x43,
4152
        0x5f, 0x41, 0x44, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x08, 0x12, 0x15, 0x0a,
4153
        0x11, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x53, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c,
4154
        0x45, 0x44, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f,
4155
        0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x0a, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e,
4156
        0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x4e, 0x44, 0x45, 0x52, 0x50, 0x41, 0x49, 0x44, 0x10,
4157
        0x0b, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x45, 0x58, 0x50,
4158
        0x49, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x53, 0x4f, 0x4f, 0x4e, 0x10, 0x0c, 0x12, 0x14,
4159
        0x0a, 0x10, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x4f, 0x50,
4160
        0x45, 0x4e, 0x10, 0x0d, 0x12, 0x17, 0x0a, 0x13, 0x4d, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x56, 0x4f,
4161
        0x49, 0x43, 0x45, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x0e, 0x12, 0x14, 0x0a,
4162
        0x10, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43,
4163
        0x48, 0x10, 0x0f, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x45, 0x54, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c,
4164
        0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x10, 0x12, 0x15, 0x0a, 0x11, 0x53,
4165
        0x45, 0x54, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x4c, 0x4f, 0x57,
4166
        0x10, 0x11, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x50, 0x41,
4167
        0x49, 0x44, 0x10, 0x12, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f,
4168
        0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x13, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x56,
4169
        0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4b, 0x45, 0x59, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x14, 0x12, 0x13,
4170
        0x0a, 0x0f, 0x4d, 0x50, 0x50, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53,
4171
        0x53, 0x10, 0x15, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x49, 0x52, 0x43, 0x55, 0x4c, 0x41, 0x52, 0x5f,
4172
        0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x16, 0x2a, 0xae, 0x01, 0x0a, 0x0c, 0x50, 0x61, 0x79, 0x6d,
4173
        0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x5f, 0x46,
4174
        0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45,
4175
        0x45, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44,
4176
        0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x46, 0x41,
4177
        0x49, 0x4c, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x03, 0x12,
4178
        0x10, 0x0a, 0x0c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
4179
        0x04, 0x12, 0x24, 0x0a, 0x20, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x43, 0x4f,
4180
        0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45,
4181
        0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0x05, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x41, 0x49, 0x4c, 0x45,
4182
        0x44, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x42,
4183
        0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x06, 0x2a, 0x51, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f,
4184
        0x6c, 0x76, 0x65, 0x48, 0x6f, 0x6c, 0x64, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x41, 0x63,
4185
        0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x10, 0x00,
4186
        0x12, 0x08, 0x0a, 0x04, 0x46, 0x41, 0x49, 0x4c, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45,
4187
        0x53, 0x55, 0x4d, 0x45, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x45, 0x53, 0x55, 0x4d, 0x45,
4188
        0x5f, 0x4d, 0x4f, 0x44, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x35, 0x0a, 0x10, 0x43,
4189
        0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
4190
        0x0a, 0x0a, 0x06, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44,
4191
        0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f,
4192
        0x10, 0x02, 0x32, 0xe8, 0x0d, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x40, 0x0a,
4193
        0x0d, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x32, 0x12, 0x1d,
4194
        0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x50,
4195
        0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e,
4196
        0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12,
4197
        0x42, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x56,
4198
        0x32, 0x12, 0x1e, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72,
4199
        0x61, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
4200
        0x74, 0x1a, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e,
4201
        0x74, 0x30, 0x01, 0x12, 0x42, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6d,
4202
        0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63,
4203
        0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65,
4204
        0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61,
4205
        0x79, 0x6d, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x4b, 0x0a, 0x10, 0x45, 0x73, 0x74, 0x69, 0x6d,
4206
        0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x65, 0x65, 0x12, 0x1a, 0x2e, 0x72, 0x6f,
4207
        0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x65, 0x65,
4208
        0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
4209
        0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70,
4210
        0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f,
4211
        0x75, 0x74, 0x65, 0x12, 0x1d, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e,
4212
        0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
4213
        0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x53,
4214
        0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
4215
        0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x12, 0x42, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x54,
4216
        0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x56, 0x32, 0x12, 0x1d, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65,
4217
        0x72, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65,
4218
        0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e,
4219
        0x48, 0x54, 0x4c, 0x43, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x64, 0x0a, 0x13, 0x52,
4220
        0x65, 0x73, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72,
4221
        0x6f, 0x6c, 0x12, 0x25, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x52,
4222
        0x65, 0x73, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72,
4223
        0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x6f, 0x75, 0x74,
4224
        0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69,
4225
        0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4226
        0x65, 0x12, 0x64, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4227
        0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x25, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65,
4228
        0x72, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4229
        0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
4230
        0x26, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72,
4231
        0x79, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52,
4232
        0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x15, 0x58, 0x49, 0x6d, 0x70, 0x6f,
4233
        0x72, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c,
4234
        0x12, 0x27, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x58, 0x49, 0x6d,
4235
        0x70, 0x6f, 0x72, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72,
4236
        0x6f, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x72, 0x6f, 0x75, 0x74,
4237
        0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x58, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x69, 0x73,
4238
        0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f,
4239
        0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f,
4240
        0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x29,
4241
        0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x69,
4242
        0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66,
4243
        0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x6f, 0x75, 0x74,
4244
        0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
4245
        0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73,
4246
        0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x70, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73,
4247
        0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
4248
        0x12, 0x29, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x74,
4249
        0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f,
4250
        0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x6f,
4251
        0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x69, 0x73, 0x73, 0x69,
4252
        0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
4253
        0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79,
4254
        0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x2e, 0x72, 0x6f,
4255
        0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f,
4256
        0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
4257
        0x23, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72,
4258
        0x79, 0x50, 0x72, 0x6f, 0x62, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70,
4259
        0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x75,
4260
        0x74, 0x65, 0x12, 0x1c, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x42,
4261
        0x75, 0x69, 0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4262
        0x1a, 0x1d, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x69,
4263
        0x6c, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4264
        0x54, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x48, 0x74, 0x6c, 0x63,
4265
        0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72,
4266
        0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x48, 0x74, 0x6c, 0x63,
4267
        0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e,
4268
        0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x74, 0x6c, 0x63, 0x45, 0x76,
4269
        0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x4d, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79,
4270
        0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63,
4271
        0x2e, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
4272
        0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e,
4273
        0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x03, 0x88,
4274
        0x02, 0x01, 0x30, 0x01, 0x12, 0x4f, 0x0a, 0x0c, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x61, 0x79,
4275
        0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63,
4276
        0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71,
4277
        0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63,
4278
        0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x03,
4279
        0x88, 0x02, 0x01, 0x30, 0x01, 0x12, 0x66, 0x0a, 0x0f, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x74,
4280
        0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x27, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65,
4281
        0x72, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x48, 0x74, 0x6c, 0x63,
4282
        0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
4283
        0x65, 0x1a, 0x26, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f,
4284
        0x72, 0x77, 0x61, 0x72, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65,
4285
        0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x28, 0x01, 0x30, 0x01, 0x12, 0x5b, 0x0a,
4286
        0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
4287
        0x73, 0x12, 0x22, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70,
4288
        0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65,
4289
        0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70,
4290
        0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74,
4291
        0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x14, 0x58, 0x41,
4292
        0x64, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73,
4293
        0x65, 0x73, 0x12, 0x1c, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x41,
4294
        0x64, 0x64, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
4295
        0x1a, 0x1d, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64,
4296
        0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
4297
        0x5c, 0x0a, 0x17, 0x58, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43,
4298
        0x68, 0x61, 0x6e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x72, 0x6f, 0x75,
4299
        0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x69,
4300
        0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x72, 0x6f,
4301
        0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c,
4302
        0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x31, 0x5a,
4303
        0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68,
4304
        0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6c, 0x6e, 0x64,
4305
        0x2f, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x72, 0x70, 0x63,
4306
        0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
4307
}
4308

4309
var (
4310
        file_routerrpc_router_proto_rawDescOnce sync.Once
4311
        file_routerrpc_router_proto_rawDescData = file_routerrpc_router_proto_rawDesc
4312
)
4313

4314
func file_routerrpc_router_proto_rawDescGZIP() []byte {
×
4315
        file_routerrpc_router_proto_rawDescOnce.Do(func() {
×
4316
                file_routerrpc_router_proto_rawDescData = protoimpl.X.CompressGZIP(file_routerrpc_router_proto_rawDescData)
×
4317
        })
×
4318
        return file_routerrpc_router_proto_rawDescData
×
4319
}
4320

4321
var file_routerrpc_router_proto_enumTypes = make([]protoimpl.EnumInfo, 6)
4322
var file_routerrpc_router_proto_msgTypes = make([]protoimpl.MessageInfo, 52)
4323
var file_routerrpc_router_proto_goTypes = []interface{}{
4324
        (FailureDetail)(0),                         // 0: routerrpc.FailureDetail
4325
        (PaymentState)(0),                          // 1: routerrpc.PaymentState
4326
        (ResolveHoldForwardAction)(0),              // 2: routerrpc.ResolveHoldForwardAction
4327
        (ChanStatusAction)(0),                      // 3: routerrpc.ChanStatusAction
4328
        (MissionControlConfig_ProbabilityModel)(0), // 4: routerrpc.MissionControlConfig.ProbabilityModel
4329
        (HtlcEvent_EventType)(0),                   // 5: routerrpc.HtlcEvent.EventType
4330
        (*SendPaymentRequest)(nil),                 // 6: routerrpc.SendPaymentRequest
4331
        (*TrackPaymentRequest)(nil),                // 7: routerrpc.TrackPaymentRequest
4332
        (*TrackPaymentsRequest)(nil),               // 8: routerrpc.TrackPaymentsRequest
4333
        (*RouteFeeRequest)(nil),                    // 9: routerrpc.RouteFeeRequest
4334
        (*RouteFeeResponse)(nil),                   // 10: routerrpc.RouteFeeResponse
4335
        (*SendToRouteRequest)(nil),                 // 11: routerrpc.SendToRouteRequest
4336
        (*SendToRouteResponse)(nil),                // 12: routerrpc.SendToRouteResponse
4337
        (*ResetMissionControlRequest)(nil),         // 13: routerrpc.ResetMissionControlRequest
4338
        (*ResetMissionControlResponse)(nil),        // 14: routerrpc.ResetMissionControlResponse
4339
        (*QueryMissionControlRequest)(nil),         // 15: routerrpc.QueryMissionControlRequest
4340
        (*QueryMissionControlResponse)(nil),        // 16: routerrpc.QueryMissionControlResponse
4341
        (*XImportMissionControlRequest)(nil),       // 17: routerrpc.XImportMissionControlRequest
4342
        (*XImportMissionControlResponse)(nil),      // 18: routerrpc.XImportMissionControlResponse
4343
        (*PairHistory)(nil),                        // 19: routerrpc.PairHistory
4344
        (*PairData)(nil),                           // 20: routerrpc.PairData
4345
        (*GetMissionControlConfigRequest)(nil),     // 21: routerrpc.GetMissionControlConfigRequest
4346
        (*GetMissionControlConfigResponse)(nil),    // 22: routerrpc.GetMissionControlConfigResponse
4347
        (*SetMissionControlConfigRequest)(nil),     // 23: routerrpc.SetMissionControlConfigRequest
4348
        (*SetMissionControlConfigResponse)(nil),    // 24: routerrpc.SetMissionControlConfigResponse
4349
        (*MissionControlConfig)(nil),               // 25: routerrpc.MissionControlConfig
4350
        (*BimodalParameters)(nil),                  // 26: routerrpc.BimodalParameters
4351
        (*AprioriParameters)(nil),                  // 27: routerrpc.AprioriParameters
4352
        (*QueryProbabilityRequest)(nil),            // 28: routerrpc.QueryProbabilityRequest
4353
        (*QueryProbabilityResponse)(nil),           // 29: routerrpc.QueryProbabilityResponse
4354
        (*BuildRouteRequest)(nil),                  // 30: routerrpc.BuildRouteRequest
4355
        (*BuildRouteResponse)(nil),                 // 31: routerrpc.BuildRouteResponse
4356
        (*SubscribeHtlcEventsRequest)(nil),         // 32: routerrpc.SubscribeHtlcEventsRequest
4357
        (*HtlcEvent)(nil),                          // 33: routerrpc.HtlcEvent
4358
        (*HtlcInfo)(nil),                           // 34: routerrpc.HtlcInfo
4359
        (*ForwardEvent)(nil),                       // 35: routerrpc.ForwardEvent
4360
        (*ForwardFailEvent)(nil),                   // 36: routerrpc.ForwardFailEvent
4361
        (*SettleEvent)(nil),                        // 37: routerrpc.SettleEvent
4362
        (*FinalHtlcEvent)(nil),                     // 38: routerrpc.FinalHtlcEvent
4363
        (*SubscribedEvent)(nil),                    // 39: routerrpc.SubscribedEvent
4364
        (*LinkFailEvent)(nil),                      // 40: routerrpc.LinkFailEvent
4365
        (*PaymentStatus)(nil),                      // 41: routerrpc.PaymentStatus
4366
        (*CircuitKey)(nil),                         // 42: routerrpc.CircuitKey
4367
        (*ForwardHtlcInterceptRequest)(nil),        // 43: routerrpc.ForwardHtlcInterceptRequest
4368
        (*ForwardHtlcInterceptResponse)(nil),       // 44: routerrpc.ForwardHtlcInterceptResponse
4369
        (*UpdateChanStatusRequest)(nil),            // 45: routerrpc.UpdateChanStatusRequest
4370
        (*UpdateChanStatusResponse)(nil),           // 46: routerrpc.UpdateChanStatusResponse
4371
        (*AddAliasesRequest)(nil),                  // 47: routerrpc.AddAliasesRequest
4372
        (*AddAliasesResponse)(nil),                 // 48: routerrpc.AddAliasesResponse
4373
        (*DeleteAliasesRequest)(nil),               // 49: routerrpc.DeleteAliasesRequest
4374
        (*DeleteAliasesResponse)(nil),              // 50: routerrpc.DeleteAliasesResponse
4375
        nil,                                        // 51: routerrpc.SendPaymentRequest.DestCustomRecordsEntry
4376
        nil,                                        // 52: routerrpc.SendPaymentRequest.FirstHopCustomRecordsEntry
4377
        nil,                                        // 53: routerrpc.SendToRouteRequest.FirstHopCustomRecordsEntry
4378
        nil,                                        // 54: routerrpc.BuildRouteRequest.FirstHopCustomRecordsEntry
4379
        nil,                                        // 55: routerrpc.ForwardHtlcInterceptRequest.CustomRecordsEntry
4380
        nil,                                        // 56: routerrpc.ForwardHtlcInterceptRequest.InWireCustomRecordsEntry
4381
        nil,                                        // 57: routerrpc.ForwardHtlcInterceptResponse.OutWireCustomRecordsEntry
4382
        (*lnrpc.RouteHint)(nil),                    // 58: lnrpc.RouteHint
4383
        (lnrpc.FeatureBit)(0),                      // 59: lnrpc.FeatureBit
4384
        (lnrpc.PaymentFailureReason)(0),            // 60: lnrpc.PaymentFailureReason
4385
        (*lnrpc.Route)(nil),                        // 61: lnrpc.Route
4386
        (*lnrpc.Failure)(nil),                      // 62: lnrpc.Failure
4387
        (lnrpc.Failure_FailureCode)(0),             // 63: lnrpc.Failure.FailureCode
4388
        (*lnrpc.HTLCAttempt)(nil),                  // 64: lnrpc.HTLCAttempt
4389
        (*lnrpc.ChannelPoint)(nil),                 // 65: lnrpc.ChannelPoint
4390
        (*lnrpc.AliasMap)(nil),                     // 66: lnrpc.AliasMap
4391
        (*lnrpc.Payment)(nil),                      // 67: lnrpc.Payment
4392
}
4393
var file_routerrpc_router_proto_depIdxs = []int32{
4394
        58, // 0: routerrpc.SendPaymentRequest.route_hints:type_name -> lnrpc.RouteHint
4395
        51, // 1: routerrpc.SendPaymentRequest.dest_custom_records:type_name -> routerrpc.SendPaymentRequest.DestCustomRecordsEntry
4396
        59, // 2: routerrpc.SendPaymentRequest.dest_features:type_name -> lnrpc.FeatureBit
4397
        52, // 3: routerrpc.SendPaymentRequest.first_hop_custom_records:type_name -> routerrpc.SendPaymentRequest.FirstHopCustomRecordsEntry
4398
        60, // 4: routerrpc.RouteFeeResponse.failure_reason:type_name -> lnrpc.PaymentFailureReason
4399
        61, // 5: routerrpc.SendToRouteRequest.route:type_name -> lnrpc.Route
4400
        53, // 6: routerrpc.SendToRouteRequest.first_hop_custom_records:type_name -> routerrpc.SendToRouteRequest.FirstHopCustomRecordsEntry
4401
        62, // 7: routerrpc.SendToRouteResponse.failure:type_name -> lnrpc.Failure
4402
        19, // 8: routerrpc.QueryMissionControlResponse.pairs:type_name -> routerrpc.PairHistory
4403
        19, // 9: routerrpc.XImportMissionControlRequest.pairs:type_name -> routerrpc.PairHistory
4404
        20, // 10: routerrpc.PairHistory.history:type_name -> routerrpc.PairData
4405
        25, // 11: routerrpc.GetMissionControlConfigResponse.config:type_name -> routerrpc.MissionControlConfig
4406
        25, // 12: routerrpc.SetMissionControlConfigRequest.config:type_name -> routerrpc.MissionControlConfig
4407
        4,  // 13: routerrpc.MissionControlConfig.model:type_name -> routerrpc.MissionControlConfig.ProbabilityModel
4408
        27, // 14: routerrpc.MissionControlConfig.apriori:type_name -> routerrpc.AprioriParameters
4409
        26, // 15: routerrpc.MissionControlConfig.bimodal:type_name -> routerrpc.BimodalParameters
4410
        20, // 16: routerrpc.QueryProbabilityResponse.history:type_name -> routerrpc.PairData
4411
        54, // 17: routerrpc.BuildRouteRequest.first_hop_custom_records:type_name -> routerrpc.BuildRouteRequest.FirstHopCustomRecordsEntry
4412
        61, // 18: routerrpc.BuildRouteResponse.route:type_name -> lnrpc.Route
4413
        5,  // 19: routerrpc.HtlcEvent.event_type:type_name -> routerrpc.HtlcEvent.EventType
4414
        35, // 20: routerrpc.HtlcEvent.forward_event:type_name -> routerrpc.ForwardEvent
4415
        36, // 21: routerrpc.HtlcEvent.forward_fail_event:type_name -> routerrpc.ForwardFailEvent
4416
        37, // 22: routerrpc.HtlcEvent.settle_event:type_name -> routerrpc.SettleEvent
4417
        40, // 23: routerrpc.HtlcEvent.link_fail_event:type_name -> routerrpc.LinkFailEvent
4418
        39, // 24: routerrpc.HtlcEvent.subscribed_event:type_name -> routerrpc.SubscribedEvent
4419
        38, // 25: routerrpc.HtlcEvent.final_htlc_event:type_name -> routerrpc.FinalHtlcEvent
4420
        34, // 26: routerrpc.ForwardEvent.info:type_name -> routerrpc.HtlcInfo
4421
        34, // 27: routerrpc.LinkFailEvent.info:type_name -> routerrpc.HtlcInfo
4422
        63, // 28: routerrpc.LinkFailEvent.wire_failure:type_name -> lnrpc.Failure.FailureCode
4423
        0,  // 29: routerrpc.LinkFailEvent.failure_detail:type_name -> routerrpc.FailureDetail
4424
        1,  // 30: routerrpc.PaymentStatus.state:type_name -> routerrpc.PaymentState
4425
        64, // 31: routerrpc.PaymentStatus.htlcs:type_name -> lnrpc.HTLCAttempt
4426
        42, // 32: routerrpc.ForwardHtlcInterceptRequest.incoming_circuit_key:type_name -> routerrpc.CircuitKey
4427
        55, // 33: routerrpc.ForwardHtlcInterceptRequest.custom_records:type_name -> routerrpc.ForwardHtlcInterceptRequest.CustomRecordsEntry
4428
        56, // 34: routerrpc.ForwardHtlcInterceptRequest.in_wire_custom_records:type_name -> routerrpc.ForwardHtlcInterceptRequest.InWireCustomRecordsEntry
4429
        42, // 35: routerrpc.ForwardHtlcInterceptResponse.incoming_circuit_key:type_name -> routerrpc.CircuitKey
4430
        2,  // 36: routerrpc.ForwardHtlcInterceptResponse.action:type_name -> routerrpc.ResolveHoldForwardAction
4431
        63, // 37: routerrpc.ForwardHtlcInterceptResponse.failure_code:type_name -> lnrpc.Failure.FailureCode
4432
        57, // 38: routerrpc.ForwardHtlcInterceptResponse.out_wire_custom_records:type_name -> routerrpc.ForwardHtlcInterceptResponse.OutWireCustomRecordsEntry
4433
        65, // 39: routerrpc.UpdateChanStatusRequest.chan_point:type_name -> lnrpc.ChannelPoint
4434
        3,  // 40: routerrpc.UpdateChanStatusRequest.action:type_name -> routerrpc.ChanStatusAction
4435
        66, // 41: routerrpc.AddAliasesRequest.alias_maps:type_name -> lnrpc.AliasMap
4436
        66, // 42: routerrpc.AddAliasesResponse.alias_maps:type_name -> lnrpc.AliasMap
4437
        66, // 43: routerrpc.DeleteAliasesRequest.alias_maps:type_name -> lnrpc.AliasMap
4438
        66, // 44: routerrpc.DeleteAliasesResponse.alias_maps:type_name -> lnrpc.AliasMap
4439
        6,  // 45: routerrpc.Router.SendPaymentV2:input_type -> routerrpc.SendPaymentRequest
4440
        7,  // 46: routerrpc.Router.TrackPaymentV2:input_type -> routerrpc.TrackPaymentRequest
4441
        8,  // 47: routerrpc.Router.TrackPayments:input_type -> routerrpc.TrackPaymentsRequest
4442
        9,  // 48: routerrpc.Router.EstimateRouteFee:input_type -> routerrpc.RouteFeeRequest
4443
        11, // 49: routerrpc.Router.SendToRoute:input_type -> routerrpc.SendToRouteRequest
4444
        11, // 50: routerrpc.Router.SendToRouteV2:input_type -> routerrpc.SendToRouteRequest
4445
        13, // 51: routerrpc.Router.ResetMissionControl:input_type -> routerrpc.ResetMissionControlRequest
4446
        15, // 52: routerrpc.Router.QueryMissionControl:input_type -> routerrpc.QueryMissionControlRequest
4447
        17, // 53: routerrpc.Router.XImportMissionControl:input_type -> routerrpc.XImportMissionControlRequest
4448
        21, // 54: routerrpc.Router.GetMissionControlConfig:input_type -> routerrpc.GetMissionControlConfigRequest
4449
        23, // 55: routerrpc.Router.SetMissionControlConfig:input_type -> routerrpc.SetMissionControlConfigRequest
4450
        28, // 56: routerrpc.Router.QueryProbability:input_type -> routerrpc.QueryProbabilityRequest
4451
        30, // 57: routerrpc.Router.BuildRoute:input_type -> routerrpc.BuildRouteRequest
4452
        32, // 58: routerrpc.Router.SubscribeHtlcEvents:input_type -> routerrpc.SubscribeHtlcEventsRequest
4453
        6,  // 59: routerrpc.Router.SendPayment:input_type -> routerrpc.SendPaymentRequest
4454
        7,  // 60: routerrpc.Router.TrackPayment:input_type -> routerrpc.TrackPaymentRequest
4455
        44, // 61: routerrpc.Router.HtlcInterceptor:input_type -> routerrpc.ForwardHtlcInterceptResponse
4456
        45, // 62: routerrpc.Router.UpdateChanStatus:input_type -> routerrpc.UpdateChanStatusRequest
4457
        47, // 63: routerrpc.Router.XAddLocalChanAliases:input_type -> routerrpc.AddAliasesRequest
4458
        49, // 64: routerrpc.Router.XDeleteLocalChanAliases:input_type -> routerrpc.DeleteAliasesRequest
4459
        67, // 65: routerrpc.Router.SendPaymentV2:output_type -> lnrpc.Payment
4460
        67, // 66: routerrpc.Router.TrackPaymentV2:output_type -> lnrpc.Payment
4461
        67, // 67: routerrpc.Router.TrackPayments:output_type -> lnrpc.Payment
4462
        10, // 68: routerrpc.Router.EstimateRouteFee:output_type -> routerrpc.RouteFeeResponse
4463
        12, // 69: routerrpc.Router.SendToRoute:output_type -> routerrpc.SendToRouteResponse
4464
        64, // 70: routerrpc.Router.SendToRouteV2:output_type -> lnrpc.HTLCAttempt
4465
        14, // 71: routerrpc.Router.ResetMissionControl:output_type -> routerrpc.ResetMissionControlResponse
4466
        16, // 72: routerrpc.Router.QueryMissionControl:output_type -> routerrpc.QueryMissionControlResponse
4467
        18, // 73: routerrpc.Router.XImportMissionControl:output_type -> routerrpc.XImportMissionControlResponse
4468
        22, // 74: routerrpc.Router.GetMissionControlConfig:output_type -> routerrpc.GetMissionControlConfigResponse
4469
        24, // 75: routerrpc.Router.SetMissionControlConfig:output_type -> routerrpc.SetMissionControlConfigResponse
4470
        29, // 76: routerrpc.Router.QueryProbability:output_type -> routerrpc.QueryProbabilityResponse
4471
        31, // 77: routerrpc.Router.BuildRoute:output_type -> routerrpc.BuildRouteResponse
4472
        33, // 78: routerrpc.Router.SubscribeHtlcEvents:output_type -> routerrpc.HtlcEvent
4473
        41, // 79: routerrpc.Router.SendPayment:output_type -> routerrpc.PaymentStatus
4474
        41, // 80: routerrpc.Router.TrackPayment:output_type -> routerrpc.PaymentStatus
4475
        43, // 81: routerrpc.Router.HtlcInterceptor:output_type -> routerrpc.ForwardHtlcInterceptRequest
4476
        46, // 82: routerrpc.Router.UpdateChanStatus:output_type -> routerrpc.UpdateChanStatusResponse
4477
        48, // 83: routerrpc.Router.XAddLocalChanAliases:output_type -> routerrpc.AddAliasesResponse
4478
        50, // 84: routerrpc.Router.XDeleteLocalChanAliases:output_type -> routerrpc.DeleteAliasesResponse
4479
        65, // [65:85] is the sub-list for method output_type
4480
        45, // [45:65] is the sub-list for method input_type
4481
        45, // [45:45] is the sub-list for extension type_name
4482
        45, // [45:45] is the sub-list for extension extendee
4483
        0,  // [0:45] is the sub-list for field type_name
4484
}
4485

4486
func init() { file_routerrpc_router_proto_init() }
4✔
4487
func file_routerrpc_router_proto_init() {
4✔
4488
        if File_routerrpc_router_proto != nil {
4✔
4489
                return
×
4490
        }
×
4491
        if !protoimpl.UnsafeEnabled {
4✔
4492
                file_routerrpc_router_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
×
4493
                        switch v := v.(*SendPaymentRequest); i {
×
4494
                        case 0:
×
4495
                                return &v.state
×
4496
                        case 1:
×
4497
                                return &v.sizeCache
×
4498
                        case 2:
×
4499
                                return &v.unknownFields
×
4500
                        default:
×
4501
                                return nil
×
4502
                        }
4503
                }
4504
                file_routerrpc_router_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
×
4505
                        switch v := v.(*TrackPaymentRequest); i {
×
4506
                        case 0:
×
4507
                                return &v.state
×
4508
                        case 1:
×
4509
                                return &v.sizeCache
×
4510
                        case 2:
×
4511
                                return &v.unknownFields
×
4512
                        default:
×
4513
                                return nil
×
4514
                        }
4515
                }
4516
                file_routerrpc_router_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
×
4517
                        switch v := v.(*TrackPaymentsRequest); i {
×
4518
                        case 0:
×
4519
                                return &v.state
×
4520
                        case 1:
×
4521
                                return &v.sizeCache
×
4522
                        case 2:
×
4523
                                return &v.unknownFields
×
4524
                        default:
×
4525
                                return nil
×
4526
                        }
4527
                }
4528
                file_routerrpc_router_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
×
4529
                        switch v := v.(*RouteFeeRequest); i {
×
4530
                        case 0:
×
4531
                                return &v.state
×
4532
                        case 1:
×
4533
                                return &v.sizeCache
×
4534
                        case 2:
×
4535
                                return &v.unknownFields
×
4536
                        default:
×
4537
                                return nil
×
4538
                        }
4539
                }
4540
                file_routerrpc_router_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
×
4541
                        switch v := v.(*RouteFeeResponse); i {
×
4542
                        case 0:
×
4543
                                return &v.state
×
4544
                        case 1:
×
4545
                                return &v.sizeCache
×
4546
                        case 2:
×
4547
                                return &v.unknownFields
×
4548
                        default:
×
4549
                                return nil
×
4550
                        }
4551
                }
4552
                file_routerrpc_router_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
×
4553
                        switch v := v.(*SendToRouteRequest); i {
×
4554
                        case 0:
×
4555
                                return &v.state
×
4556
                        case 1:
×
4557
                                return &v.sizeCache
×
4558
                        case 2:
×
4559
                                return &v.unknownFields
×
4560
                        default:
×
4561
                                return nil
×
4562
                        }
4563
                }
4564
                file_routerrpc_router_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
×
4565
                        switch v := v.(*SendToRouteResponse); i {
×
4566
                        case 0:
×
4567
                                return &v.state
×
4568
                        case 1:
×
4569
                                return &v.sizeCache
×
4570
                        case 2:
×
4571
                                return &v.unknownFields
×
4572
                        default:
×
4573
                                return nil
×
4574
                        }
4575
                }
4576
                file_routerrpc_router_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
×
4577
                        switch v := v.(*ResetMissionControlRequest); i {
×
4578
                        case 0:
×
4579
                                return &v.state
×
4580
                        case 1:
×
4581
                                return &v.sizeCache
×
4582
                        case 2:
×
4583
                                return &v.unknownFields
×
4584
                        default:
×
4585
                                return nil
×
4586
                        }
4587
                }
4588
                file_routerrpc_router_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
×
4589
                        switch v := v.(*ResetMissionControlResponse); i {
×
4590
                        case 0:
×
4591
                                return &v.state
×
4592
                        case 1:
×
4593
                                return &v.sizeCache
×
4594
                        case 2:
×
4595
                                return &v.unknownFields
×
4596
                        default:
×
4597
                                return nil
×
4598
                        }
4599
                }
4600
                file_routerrpc_router_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
×
4601
                        switch v := v.(*QueryMissionControlRequest); i {
×
4602
                        case 0:
×
4603
                                return &v.state
×
4604
                        case 1:
×
4605
                                return &v.sizeCache
×
4606
                        case 2:
×
4607
                                return &v.unknownFields
×
4608
                        default:
×
4609
                                return nil
×
4610
                        }
4611
                }
4612
                file_routerrpc_router_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
×
4613
                        switch v := v.(*QueryMissionControlResponse); i {
×
4614
                        case 0:
×
4615
                                return &v.state
×
4616
                        case 1:
×
4617
                                return &v.sizeCache
×
4618
                        case 2:
×
4619
                                return &v.unknownFields
×
4620
                        default:
×
4621
                                return nil
×
4622
                        }
4623
                }
4624
                file_routerrpc_router_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
×
4625
                        switch v := v.(*XImportMissionControlRequest); i {
×
4626
                        case 0:
×
4627
                                return &v.state
×
4628
                        case 1:
×
4629
                                return &v.sizeCache
×
4630
                        case 2:
×
4631
                                return &v.unknownFields
×
4632
                        default:
×
4633
                                return nil
×
4634
                        }
4635
                }
4636
                file_routerrpc_router_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
×
4637
                        switch v := v.(*XImportMissionControlResponse); i {
×
4638
                        case 0:
×
4639
                                return &v.state
×
4640
                        case 1:
×
4641
                                return &v.sizeCache
×
4642
                        case 2:
×
4643
                                return &v.unknownFields
×
4644
                        default:
×
4645
                                return nil
×
4646
                        }
4647
                }
4648
                file_routerrpc_router_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
×
4649
                        switch v := v.(*PairHistory); i {
×
4650
                        case 0:
×
4651
                                return &v.state
×
4652
                        case 1:
×
4653
                                return &v.sizeCache
×
4654
                        case 2:
×
4655
                                return &v.unknownFields
×
4656
                        default:
×
4657
                                return nil
×
4658
                        }
4659
                }
4660
                file_routerrpc_router_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
×
4661
                        switch v := v.(*PairData); i {
×
4662
                        case 0:
×
4663
                                return &v.state
×
4664
                        case 1:
×
4665
                                return &v.sizeCache
×
4666
                        case 2:
×
4667
                                return &v.unknownFields
×
4668
                        default:
×
4669
                                return nil
×
4670
                        }
4671
                }
4672
                file_routerrpc_router_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
×
4673
                        switch v := v.(*GetMissionControlConfigRequest); i {
×
4674
                        case 0:
×
4675
                                return &v.state
×
4676
                        case 1:
×
4677
                                return &v.sizeCache
×
4678
                        case 2:
×
4679
                                return &v.unknownFields
×
4680
                        default:
×
4681
                                return nil
×
4682
                        }
4683
                }
4684
                file_routerrpc_router_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
×
4685
                        switch v := v.(*GetMissionControlConfigResponse); i {
×
4686
                        case 0:
×
4687
                                return &v.state
×
4688
                        case 1:
×
4689
                                return &v.sizeCache
×
4690
                        case 2:
×
4691
                                return &v.unknownFields
×
4692
                        default:
×
4693
                                return nil
×
4694
                        }
4695
                }
4696
                file_routerrpc_router_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
×
4697
                        switch v := v.(*SetMissionControlConfigRequest); i {
×
4698
                        case 0:
×
4699
                                return &v.state
×
4700
                        case 1:
×
4701
                                return &v.sizeCache
×
4702
                        case 2:
×
4703
                                return &v.unknownFields
×
4704
                        default:
×
4705
                                return nil
×
4706
                        }
4707
                }
4708
                file_routerrpc_router_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
×
4709
                        switch v := v.(*SetMissionControlConfigResponse); i {
×
4710
                        case 0:
×
4711
                                return &v.state
×
4712
                        case 1:
×
4713
                                return &v.sizeCache
×
4714
                        case 2:
×
4715
                                return &v.unknownFields
×
4716
                        default:
×
4717
                                return nil
×
4718
                        }
4719
                }
4720
                file_routerrpc_router_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
×
4721
                        switch v := v.(*MissionControlConfig); i {
×
4722
                        case 0:
×
4723
                                return &v.state
×
4724
                        case 1:
×
4725
                                return &v.sizeCache
×
4726
                        case 2:
×
4727
                                return &v.unknownFields
×
4728
                        default:
×
4729
                                return nil
×
4730
                        }
4731
                }
4732
                file_routerrpc_router_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
×
4733
                        switch v := v.(*BimodalParameters); i {
×
4734
                        case 0:
×
4735
                                return &v.state
×
4736
                        case 1:
×
4737
                                return &v.sizeCache
×
4738
                        case 2:
×
4739
                                return &v.unknownFields
×
4740
                        default:
×
4741
                                return nil
×
4742
                        }
4743
                }
4744
                file_routerrpc_router_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
×
4745
                        switch v := v.(*AprioriParameters); i {
×
4746
                        case 0:
×
4747
                                return &v.state
×
4748
                        case 1:
×
4749
                                return &v.sizeCache
×
4750
                        case 2:
×
4751
                                return &v.unknownFields
×
4752
                        default:
×
4753
                                return nil
×
4754
                        }
4755
                }
4756
                file_routerrpc_router_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
×
4757
                        switch v := v.(*QueryProbabilityRequest); i {
×
4758
                        case 0:
×
4759
                                return &v.state
×
4760
                        case 1:
×
4761
                                return &v.sizeCache
×
4762
                        case 2:
×
4763
                                return &v.unknownFields
×
4764
                        default:
×
4765
                                return nil
×
4766
                        }
4767
                }
4768
                file_routerrpc_router_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
×
4769
                        switch v := v.(*QueryProbabilityResponse); i {
×
4770
                        case 0:
×
4771
                                return &v.state
×
4772
                        case 1:
×
4773
                                return &v.sizeCache
×
4774
                        case 2:
×
4775
                                return &v.unknownFields
×
4776
                        default:
×
4777
                                return nil
×
4778
                        }
4779
                }
4780
                file_routerrpc_router_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
×
4781
                        switch v := v.(*BuildRouteRequest); i {
×
4782
                        case 0:
×
4783
                                return &v.state
×
4784
                        case 1:
×
4785
                                return &v.sizeCache
×
4786
                        case 2:
×
4787
                                return &v.unknownFields
×
4788
                        default:
×
4789
                                return nil
×
4790
                        }
4791
                }
4792
                file_routerrpc_router_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
×
4793
                        switch v := v.(*BuildRouteResponse); i {
×
4794
                        case 0:
×
4795
                                return &v.state
×
4796
                        case 1:
×
4797
                                return &v.sizeCache
×
4798
                        case 2:
×
4799
                                return &v.unknownFields
×
4800
                        default:
×
4801
                                return nil
×
4802
                        }
4803
                }
4804
                file_routerrpc_router_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
×
4805
                        switch v := v.(*SubscribeHtlcEventsRequest); i {
×
4806
                        case 0:
×
4807
                                return &v.state
×
4808
                        case 1:
×
4809
                                return &v.sizeCache
×
4810
                        case 2:
×
4811
                                return &v.unknownFields
×
4812
                        default:
×
4813
                                return nil
×
4814
                        }
4815
                }
4816
                file_routerrpc_router_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
×
4817
                        switch v := v.(*HtlcEvent); i {
×
4818
                        case 0:
×
4819
                                return &v.state
×
4820
                        case 1:
×
4821
                                return &v.sizeCache
×
4822
                        case 2:
×
4823
                                return &v.unknownFields
×
4824
                        default:
×
4825
                                return nil
×
4826
                        }
4827
                }
4828
                file_routerrpc_router_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
×
4829
                        switch v := v.(*HtlcInfo); i {
×
4830
                        case 0:
×
4831
                                return &v.state
×
4832
                        case 1:
×
4833
                                return &v.sizeCache
×
4834
                        case 2:
×
4835
                                return &v.unknownFields
×
4836
                        default:
×
4837
                                return nil
×
4838
                        }
4839
                }
4840
                file_routerrpc_router_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
×
4841
                        switch v := v.(*ForwardEvent); i {
×
4842
                        case 0:
×
4843
                                return &v.state
×
4844
                        case 1:
×
4845
                                return &v.sizeCache
×
4846
                        case 2:
×
4847
                                return &v.unknownFields
×
4848
                        default:
×
4849
                                return nil
×
4850
                        }
4851
                }
4852
                file_routerrpc_router_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
×
4853
                        switch v := v.(*ForwardFailEvent); i {
×
4854
                        case 0:
×
4855
                                return &v.state
×
4856
                        case 1:
×
4857
                                return &v.sizeCache
×
4858
                        case 2:
×
4859
                                return &v.unknownFields
×
4860
                        default:
×
4861
                                return nil
×
4862
                        }
4863
                }
4864
                file_routerrpc_router_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
×
4865
                        switch v := v.(*SettleEvent); i {
×
4866
                        case 0:
×
4867
                                return &v.state
×
4868
                        case 1:
×
4869
                                return &v.sizeCache
×
4870
                        case 2:
×
4871
                                return &v.unknownFields
×
4872
                        default:
×
4873
                                return nil
×
4874
                        }
4875
                }
4876
                file_routerrpc_router_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
×
4877
                        switch v := v.(*FinalHtlcEvent); i {
×
4878
                        case 0:
×
4879
                                return &v.state
×
4880
                        case 1:
×
4881
                                return &v.sizeCache
×
4882
                        case 2:
×
4883
                                return &v.unknownFields
×
4884
                        default:
×
4885
                                return nil
×
4886
                        }
4887
                }
4888
                file_routerrpc_router_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
×
4889
                        switch v := v.(*SubscribedEvent); i {
×
4890
                        case 0:
×
4891
                                return &v.state
×
4892
                        case 1:
×
4893
                                return &v.sizeCache
×
4894
                        case 2:
×
4895
                                return &v.unknownFields
×
4896
                        default:
×
4897
                                return nil
×
4898
                        }
4899
                }
4900
                file_routerrpc_router_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
×
4901
                        switch v := v.(*LinkFailEvent); i {
×
4902
                        case 0:
×
4903
                                return &v.state
×
4904
                        case 1:
×
4905
                                return &v.sizeCache
×
4906
                        case 2:
×
4907
                                return &v.unknownFields
×
4908
                        default:
×
4909
                                return nil
×
4910
                        }
4911
                }
4912
                file_routerrpc_router_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
×
4913
                        switch v := v.(*PaymentStatus); i {
×
4914
                        case 0:
×
4915
                                return &v.state
×
4916
                        case 1:
×
4917
                                return &v.sizeCache
×
4918
                        case 2:
×
4919
                                return &v.unknownFields
×
4920
                        default:
×
4921
                                return nil
×
4922
                        }
4923
                }
4924
                file_routerrpc_router_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
×
4925
                        switch v := v.(*CircuitKey); i {
×
4926
                        case 0:
×
4927
                                return &v.state
×
4928
                        case 1:
×
4929
                                return &v.sizeCache
×
4930
                        case 2:
×
4931
                                return &v.unknownFields
×
4932
                        default:
×
4933
                                return nil
×
4934
                        }
4935
                }
4936
                file_routerrpc_router_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
×
4937
                        switch v := v.(*ForwardHtlcInterceptRequest); i {
×
4938
                        case 0:
×
4939
                                return &v.state
×
4940
                        case 1:
×
4941
                                return &v.sizeCache
×
4942
                        case 2:
×
4943
                                return &v.unknownFields
×
4944
                        default:
×
4945
                                return nil
×
4946
                        }
4947
                }
4948
                file_routerrpc_router_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
×
4949
                        switch v := v.(*ForwardHtlcInterceptResponse); i {
×
4950
                        case 0:
×
4951
                                return &v.state
×
4952
                        case 1:
×
4953
                                return &v.sizeCache
×
4954
                        case 2:
×
4955
                                return &v.unknownFields
×
4956
                        default:
×
4957
                                return nil
×
4958
                        }
4959
                }
4960
                file_routerrpc_router_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
×
4961
                        switch v := v.(*UpdateChanStatusRequest); i {
×
4962
                        case 0:
×
4963
                                return &v.state
×
4964
                        case 1:
×
4965
                                return &v.sizeCache
×
4966
                        case 2:
×
4967
                                return &v.unknownFields
×
4968
                        default:
×
4969
                                return nil
×
4970
                        }
4971
                }
4972
                file_routerrpc_router_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
×
4973
                        switch v := v.(*UpdateChanStatusResponse); i {
×
4974
                        case 0:
×
4975
                                return &v.state
×
4976
                        case 1:
×
4977
                                return &v.sizeCache
×
4978
                        case 2:
×
4979
                                return &v.unknownFields
×
4980
                        default:
×
4981
                                return nil
×
4982
                        }
4983
                }
4984
                file_routerrpc_router_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
×
4985
                        switch v := v.(*AddAliasesRequest); i {
×
4986
                        case 0:
×
4987
                                return &v.state
×
4988
                        case 1:
×
4989
                                return &v.sizeCache
×
4990
                        case 2:
×
4991
                                return &v.unknownFields
×
4992
                        default:
×
4993
                                return nil
×
4994
                        }
4995
                }
4996
                file_routerrpc_router_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
×
4997
                        switch v := v.(*AddAliasesResponse); i {
×
4998
                        case 0:
×
4999
                                return &v.state
×
5000
                        case 1:
×
5001
                                return &v.sizeCache
×
5002
                        case 2:
×
5003
                                return &v.unknownFields
×
5004
                        default:
×
5005
                                return nil
×
5006
                        }
5007
                }
5008
                file_routerrpc_router_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
×
5009
                        switch v := v.(*DeleteAliasesRequest); i {
×
5010
                        case 0:
×
5011
                                return &v.state
×
5012
                        case 1:
×
5013
                                return &v.sizeCache
×
5014
                        case 2:
×
5015
                                return &v.unknownFields
×
5016
                        default:
×
5017
                                return nil
×
5018
                        }
5019
                }
5020
                file_routerrpc_router_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
×
5021
                        switch v := v.(*DeleteAliasesResponse); i {
×
5022
                        case 0:
×
5023
                                return &v.state
×
5024
                        case 1:
×
5025
                                return &v.sizeCache
×
5026
                        case 2:
×
5027
                                return &v.unknownFields
×
5028
                        default:
×
5029
                                return nil
×
5030
                        }
5031
                }
5032
        }
5033
        file_routerrpc_router_proto_msgTypes[19].OneofWrappers = []interface{}{
4✔
5034
                (*MissionControlConfig_Apriori)(nil),
4✔
5035
                (*MissionControlConfig_Bimodal)(nil),
4✔
5036
        }
4✔
5037
        file_routerrpc_router_proto_msgTypes[27].OneofWrappers = []interface{}{
4✔
5038
                (*HtlcEvent_ForwardEvent)(nil),
4✔
5039
                (*HtlcEvent_ForwardFailEvent)(nil),
4✔
5040
                (*HtlcEvent_SettleEvent)(nil),
4✔
5041
                (*HtlcEvent_LinkFailEvent)(nil),
4✔
5042
                (*HtlcEvent_SubscribedEvent)(nil),
4✔
5043
                (*HtlcEvent_FinalHtlcEvent)(nil),
4✔
5044
        }
4✔
5045
        type x struct{}
4✔
5046
        out := protoimpl.TypeBuilder{
4✔
5047
                File: protoimpl.DescBuilder{
4✔
5048
                        GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
4✔
5049
                        RawDescriptor: file_routerrpc_router_proto_rawDesc,
4✔
5050
                        NumEnums:      6,
4✔
5051
                        NumMessages:   52,
4✔
5052
                        NumExtensions: 0,
4✔
5053
                        NumServices:   1,
4✔
5054
                },
4✔
5055
                GoTypes:           file_routerrpc_router_proto_goTypes,
4✔
5056
                DependencyIndexes: file_routerrpc_router_proto_depIdxs,
4✔
5057
                EnumInfos:         file_routerrpc_router_proto_enumTypes,
4✔
5058
                MessageInfos:      file_routerrpc_router_proto_msgTypes,
4✔
5059
        }.Build()
4✔
5060
        File_routerrpc_router_proto = out.File
4✔
5061
        file_routerrpc_router_proto_rawDesc = nil
4✔
5062
        file_routerrpc_router_proto_goTypes = nil
4✔
5063
        file_routerrpc_router_proto_depIdxs = nil
4✔
5064
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc