github.com/decred/dcrlnd@v0.7.6/lnrpc/lightning.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // versions: 3 // protoc-gen-go v1.31.0 4 // protoc v3.4.0 5 // source: lightning.proto 6 7 package lnrpc 8 9 import ( 10 context "context" 11 grpc "google.golang.org/grpc" 12 codes "google.golang.org/grpc/codes" 13 status "google.golang.org/grpc/status" 14 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 15 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 16 reflect "reflect" 17 sync "sync" 18 ) 19 20 const ( 21 // Verify that this generated code is sufficiently up-to-date. 22 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 23 // Verify that runtime/protoimpl is sufficiently up-to-date. 24 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 25 ) 26 27 // `AddressType` has to be one of: 28 // 29 // - `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0) 30 // - `np2wkh`: Pay to nested witness key hash (`NESTED_PUBKEY_HASH` = 1) 31 // - `p2pkh`: Pay to pubkey hash (`PUBKEY_HASH` = 2) 32 // - `p2sh`: Pay to script hash (`SCRIPT_HASH` = 3) 33 type AddressType int32 34 35 const ( 36 AddressType_WITNESS_PUBKEY_HASH AddressType = 0 37 AddressType_NESTED_PUBKEY_HASH AddressType = 1 38 AddressType_PUBKEY_HASH AddressType = 2 39 AddressType_SCRIPT_HASH AddressType = 3 40 AddressType_UNUSED_PUBKEY_HASH AddressType = 4 41 ) 42 43 // Enum value maps for AddressType. 44 var ( 45 AddressType_name = map[int32]string{ 46 0: "WITNESS_PUBKEY_HASH", 47 1: "NESTED_PUBKEY_HASH", 48 2: "PUBKEY_HASH", 49 3: "SCRIPT_HASH", 50 4: "UNUSED_PUBKEY_HASH", 51 } 52 AddressType_value = map[string]int32{ 53 "WITNESS_PUBKEY_HASH": 0, 54 "NESTED_PUBKEY_HASH": 1, 55 "PUBKEY_HASH": 2, 56 "SCRIPT_HASH": 3, 57 "UNUSED_PUBKEY_HASH": 4, 58 } 59 ) 60 61 func (x AddressType) Enum() *AddressType { 62 p := new(AddressType) 63 *p = x 64 return p 65 } 66 67 func (x AddressType) String() string { 68 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 69 } 70 71 func (AddressType) Descriptor() protoreflect.EnumDescriptor { 72 return file_lightning_proto_enumTypes[0].Descriptor() 73 } 74 75 func (AddressType) Type() protoreflect.EnumType { 76 return &file_lightning_proto_enumTypes[0] 77 } 78 79 func (x AddressType) Number() protoreflect.EnumNumber { 80 return protoreflect.EnumNumber(x) 81 } 82 83 // Deprecated: Use AddressType.Descriptor instead. 84 func (AddressType) EnumDescriptor() ([]byte, []int) { 85 return file_lightning_proto_rawDescGZIP(), []int{0} 86 } 87 88 type CommitmentType int32 89 90 const ( 91 // Returned when the commitment type isn't known or unavailable. 92 CommitmentType_UNKNOWN_COMMITMENT_TYPE CommitmentType = 0 93 // A channel using the legacy commitment format having tweaked to_remote 94 // keys. 95 CommitmentType_LEGACY CommitmentType = 1 96 // A channel that uses the modern commitment format where the key in the 97 // output of the remote party does not change each state. This makes back 98 // up and recovery easier as when the channel is closed, the funds go 99 // directly to that key. 100 CommitmentType_STATIC_REMOTE_KEY CommitmentType = 2 101 // A channel that uses a commitment format that has anchor outputs on the 102 // commitments, allowing fee bumping after a force close transaction has 103 // been broadcast. 104 CommitmentType_ANCHORS CommitmentType = 3 105 // A channel that uses a commitment type that builds upon the anchors 106 // commitment format, but in addition requires a CLTV clause to spend outputs 107 // paying to the channel initiator. This is intended for use on leased channels 108 // to guarantee that the channel initiator has no incentives to close a leased 109 // channel before its maturity date. 110 CommitmentType_SCRIPT_ENFORCED_LEASE CommitmentType = 4 111 ) 112 113 // Enum value maps for CommitmentType. 114 var ( 115 CommitmentType_name = map[int32]string{ 116 0: "UNKNOWN_COMMITMENT_TYPE", 117 1: "LEGACY", 118 2: "STATIC_REMOTE_KEY", 119 3: "ANCHORS", 120 4: "SCRIPT_ENFORCED_LEASE", 121 } 122 CommitmentType_value = map[string]int32{ 123 "UNKNOWN_COMMITMENT_TYPE": 0, 124 "LEGACY": 1, 125 "STATIC_REMOTE_KEY": 2, 126 "ANCHORS": 3, 127 "SCRIPT_ENFORCED_LEASE": 4, 128 } 129 ) 130 131 func (x CommitmentType) Enum() *CommitmentType { 132 p := new(CommitmentType) 133 *p = x 134 return p 135 } 136 137 func (x CommitmentType) String() string { 138 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 139 } 140 141 func (CommitmentType) Descriptor() protoreflect.EnumDescriptor { 142 return file_lightning_proto_enumTypes[1].Descriptor() 143 } 144 145 func (CommitmentType) Type() protoreflect.EnumType { 146 return &file_lightning_proto_enumTypes[1] 147 } 148 149 func (x CommitmentType) Number() protoreflect.EnumNumber { 150 return protoreflect.EnumNumber(x) 151 } 152 153 // Deprecated: Use CommitmentType.Descriptor instead. 154 func (CommitmentType) EnumDescriptor() ([]byte, []int) { 155 return file_lightning_proto_rawDescGZIP(), []int{1} 156 } 157 158 type Initiator int32 159 160 const ( 161 Initiator_INITIATOR_UNKNOWN Initiator = 0 162 Initiator_INITIATOR_LOCAL Initiator = 1 163 Initiator_INITIATOR_REMOTE Initiator = 2 164 Initiator_INITIATOR_BOTH Initiator = 3 165 ) 166 167 // Enum value maps for Initiator. 168 var ( 169 Initiator_name = map[int32]string{ 170 0: "INITIATOR_UNKNOWN", 171 1: "INITIATOR_LOCAL", 172 2: "INITIATOR_REMOTE", 173 3: "INITIATOR_BOTH", 174 } 175 Initiator_value = map[string]int32{ 176 "INITIATOR_UNKNOWN": 0, 177 "INITIATOR_LOCAL": 1, 178 "INITIATOR_REMOTE": 2, 179 "INITIATOR_BOTH": 3, 180 } 181 ) 182 183 func (x Initiator) Enum() *Initiator { 184 p := new(Initiator) 185 *p = x 186 return p 187 } 188 189 func (x Initiator) String() string { 190 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 191 } 192 193 func (Initiator) Descriptor() protoreflect.EnumDescriptor { 194 return file_lightning_proto_enumTypes[2].Descriptor() 195 } 196 197 func (Initiator) Type() protoreflect.EnumType { 198 return &file_lightning_proto_enumTypes[2] 199 } 200 201 func (x Initiator) Number() protoreflect.EnumNumber { 202 return protoreflect.EnumNumber(x) 203 } 204 205 // Deprecated: Use Initiator.Descriptor instead. 206 func (Initiator) EnumDescriptor() ([]byte, []int) { 207 return file_lightning_proto_rawDescGZIP(), []int{2} 208 } 209 210 type ResolutionType int32 211 212 const ( 213 ResolutionType_TYPE_UNKNOWN ResolutionType = 0 214 // We resolved an anchor output. 215 ResolutionType_ANCHOR ResolutionType = 1 216 // We are resolving an incoming htlc on chain. This if this htlc is 217 // claimed, we swept the incoming htlc with the preimage. If it is timed 218 // out, our peer swept the timeout path. 219 ResolutionType_INCOMING_HTLC ResolutionType = 2 220 // We are resolving an outgoing htlc on chain. If this htlc is claimed, 221 // the remote party swept the htlc with the preimage. If it is timed out, 222 // we swept it with the timeout path. 223 ResolutionType_OUTGOING_HTLC ResolutionType = 3 224 // We force closed and need to sweep our time locked commitment output. 225 ResolutionType_COMMIT ResolutionType = 4 226 ) 227 228 // Enum value maps for ResolutionType. 229 var ( 230 ResolutionType_name = map[int32]string{ 231 0: "TYPE_UNKNOWN", 232 1: "ANCHOR", 233 2: "INCOMING_HTLC", 234 3: "OUTGOING_HTLC", 235 4: "COMMIT", 236 } 237 ResolutionType_value = map[string]int32{ 238 "TYPE_UNKNOWN": 0, 239 "ANCHOR": 1, 240 "INCOMING_HTLC": 2, 241 "OUTGOING_HTLC": 3, 242 "COMMIT": 4, 243 } 244 ) 245 246 func (x ResolutionType) Enum() *ResolutionType { 247 p := new(ResolutionType) 248 *p = x 249 return p 250 } 251 252 func (x ResolutionType) String() string { 253 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 254 } 255 256 func (ResolutionType) Descriptor() protoreflect.EnumDescriptor { 257 return file_lightning_proto_enumTypes[3].Descriptor() 258 } 259 260 func (ResolutionType) Type() protoreflect.EnumType { 261 return &file_lightning_proto_enumTypes[3] 262 } 263 264 func (x ResolutionType) Number() protoreflect.EnumNumber { 265 return protoreflect.EnumNumber(x) 266 } 267 268 // Deprecated: Use ResolutionType.Descriptor instead. 269 func (ResolutionType) EnumDescriptor() ([]byte, []int) { 270 return file_lightning_proto_rawDescGZIP(), []int{3} 271 } 272 273 type ResolutionOutcome int32 274 275 const ( 276 // Outcome unknown. 277 ResolutionOutcome_OUTCOME_UNKNOWN ResolutionOutcome = 0 278 // An output was claimed on chain. 279 ResolutionOutcome_CLAIMED ResolutionOutcome = 1 280 // An output was left unclaimed on chain. 281 ResolutionOutcome_UNCLAIMED ResolutionOutcome = 2 282 // ResolverOutcomeAbandoned indicates that an output that we did not 283 // claim on chain, for example an anchor that we did not sweep and a 284 // third party claimed on chain, or a htlc that we could not decode 285 // so left unclaimed. 286 ResolutionOutcome_ABANDONED ResolutionOutcome = 3 287 // If we force closed our channel, our htlcs need to be claimed in two 288 // stages. This outcome represents the broadcast of a timeout or success 289 // transaction for this two stage htlc claim. 290 ResolutionOutcome_FIRST_STAGE ResolutionOutcome = 4 291 // A htlc was timed out on chain. 292 ResolutionOutcome_TIMEOUT ResolutionOutcome = 5 293 ) 294 295 // Enum value maps for ResolutionOutcome. 296 var ( 297 ResolutionOutcome_name = map[int32]string{ 298 0: "OUTCOME_UNKNOWN", 299 1: "CLAIMED", 300 2: "UNCLAIMED", 301 3: "ABANDONED", 302 4: "FIRST_STAGE", 303 5: "TIMEOUT", 304 } 305 ResolutionOutcome_value = map[string]int32{ 306 "OUTCOME_UNKNOWN": 0, 307 "CLAIMED": 1, 308 "UNCLAIMED": 2, 309 "ABANDONED": 3, 310 "FIRST_STAGE": 4, 311 "TIMEOUT": 5, 312 } 313 ) 314 315 func (x ResolutionOutcome) Enum() *ResolutionOutcome { 316 p := new(ResolutionOutcome) 317 *p = x 318 return p 319 } 320 321 func (x ResolutionOutcome) String() string { 322 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 323 } 324 325 func (ResolutionOutcome) Descriptor() protoreflect.EnumDescriptor { 326 return file_lightning_proto_enumTypes[4].Descriptor() 327 } 328 329 func (ResolutionOutcome) Type() protoreflect.EnumType { 330 return &file_lightning_proto_enumTypes[4] 331 } 332 333 func (x ResolutionOutcome) Number() protoreflect.EnumNumber { 334 return protoreflect.EnumNumber(x) 335 } 336 337 // Deprecated: Use ResolutionOutcome.Descriptor instead. 338 func (ResolutionOutcome) EnumDescriptor() ([]byte, []int) { 339 return file_lightning_proto_rawDescGZIP(), []int{4} 340 } 341 342 type NodeMetricType int32 343 344 const ( 345 NodeMetricType_UNKNOWN NodeMetricType = 0 346 NodeMetricType_BETWEENNESS_CENTRALITY NodeMetricType = 1 347 ) 348 349 // Enum value maps for NodeMetricType. 350 var ( 351 NodeMetricType_name = map[int32]string{ 352 0: "UNKNOWN", 353 1: "BETWEENNESS_CENTRALITY", 354 } 355 NodeMetricType_value = map[string]int32{ 356 "UNKNOWN": 0, 357 "BETWEENNESS_CENTRALITY": 1, 358 } 359 ) 360 361 func (x NodeMetricType) Enum() *NodeMetricType { 362 p := new(NodeMetricType) 363 *p = x 364 return p 365 } 366 367 func (x NodeMetricType) String() string { 368 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 369 } 370 371 func (NodeMetricType) Descriptor() protoreflect.EnumDescriptor { 372 return file_lightning_proto_enumTypes[5].Descriptor() 373 } 374 375 func (NodeMetricType) Type() protoreflect.EnumType { 376 return &file_lightning_proto_enumTypes[5] 377 } 378 379 func (x NodeMetricType) Number() protoreflect.EnumNumber { 380 return protoreflect.EnumNumber(x) 381 } 382 383 // Deprecated: Use NodeMetricType.Descriptor instead. 384 func (NodeMetricType) EnumDescriptor() ([]byte, []int) { 385 return file_lightning_proto_rawDescGZIP(), []int{5} 386 } 387 388 type InvoiceHTLCState int32 389 390 const ( 391 InvoiceHTLCState_ACCEPTED InvoiceHTLCState = 0 392 InvoiceHTLCState_SETTLED InvoiceHTLCState = 1 393 InvoiceHTLCState_CANCELED InvoiceHTLCState = 2 394 ) 395 396 // Enum value maps for InvoiceHTLCState. 397 var ( 398 InvoiceHTLCState_name = map[int32]string{ 399 0: "ACCEPTED", 400 1: "SETTLED", 401 2: "CANCELED", 402 } 403 InvoiceHTLCState_value = map[string]int32{ 404 "ACCEPTED": 0, 405 "SETTLED": 1, 406 "CANCELED": 2, 407 } 408 ) 409 410 func (x InvoiceHTLCState) Enum() *InvoiceHTLCState { 411 p := new(InvoiceHTLCState) 412 *p = x 413 return p 414 } 415 416 func (x InvoiceHTLCState) String() string { 417 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 418 } 419 420 func (InvoiceHTLCState) Descriptor() protoreflect.EnumDescriptor { 421 return file_lightning_proto_enumTypes[6].Descriptor() 422 } 423 424 func (InvoiceHTLCState) Type() protoreflect.EnumType { 425 return &file_lightning_proto_enumTypes[6] 426 } 427 428 func (x InvoiceHTLCState) Number() protoreflect.EnumNumber { 429 return protoreflect.EnumNumber(x) 430 } 431 432 // Deprecated: Use InvoiceHTLCState.Descriptor instead. 433 func (InvoiceHTLCState) EnumDescriptor() ([]byte, []int) { 434 return file_lightning_proto_rawDescGZIP(), []int{6} 435 } 436 437 type PaymentFailureReason int32 438 439 const ( 440 // Payment isn't failed (yet). 441 PaymentFailureReason_FAILURE_REASON_NONE PaymentFailureReason = 0 442 // There are more routes to try, but the payment timeout was exceeded. 443 PaymentFailureReason_FAILURE_REASON_TIMEOUT PaymentFailureReason = 1 444 // All possible routes were tried and failed permanently. Or were no 445 // routes to the destination at all. 446 PaymentFailureReason_FAILURE_REASON_NO_ROUTE PaymentFailureReason = 2 447 // A non-recoverable error has occured. 448 PaymentFailureReason_FAILURE_REASON_ERROR PaymentFailureReason = 3 449 // Payment details incorrect (unknown hash, invalid amt or 450 // invalid final cltv delta) 451 PaymentFailureReason_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS PaymentFailureReason = 4 452 // Insufficient local balance. 453 PaymentFailureReason_FAILURE_REASON_INSUFFICIENT_BALANCE PaymentFailureReason = 5 454 ) 455 456 // Enum value maps for PaymentFailureReason. 457 var ( 458 PaymentFailureReason_name = map[int32]string{ 459 0: "FAILURE_REASON_NONE", 460 1: "FAILURE_REASON_TIMEOUT", 461 2: "FAILURE_REASON_NO_ROUTE", 462 3: "FAILURE_REASON_ERROR", 463 4: "FAILURE_REASON_INCORRECT_PAYMENT_DETAILS", 464 5: "FAILURE_REASON_INSUFFICIENT_BALANCE", 465 } 466 PaymentFailureReason_value = map[string]int32{ 467 "FAILURE_REASON_NONE": 0, 468 "FAILURE_REASON_TIMEOUT": 1, 469 "FAILURE_REASON_NO_ROUTE": 2, 470 "FAILURE_REASON_ERROR": 3, 471 "FAILURE_REASON_INCORRECT_PAYMENT_DETAILS": 4, 472 "FAILURE_REASON_INSUFFICIENT_BALANCE": 5, 473 } 474 ) 475 476 func (x PaymentFailureReason) Enum() *PaymentFailureReason { 477 p := new(PaymentFailureReason) 478 *p = x 479 return p 480 } 481 482 func (x PaymentFailureReason) String() string { 483 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 484 } 485 486 func (PaymentFailureReason) Descriptor() protoreflect.EnumDescriptor { 487 return file_lightning_proto_enumTypes[7].Descriptor() 488 } 489 490 func (PaymentFailureReason) Type() protoreflect.EnumType { 491 return &file_lightning_proto_enumTypes[7] 492 } 493 494 func (x PaymentFailureReason) Number() protoreflect.EnumNumber { 495 return protoreflect.EnumNumber(x) 496 } 497 498 // Deprecated: Use PaymentFailureReason.Descriptor instead. 499 func (PaymentFailureReason) EnumDescriptor() ([]byte, []int) { 500 return file_lightning_proto_rawDescGZIP(), []int{7} 501 } 502 503 type FeatureBit int32 504 505 const ( 506 FeatureBit_DATALOSS_PROTECT_REQ FeatureBit = 0 507 FeatureBit_DATALOSS_PROTECT_OPT FeatureBit = 1 508 FeatureBit_INITIAL_ROUING_SYNC FeatureBit = 3 509 FeatureBit_UPFRONT_SHUTDOWN_SCRIPT_REQ FeatureBit = 4 510 FeatureBit_UPFRONT_SHUTDOWN_SCRIPT_OPT FeatureBit = 5 511 FeatureBit_GOSSIP_QUERIES_REQ FeatureBit = 6 512 FeatureBit_GOSSIP_QUERIES_OPT FeatureBit = 7 513 FeatureBit_TLV_ONION_REQ FeatureBit = 8 514 FeatureBit_TLV_ONION_OPT FeatureBit = 9 515 FeatureBit_EXT_GOSSIP_QUERIES_REQ FeatureBit = 10 516 FeatureBit_EXT_GOSSIP_QUERIES_OPT FeatureBit = 11 517 FeatureBit_STATIC_REMOTE_KEY_REQ FeatureBit = 12 518 FeatureBit_STATIC_REMOTE_KEY_OPT FeatureBit = 13 519 FeatureBit_PAYMENT_ADDR_REQ FeatureBit = 14 520 FeatureBit_PAYMENT_ADDR_OPT FeatureBit = 15 521 FeatureBit_MPP_REQ FeatureBit = 16 522 FeatureBit_MPP_OPT FeatureBit = 17 523 FeatureBit_WUMBO_CHANNELS_REQ FeatureBit = 18 524 FeatureBit_WUMBO_CHANNELS_OPT FeatureBit = 19 525 FeatureBit_ANCHORS_REQ FeatureBit = 20 526 FeatureBit_ANCHORS_OPT FeatureBit = 21 527 FeatureBit_ANCHORS_ZERO_FEE_HTLC_REQ FeatureBit = 22 528 FeatureBit_ANCHORS_ZERO_FEE_HTLC_OPT FeatureBit = 23 529 FeatureBit_AMP_REQ FeatureBit = 30 530 FeatureBit_AMP_OPT FeatureBit = 31 531 ) 532 533 // Enum value maps for FeatureBit. 534 var ( 535 FeatureBit_name = map[int32]string{ 536 0: "DATALOSS_PROTECT_REQ", 537 1: "DATALOSS_PROTECT_OPT", 538 3: "INITIAL_ROUING_SYNC", 539 4: "UPFRONT_SHUTDOWN_SCRIPT_REQ", 540 5: "UPFRONT_SHUTDOWN_SCRIPT_OPT", 541 6: "GOSSIP_QUERIES_REQ", 542 7: "GOSSIP_QUERIES_OPT", 543 8: "TLV_ONION_REQ", 544 9: "TLV_ONION_OPT", 545 10: "EXT_GOSSIP_QUERIES_REQ", 546 11: "EXT_GOSSIP_QUERIES_OPT", 547 12: "STATIC_REMOTE_KEY_REQ", 548 13: "STATIC_REMOTE_KEY_OPT", 549 14: "PAYMENT_ADDR_REQ", 550 15: "PAYMENT_ADDR_OPT", 551 16: "MPP_REQ", 552 17: "MPP_OPT", 553 18: "WUMBO_CHANNELS_REQ", 554 19: "WUMBO_CHANNELS_OPT", 555 20: "ANCHORS_REQ", 556 21: "ANCHORS_OPT", 557 22: "ANCHORS_ZERO_FEE_HTLC_REQ", 558 23: "ANCHORS_ZERO_FEE_HTLC_OPT", 559 30: "AMP_REQ", 560 31: "AMP_OPT", 561 } 562 FeatureBit_value = map[string]int32{ 563 "DATALOSS_PROTECT_REQ": 0, 564 "DATALOSS_PROTECT_OPT": 1, 565 "INITIAL_ROUING_SYNC": 3, 566 "UPFRONT_SHUTDOWN_SCRIPT_REQ": 4, 567 "UPFRONT_SHUTDOWN_SCRIPT_OPT": 5, 568 "GOSSIP_QUERIES_REQ": 6, 569 "GOSSIP_QUERIES_OPT": 7, 570 "TLV_ONION_REQ": 8, 571 "TLV_ONION_OPT": 9, 572 "EXT_GOSSIP_QUERIES_REQ": 10, 573 "EXT_GOSSIP_QUERIES_OPT": 11, 574 "STATIC_REMOTE_KEY_REQ": 12, 575 "STATIC_REMOTE_KEY_OPT": 13, 576 "PAYMENT_ADDR_REQ": 14, 577 "PAYMENT_ADDR_OPT": 15, 578 "MPP_REQ": 16, 579 "MPP_OPT": 17, 580 "WUMBO_CHANNELS_REQ": 18, 581 "WUMBO_CHANNELS_OPT": 19, 582 "ANCHORS_REQ": 20, 583 "ANCHORS_OPT": 21, 584 "ANCHORS_ZERO_FEE_HTLC_REQ": 22, 585 "ANCHORS_ZERO_FEE_HTLC_OPT": 23, 586 "AMP_REQ": 30, 587 "AMP_OPT": 31, 588 } 589 ) 590 591 func (x FeatureBit) Enum() *FeatureBit { 592 p := new(FeatureBit) 593 *p = x 594 return p 595 } 596 597 func (x FeatureBit) String() string { 598 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 599 } 600 601 func (FeatureBit) Descriptor() protoreflect.EnumDescriptor { 602 return file_lightning_proto_enumTypes[8].Descriptor() 603 } 604 605 func (FeatureBit) Type() protoreflect.EnumType { 606 return &file_lightning_proto_enumTypes[8] 607 } 608 609 func (x FeatureBit) Number() protoreflect.EnumNumber { 610 return protoreflect.EnumNumber(x) 611 } 612 613 // Deprecated: Use FeatureBit.Descriptor instead. 614 func (FeatureBit) EnumDescriptor() ([]byte, []int) { 615 return file_lightning_proto_rawDescGZIP(), []int{8} 616 } 617 618 type UpdateFailure int32 619 620 const ( 621 UpdateFailure_UPDATE_FAILURE_UNKNOWN UpdateFailure = 0 622 UpdateFailure_UPDATE_FAILURE_PENDING UpdateFailure = 1 623 UpdateFailure_UPDATE_FAILURE_NOT_FOUND UpdateFailure = 2 624 UpdateFailure_UPDATE_FAILURE_INTERNAL_ERR UpdateFailure = 3 625 UpdateFailure_UPDATE_FAILURE_INVALID_PARAMETER UpdateFailure = 4 626 ) 627 628 // Enum value maps for UpdateFailure. 629 var ( 630 UpdateFailure_name = map[int32]string{ 631 0: "UPDATE_FAILURE_UNKNOWN", 632 1: "UPDATE_FAILURE_PENDING", 633 2: "UPDATE_FAILURE_NOT_FOUND", 634 3: "UPDATE_FAILURE_INTERNAL_ERR", 635 4: "UPDATE_FAILURE_INVALID_PARAMETER", 636 } 637 UpdateFailure_value = map[string]int32{ 638 "UPDATE_FAILURE_UNKNOWN": 0, 639 "UPDATE_FAILURE_PENDING": 1, 640 "UPDATE_FAILURE_NOT_FOUND": 2, 641 "UPDATE_FAILURE_INTERNAL_ERR": 3, 642 "UPDATE_FAILURE_INVALID_PARAMETER": 4, 643 } 644 ) 645 646 func (x UpdateFailure) Enum() *UpdateFailure { 647 p := new(UpdateFailure) 648 *p = x 649 return p 650 } 651 652 func (x UpdateFailure) String() string { 653 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 654 } 655 656 func (UpdateFailure) Descriptor() protoreflect.EnumDescriptor { 657 return file_lightning_proto_enumTypes[9].Descriptor() 658 } 659 660 func (UpdateFailure) Type() protoreflect.EnumType { 661 return &file_lightning_proto_enumTypes[9] 662 } 663 664 func (x UpdateFailure) Number() protoreflect.EnumNumber { 665 return protoreflect.EnumNumber(x) 666 } 667 668 // Deprecated: Use UpdateFailure.Descriptor instead. 669 func (UpdateFailure) EnumDescriptor() ([]byte, []int) { 670 return file_lightning_proto_rawDescGZIP(), []int{9} 671 } 672 673 type ChannelCloseSummary_ClosureType int32 674 675 const ( 676 ChannelCloseSummary_COOPERATIVE_CLOSE ChannelCloseSummary_ClosureType = 0 677 ChannelCloseSummary_LOCAL_FORCE_CLOSE ChannelCloseSummary_ClosureType = 1 678 ChannelCloseSummary_REMOTE_FORCE_CLOSE ChannelCloseSummary_ClosureType = 2 679 ChannelCloseSummary_BREACH_CLOSE ChannelCloseSummary_ClosureType = 3 680 ChannelCloseSummary_FUNDING_CANCELED ChannelCloseSummary_ClosureType = 4 681 ChannelCloseSummary_ABANDONED ChannelCloseSummary_ClosureType = 5 682 ) 683 684 // Enum value maps for ChannelCloseSummary_ClosureType. 685 var ( 686 ChannelCloseSummary_ClosureType_name = map[int32]string{ 687 0: "COOPERATIVE_CLOSE", 688 1: "LOCAL_FORCE_CLOSE", 689 2: "REMOTE_FORCE_CLOSE", 690 3: "BREACH_CLOSE", 691 4: "FUNDING_CANCELED", 692 5: "ABANDONED", 693 } 694 ChannelCloseSummary_ClosureType_value = map[string]int32{ 695 "COOPERATIVE_CLOSE": 0, 696 "LOCAL_FORCE_CLOSE": 1, 697 "REMOTE_FORCE_CLOSE": 2, 698 "BREACH_CLOSE": 3, 699 "FUNDING_CANCELED": 4, 700 "ABANDONED": 5, 701 } 702 ) 703 704 func (x ChannelCloseSummary_ClosureType) Enum() *ChannelCloseSummary_ClosureType { 705 p := new(ChannelCloseSummary_ClosureType) 706 *p = x 707 return p 708 } 709 710 func (x ChannelCloseSummary_ClosureType) String() string { 711 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 712 } 713 714 func (ChannelCloseSummary_ClosureType) Descriptor() protoreflect.EnumDescriptor { 715 return file_lightning_proto_enumTypes[10].Descriptor() 716 } 717 718 func (ChannelCloseSummary_ClosureType) Type() protoreflect.EnumType { 719 return &file_lightning_proto_enumTypes[10] 720 } 721 722 func (x ChannelCloseSummary_ClosureType) Number() protoreflect.EnumNumber { 723 return protoreflect.EnumNumber(x) 724 } 725 726 // Deprecated: Use ChannelCloseSummary_ClosureType.Descriptor instead. 727 func (ChannelCloseSummary_ClosureType) EnumDescriptor() ([]byte, []int) { 728 return file_lightning_proto_rawDescGZIP(), []int{40, 0} 729 } 730 731 type Peer_SyncType int32 732 733 const ( 734 // Denotes that we cannot determine the peer's current sync type. 735 Peer_UNKNOWN_SYNC Peer_SyncType = 0 736 // Denotes that we are actively receiving new graph updates from the peer. 737 Peer_ACTIVE_SYNC Peer_SyncType = 1 738 // Denotes that we are not receiving new graph updates from the peer. 739 Peer_PASSIVE_SYNC Peer_SyncType = 2 740 // Denotes that this peer is pinned into an active sync. 741 Peer_PINNED_SYNC Peer_SyncType = 3 742 ) 743 744 // Enum value maps for Peer_SyncType. 745 var ( 746 Peer_SyncType_name = map[int32]string{ 747 0: "UNKNOWN_SYNC", 748 1: "ACTIVE_SYNC", 749 2: "PASSIVE_SYNC", 750 3: "PINNED_SYNC", 751 } 752 Peer_SyncType_value = map[string]int32{ 753 "UNKNOWN_SYNC": 0, 754 "ACTIVE_SYNC": 1, 755 "PASSIVE_SYNC": 2, 756 "PINNED_SYNC": 3, 757 } 758 ) 759 760 func (x Peer_SyncType) Enum() *Peer_SyncType { 761 p := new(Peer_SyncType) 762 *p = x 763 return p 764 } 765 766 func (x Peer_SyncType) String() string { 767 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 768 } 769 770 func (Peer_SyncType) Descriptor() protoreflect.EnumDescriptor { 771 return file_lightning_proto_enumTypes[11].Descriptor() 772 } 773 774 func (Peer_SyncType) Type() protoreflect.EnumType { 775 return &file_lightning_proto_enumTypes[11] 776 } 777 778 func (x Peer_SyncType) Number() protoreflect.EnumNumber { 779 return protoreflect.EnumNumber(x) 780 } 781 782 // Deprecated: Use Peer_SyncType.Descriptor instead. 783 func (Peer_SyncType) EnumDescriptor() ([]byte, []int) { 784 return file_lightning_proto_rawDescGZIP(), []int{44, 0} 785 } 786 787 type PeerEvent_EventType int32 788 789 const ( 790 PeerEvent_PEER_ONLINE PeerEvent_EventType = 0 791 PeerEvent_PEER_OFFLINE PeerEvent_EventType = 1 792 ) 793 794 // Enum value maps for PeerEvent_EventType. 795 var ( 796 PeerEvent_EventType_name = map[int32]string{ 797 0: "PEER_ONLINE", 798 1: "PEER_OFFLINE", 799 } 800 PeerEvent_EventType_value = map[string]int32{ 801 "PEER_ONLINE": 0, 802 "PEER_OFFLINE": 1, 803 } 804 ) 805 806 func (x PeerEvent_EventType) Enum() *PeerEvent_EventType { 807 p := new(PeerEvent_EventType) 808 *p = x 809 return p 810 } 811 812 func (x PeerEvent_EventType) String() string { 813 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 814 } 815 816 func (PeerEvent_EventType) Descriptor() protoreflect.EnumDescriptor { 817 return file_lightning_proto_enumTypes[12].Descriptor() 818 } 819 820 func (PeerEvent_EventType) Type() protoreflect.EnumType { 821 return &file_lightning_proto_enumTypes[12] 822 } 823 824 func (x PeerEvent_EventType) Number() protoreflect.EnumNumber { 825 return protoreflect.EnumNumber(x) 826 } 827 828 // Deprecated: Use PeerEvent_EventType.Descriptor instead. 829 func (PeerEvent_EventType) EnumDescriptor() ([]byte, []int) { 830 return file_lightning_proto_rawDescGZIP(), []int{49, 0} 831 } 832 833 type PendingChannelsResponse_ForceClosedChannel_AnchorState int32 834 835 const ( 836 PendingChannelsResponse_ForceClosedChannel_LIMBO PendingChannelsResponse_ForceClosedChannel_AnchorState = 0 837 PendingChannelsResponse_ForceClosedChannel_RECOVERED PendingChannelsResponse_ForceClosedChannel_AnchorState = 1 838 PendingChannelsResponse_ForceClosedChannel_LOST PendingChannelsResponse_ForceClosedChannel_AnchorState = 2 839 ) 840 841 // Enum value maps for PendingChannelsResponse_ForceClosedChannel_AnchorState. 842 var ( 843 PendingChannelsResponse_ForceClosedChannel_AnchorState_name = map[int32]string{ 844 0: "LIMBO", 845 1: "RECOVERED", 846 2: "LOST", 847 } 848 PendingChannelsResponse_ForceClosedChannel_AnchorState_value = map[string]int32{ 849 "LIMBO": 0, 850 "RECOVERED": 1, 851 "LOST": 2, 852 } 853 ) 854 855 func (x PendingChannelsResponse_ForceClosedChannel_AnchorState) Enum() *PendingChannelsResponse_ForceClosedChannel_AnchorState { 856 p := new(PendingChannelsResponse_ForceClosedChannel_AnchorState) 857 *p = x 858 return p 859 } 860 861 func (x PendingChannelsResponse_ForceClosedChannel_AnchorState) String() string { 862 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 863 } 864 865 func (PendingChannelsResponse_ForceClosedChannel_AnchorState) Descriptor() protoreflect.EnumDescriptor { 866 return file_lightning_proto_enumTypes[13].Descriptor() 867 } 868 869 func (PendingChannelsResponse_ForceClosedChannel_AnchorState) Type() protoreflect.EnumType { 870 return &file_lightning_proto_enumTypes[13] 871 } 872 873 func (x PendingChannelsResponse_ForceClosedChannel_AnchorState) Number() protoreflect.EnumNumber { 874 return protoreflect.EnumNumber(x) 875 } 876 877 // Deprecated: Use PendingChannelsResponse_ForceClosedChannel_AnchorState.Descriptor instead. 878 func (PendingChannelsResponse_ForceClosedChannel_AnchorState) EnumDescriptor() ([]byte, []int) { 879 return file_lightning_proto_rawDescGZIP(), []int{79, 5, 0} 880 } 881 882 type ChannelEventUpdate_UpdateType int32 883 884 const ( 885 ChannelEventUpdate_OPEN_CHANNEL ChannelEventUpdate_UpdateType = 0 886 ChannelEventUpdate_CLOSED_CHANNEL ChannelEventUpdate_UpdateType = 1 887 ChannelEventUpdate_ACTIVE_CHANNEL ChannelEventUpdate_UpdateType = 2 888 ChannelEventUpdate_INACTIVE_CHANNEL ChannelEventUpdate_UpdateType = 3 889 ChannelEventUpdate_PENDING_OPEN_CHANNEL ChannelEventUpdate_UpdateType = 4 890 ChannelEventUpdate_FULLY_RESOLVED_CHANNEL ChannelEventUpdate_UpdateType = 5 891 ) 892 893 // Enum value maps for ChannelEventUpdate_UpdateType. 894 var ( 895 ChannelEventUpdate_UpdateType_name = map[int32]string{ 896 0: "OPEN_CHANNEL", 897 1: "CLOSED_CHANNEL", 898 2: "ACTIVE_CHANNEL", 899 3: "INACTIVE_CHANNEL", 900 4: "PENDING_OPEN_CHANNEL", 901 5: "FULLY_RESOLVED_CHANNEL", 902 } 903 ChannelEventUpdate_UpdateType_value = map[string]int32{ 904 "OPEN_CHANNEL": 0, 905 "CLOSED_CHANNEL": 1, 906 "ACTIVE_CHANNEL": 2, 907 "INACTIVE_CHANNEL": 3, 908 "PENDING_OPEN_CHANNEL": 4, 909 "FULLY_RESOLVED_CHANNEL": 5, 910 } 911 ) 912 913 func (x ChannelEventUpdate_UpdateType) Enum() *ChannelEventUpdate_UpdateType { 914 p := new(ChannelEventUpdate_UpdateType) 915 *p = x 916 return p 917 } 918 919 func (x ChannelEventUpdate_UpdateType) String() string { 920 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 921 } 922 923 func (ChannelEventUpdate_UpdateType) Descriptor() protoreflect.EnumDescriptor { 924 return file_lightning_proto_enumTypes[14].Descriptor() 925 } 926 927 func (ChannelEventUpdate_UpdateType) Type() protoreflect.EnumType { 928 return &file_lightning_proto_enumTypes[14] 929 } 930 931 func (x ChannelEventUpdate_UpdateType) Number() protoreflect.EnumNumber { 932 return protoreflect.EnumNumber(x) 933 } 934 935 // Deprecated: Use ChannelEventUpdate_UpdateType.Descriptor instead. 936 func (ChannelEventUpdate_UpdateType) EnumDescriptor() ([]byte, []int) { 937 return file_lightning_proto_rawDescGZIP(), []int{81, 0} 938 } 939 940 type Invoice_InvoiceState int32 941 942 const ( 943 Invoice_OPEN Invoice_InvoiceState = 0 944 Invoice_SETTLED Invoice_InvoiceState = 1 945 Invoice_CANCELED Invoice_InvoiceState = 2 946 Invoice_ACCEPTED Invoice_InvoiceState = 3 947 ) 948 949 // Enum value maps for Invoice_InvoiceState. 950 var ( 951 Invoice_InvoiceState_name = map[int32]string{ 952 0: "OPEN", 953 1: "SETTLED", 954 2: "CANCELED", 955 3: "ACCEPTED", 956 } 957 Invoice_InvoiceState_value = map[string]int32{ 958 "OPEN": 0, 959 "SETTLED": 1, 960 "CANCELED": 2, 961 "ACCEPTED": 3, 962 } 963 ) 964 965 func (x Invoice_InvoiceState) Enum() *Invoice_InvoiceState { 966 p := new(Invoice_InvoiceState) 967 *p = x 968 return p 969 } 970 971 func (x Invoice_InvoiceState) String() string { 972 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 973 } 974 975 func (Invoice_InvoiceState) Descriptor() protoreflect.EnumDescriptor { 976 return file_lightning_proto_enumTypes[15].Descriptor() 977 } 978 979 func (Invoice_InvoiceState) Type() protoreflect.EnumType { 980 return &file_lightning_proto_enumTypes[15] 981 } 982 983 func (x Invoice_InvoiceState) Number() protoreflect.EnumNumber { 984 return protoreflect.EnumNumber(x) 985 } 986 987 // Deprecated: Use Invoice_InvoiceState.Descriptor instead. 988 func (Invoice_InvoiceState) EnumDescriptor() ([]byte, []int) { 989 return file_lightning_proto_rawDescGZIP(), []int{123, 0} 990 } 991 992 type Payment_PaymentStatus int32 993 994 const ( 995 Payment_UNKNOWN Payment_PaymentStatus = 0 996 Payment_IN_FLIGHT Payment_PaymentStatus = 1 997 Payment_SUCCEEDED Payment_PaymentStatus = 2 998 Payment_FAILED Payment_PaymentStatus = 3 999 ) 1000 1001 // Enum value maps for Payment_PaymentStatus. 1002 var ( 1003 Payment_PaymentStatus_name = map[int32]string{ 1004 0: "UNKNOWN", 1005 1: "IN_FLIGHT", 1006 2: "SUCCEEDED", 1007 3: "FAILED", 1008 } 1009 Payment_PaymentStatus_value = map[string]int32{ 1010 "UNKNOWN": 0, 1011 "IN_FLIGHT": 1, 1012 "SUCCEEDED": 2, 1013 "FAILED": 3, 1014 } 1015 ) 1016 1017 func (x Payment_PaymentStatus) Enum() *Payment_PaymentStatus { 1018 p := new(Payment_PaymentStatus) 1019 *p = x 1020 return p 1021 } 1022 1023 func (x Payment_PaymentStatus) String() string { 1024 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1025 } 1026 1027 func (Payment_PaymentStatus) Descriptor() protoreflect.EnumDescriptor { 1028 return file_lightning_proto_enumTypes[16].Descriptor() 1029 } 1030 1031 func (Payment_PaymentStatus) Type() protoreflect.EnumType { 1032 return &file_lightning_proto_enumTypes[16] 1033 } 1034 1035 func (x Payment_PaymentStatus) Number() protoreflect.EnumNumber { 1036 return protoreflect.EnumNumber(x) 1037 } 1038 1039 // Deprecated: Use Payment_PaymentStatus.Descriptor instead. 1040 func (Payment_PaymentStatus) EnumDescriptor() ([]byte, []int) { 1041 return file_lightning_proto_rawDescGZIP(), []int{131, 0} 1042 } 1043 1044 type HTLCAttempt_HTLCStatus int32 1045 1046 const ( 1047 HTLCAttempt_IN_FLIGHT HTLCAttempt_HTLCStatus = 0 1048 HTLCAttempt_SUCCEEDED HTLCAttempt_HTLCStatus = 1 1049 HTLCAttempt_FAILED HTLCAttempt_HTLCStatus = 2 1050 ) 1051 1052 // Enum value maps for HTLCAttempt_HTLCStatus. 1053 var ( 1054 HTLCAttempt_HTLCStatus_name = map[int32]string{ 1055 0: "IN_FLIGHT", 1056 1: "SUCCEEDED", 1057 2: "FAILED", 1058 } 1059 HTLCAttempt_HTLCStatus_value = map[string]int32{ 1060 "IN_FLIGHT": 0, 1061 "SUCCEEDED": 1, 1062 "FAILED": 2, 1063 } 1064 ) 1065 1066 func (x HTLCAttempt_HTLCStatus) Enum() *HTLCAttempt_HTLCStatus { 1067 p := new(HTLCAttempt_HTLCStatus) 1068 *p = x 1069 return p 1070 } 1071 1072 func (x HTLCAttempt_HTLCStatus) String() string { 1073 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1074 } 1075 1076 func (HTLCAttempt_HTLCStatus) Descriptor() protoreflect.EnumDescriptor { 1077 return file_lightning_proto_enumTypes[17].Descriptor() 1078 } 1079 1080 func (HTLCAttempt_HTLCStatus) Type() protoreflect.EnumType { 1081 return &file_lightning_proto_enumTypes[17] 1082 } 1083 1084 func (x HTLCAttempt_HTLCStatus) Number() protoreflect.EnumNumber { 1085 return protoreflect.EnumNumber(x) 1086 } 1087 1088 // Deprecated: Use HTLCAttempt_HTLCStatus.Descriptor instead. 1089 func (HTLCAttempt_HTLCStatus) EnumDescriptor() ([]byte, []int) { 1090 return file_lightning_proto_rawDescGZIP(), []int{132, 0} 1091 } 1092 1093 type Failure_FailureCode int32 1094 1095 const ( 1096 // The numbers assigned in this enumeration match the failure codes as 1097 // defined in BOLT #4. Because protobuf 3 requires enums to start with 0, 1098 // a RESERVED value is added. 1099 Failure_RESERVED Failure_FailureCode = 0 1100 Failure_INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS Failure_FailureCode = 1 1101 Failure_INCORRECT_PAYMENT_AMOUNT Failure_FailureCode = 2 1102 Failure_FINAL_INCORRECT_CLTV_EXPIRY Failure_FailureCode = 3 1103 Failure_FINAL_INCORRECT_HTLC_AMOUNT Failure_FailureCode = 4 1104 Failure_FINAL_EXPIRY_TOO_SOON Failure_FailureCode = 5 1105 Failure_INVALID_REALM Failure_FailureCode = 6 1106 Failure_EXPIRY_TOO_SOON Failure_FailureCode = 7 1107 Failure_INVALID_ONION_VERSION Failure_FailureCode = 8 1108 Failure_INVALID_ONION_HMAC Failure_FailureCode = 9 1109 Failure_INVALID_ONION_KEY Failure_FailureCode = 10 1110 Failure_AMOUNT_BELOW_MINIMUM Failure_FailureCode = 11 1111 Failure_FEE_INSUFFICIENT Failure_FailureCode = 12 1112 Failure_INCORRECT_CLTV_EXPIRY Failure_FailureCode = 13 1113 Failure_CHANNEL_DISABLED Failure_FailureCode = 14 1114 Failure_TEMPORARY_CHANNEL_FAILURE Failure_FailureCode = 15 1115 Failure_REQUIRED_NODE_FEATURE_MISSING Failure_FailureCode = 16 1116 Failure_REQUIRED_CHANNEL_FEATURE_MISSING Failure_FailureCode = 17 1117 Failure_UNKNOWN_NEXT_PEER Failure_FailureCode = 18 1118 Failure_TEMPORARY_NODE_FAILURE Failure_FailureCode = 19 1119 Failure_PERMANENT_NODE_FAILURE Failure_FailureCode = 20 1120 Failure_PERMANENT_CHANNEL_FAILURE Failure_FailureCode = 21 1121 Failure_EXPIRY_TOO_FAR Failure_FailureCode = 22 1122 Failure_MPP_TIMEOUT Failure_FailureCode = 23 1123 Failure_INVALID_ONION_PAYLOAD Failure_FailureCode = 24 1124 // An internal error occurred. 1125 Failure_INTERNAL_FAILURE Failure_FailureCode = 997 1126 // The error source is known, but the failure itself couldn't be decoded. 1127 Failure_UNKNOWN_FAILURE Failure_FailureCode = 998 1128 // An unreadable failure result is returned if the received failure message 1129 // cannot be decrypted. In that case the error source is unknown. 1130 Failure_UNREADABLE_FAILURE Failure_FailureCode = 999 1131 ) 1132 1133 // Enum value maps for Failure_FailureCode. 1134 var ( 1135 Failure_FailureCode_name = map[int32]string{ 1136 0: "RESERVED", 1137 1: "INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS", 1138 2: "INCORRECT_PAYMENT_AMOUNT", 1139 3: "FINAL_INCORRECT_CLTV_EXPIRY", 1140 4: "FINAL_INCORRECT_HTLC_AMOUNT", 1141 5: "FINAL_EXPIRY_TOO_SOON", 1142 6: "INVALID_REALM", 1143 7: "EXPIRY_TOO_SOON", 1144 8: "INVALID_ONION_VERSION", 1145 9: "INVALID_ONION_HMAC", 1146 10: "INVALID_ONION_KEY", 1147 11: "AMOUNT_BELOW_MINIMUM", 1148 12: "FEE_INSUFFICIENT", 1149 13: "INCORRECT_CLTV_EXPIRY", 1150 14: "CHANNEL_DISABLED", 1151 15: "TEMPORARY_CHANNEL_FAILURE", 1152 16: "REQUIRED_NODE_FEATURE_MISSING", 1153 17: "REQUIRED_CHANNEL_FEATURE_MISSING", 1154 18: "UNKNOWN_NEXT_PEER", 1155 19: "TEMPORARY_NODE_FAILURE", 1156 20: "PERMANENT_NODE_FAILURE", 1157 21: "PERMANENT_CHANNEL_FAILURE", 1158 22: "EXPIRY_TOO_FAR", 1159 23: "MPP_TIMEOUT", 1160 24: "INVALID_ONION_PAYLOAD", 1161 997: "INTERNAL_FAILURE", 1162 998: "UNKNOWN_FAILURE", 1163 999: "UNREADABLE_FAILURE", 1164 } 1165 Failure_FailureCode_value = map[string]int32{ 1166 "RESERVED": 0, 1167 "INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS": 1, 1168 "INCORRECT_PAYMENT_AMOUNT": 2, 1169 "FINAL_INCORRECT_CLTV_EXPIRY": 3, 1170 "FINAL_INCORRECT_HTLC_AMOUNT": 4, 1171 "FINAL_EXPIRY_TOO_SOON": 5, 1172 "INVALID_REALM": 6, 1173 "EXPIRY_TOO_SOON": 7, 1174 "INVALID_ONION_VERSION": 8, 1175 "INVALID_ONION_HMAC": 9, 1176 "INVALID_ONION_KEY": 10, 1177 "AMOUNT_BELOW_MINIMUM": 11, 1178 "FEE_INSUFFICIENT": 12, 1179 "INCORRECT_CLTV_EXPIRY": 13, 1180 "CHANNEL_DISABLED": 14, 1181 "TEMPORARY_CHANNEL_FAILURE": 15, 1182 "REQUIRED_NODE_FEATURE_MISSING": 16, 1183 "REQUIRED_CHANNEL_FEATURE_MISSING": 17, 1184 "UNKNOWN_NEXT_PEER": 18, 1185 "TEMPORARY_NODE_FAILURE": 19, 1186 "PERMANENT_NODE_FAILURE": 20, 1187 "PERMANENT_CHANNEL_FAILURE": 21, 1188 "EXPIRY_TOO_FAR": 22, 1189 "MPP_TIMEOUT": 23, 1190 "INVALID_ONION_PAYLOAD": 24, 1191 "INTERNAL_FAILURE": 997, 1192 "UNKNOWN_FAILURE": 998, 1193 "UNREADABLE_FAILURE": 999, 1194 } 1195 ) 1196 1197 func (x Failure_FailureCode) Enum() *Failure_FailureCode { 1198 p := new(Failure_FailureCode) 1199 *p = x 1200 return p 1201 } 1202 1203 func (x Failure_FailureCode) String() string { 1204 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1205 } 1206 1207 func (Failure_FailureCode) Descriptor() protoreflect.EnumDescriptor { 1208 return file_lightning_proto_enumTypes[18].Descriptor() 1209 } 1210 1211 func (Failure_FailureCode) Type() protoreflect.EnumType { 1212 return &file_lightning_proto_enumTypes[18] 1213 } 1214 1215 func (x Failure_FailureCode) Number() protoreflect.EnumNumber { 1216 return protoreflect.EnumNumber(x) 1217 } 1218 1219 // Deprecated: Use Failure_FailureCode.Descriptor instead. 1220 func (Failure_FailureCode) EnumDescriptor() ([]byte, []int) { 1221 return file_lightning_proto_rawDescGZIP(), []int{177, 0} 1222 } 1223 1224 type SubscribeCustomMessagesRequest struct { 1225 state protoimpl.MessageState 1226 sizeCache protoimpl.SizeCache 1227 unknownFields protoimpl.UnknownFields 1228 } 1229 1230 func (x *SubscribeCustomMessagesRequest) Reset() { 1231 *x = SubscribeCustomMessagesRequest{} 1232 if protoimpl.UnsafeEnabled { 1233 mi := &file_lightning_proto_msgTypes[0] 1234 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1235 ms.StoreMessageInfo(mi) 1236 } 1237 } 1238 1239 func (x *SubscribeCustomMessagesRequest) String() string { 1240 return protoimpl.X.MessageStringOf(x) 1241 } 1242 1243 func (*SubscribeCustomMessagesRequest) ProtoMessage() {} 1244 1245 func (x *SubscribeCustomMessagesRequest) ProtoReflect() protoreflect.Message { 1246 mi := &file_lightning_proto_msgTypes[0] 1247 if protoimpl.UnsafeEnabled && x != nil { 1248 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1249 if ms.LoadMessageInfo() == nil { 1250 ms.StoreMessageInfo(mi) 1251 } 1252 return ms 1253 } 1254 return mi.MessageOf(x) 1255 } 1256 1257 // Deprecated: Use SubscribeCustomMessagesRequest.ProtoReflect.Descriptor instead. 1258 func (*SubscribeCustomMessagesRequest) Descriptor() ([]byte, []int) { 1259 return file_lightning_proto_rawDescGZIP(), []int{0} 1260 } 1261 1262 type CustomMessage struct { 1263 state protoimpl.MessageState 1264 sizeCache protoimpl.SizeCache 1265 unknownFields protoimpl.UnknownFields 1266 1267 // Peer from which the message originates 1268 Peer []byte `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` 1269 // Message type. This value will be in the custom range (>= 32768). 1270 Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` 1271 // Raw message data 1272 Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` 1273 } 1274 1275 func (x *CustomMessage) Reset() { 1276 *x = CustomMessage{} 1277 if protoimpl.UnsafeEnabled { 1278 mi := &file_lightning_proto_msgTypes[1] 1279 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1280 ms.StoreMessageInfo(mi) 1281 } 1282 } 1283 1284 func (x *CustomMessage) String() string { 1285 return protoimpl.X.MessageStringOf(x) 1286 } 1287 1288 func (*CustomMessage) ProtoMessage() {} 1289 1290 func (x *CustomMessage) ProtoReflect() protoreflect.Message { 1291 mi := &file_lightning_proto_msgTypes[1] 1292 if protoimpl.UnsafeEnabled && x != nil { 1293 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1294 if ms.LoadMessageInfo() == nil { 1295 ms.StoreMessageInfo(mi) 1296 } 1297 return ms 1298 } 1299 return mi.MessageOf(x) 1300 } 1301 1302 // Deprecated: Use CustomMessage.ProtoReflect.Descriptor instead. 1303 func (*CustomMessage) Descriptor() ([]byte, []int) { 1304 return file_lightning_proto_rawDescGZIP(), []int{1} 1305 } 1306 1307 func (x *CustomMessage) GetPeer() []byte { 1308 if x != nil { 1309 return x.Peer 1310 } 1311 return nil 1312 } 1313 1314 func (x *CustomMessage) GetType() uint32 { 1315 if x != nil { 1316 return x.Type 1317 } 1318 return 0 1319 } 1320 1321 func (x *CustomMessage) GetData() []byte { 1322 if x != nil { 1323 return x.Data 1324 } 1325 return nil 1326 } 1327 1328 type SendCustomMessageRequest struct { 1329 state protoimpl.MessageState 1330 sizeCache protoimpl.SizeCache 1331 unknownFields protoimpl.UnknownFields 1332 1333 // Peer to send the message to 1334 Peer []byte `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` 1335 // Message type. This value needs to be in the custom range (>= 32768). 1336 Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` 1337 // Raw message data. 1338 Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` 1339 } 1340 1341 func (x *SendCustomMessageRequest) Reset() { 1342 *x = SendCustomMessageRequest{} 1343 if protoimpl.UnsafeEnabled { 1344 mi := &file_lightning_proto_msgTypes[2] 1345 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1346 ms.StoreMessageInfo(mi) 1347 } 1348 } 1349 1350 func (x *SendCustomMessageRequest) String() string { 1351 return protoimpl.X.MessageStringOf(x) 1352 } 1353 1354 func (*SendCustomMessageRequest) ProtoMessage() {} 1355 1356 func (x *SendCustomMessageRequest) ProtoReflect() protoreflect.Message { 1357 mi := &file_lightning_proto_msgTypes[2] 1358 if protoimpl.UnsafeEnabled && x != nil { 1359 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1360 if ms.LoadMessageInfo() == nil { 1361 ms.StoreMessageInfo(mi) 1362 } 1363 return ms 1364 } 1365 return mi.MessageOf(x) 1366 } 1367 1368 // Deprecated: Use SendCustomMessageRequest.ProtoReflect.Descriptor instead. 1369 func (*SendCustomMessageRequest) Descriptor() ([]byte, []int) { 1370 return file_lightning_proto_rawDescGZIP(), []int{2} 1371 } 1372 1373 func (x *SendCustomMessageRequest) GetPeer() []byte { 1374 if x != nil { 1375 return x.Peer 1376 } 1377 return nil 1378 } 1379 1380 func (x *SendCustomMessageRequest) GetType() uint32 { 1381 if x != nil { 1382 return x.Type 1383 } 1384 return 0 1385 } 1386 1387 func (x *SendCustomMessageRequest) GetData() []byte { 1388 if x != nil { 1389 return x.Data 1390 } 1391 return nil 1392 } 1393 1394 type SendCustomMessageResponse struct { 1395 state protoimpl.MessageState 1396 sizeCache protoimpl.SizeCache 1397 unknownFields protoimpl.UnknownFields 1398 } 1399 1400 func (x *SendCustomMessageResponse) Reset() { 1401 *x = SendCustomMessageResponse{} 1402 if protoimpl.UnsafeEnabled { 1403 mi := &file_lightning_proto_msgTypes[3] 1404 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1405 ms.StoreMessageInfo(mi) 1406 } 1407 } 1408 1409 func (x *SendCustomMessageResponse) String() string { 1410 return protoimpl.X.MessageStringOf(x) 1411 } 1412 1413 func (*SendCustomMessageResponse) ProtoMessage() {} 1414 1415 func (x *SendCustomMessageResponse) ProtoReflect() protoreflect.Message { 1416 mi := &file_lightning_proto_msgTypes[3] 1417 if protoimpl.UnsafeEnabled && x != nil { 1418 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1419 if ms.LoadMessageInfo() == nil { 1420 ms.StoreMessageInfo(mi) 1421 } 1422 return ms 1423 } 1424 return mi.MessageOf(x) 1425 } 1426 1427 // Deprecated: Use SendCustomMessageResponse.ProtoReflect.Descriptor instead. 1428 func (*SendCustomMessageResponse) Descriptor() ([]byte, []int) { 1429 return file_lightning_proto_rawDescGZIP(), []int{3} 1430 } 1431 1432 type Utxo struct { 1433 state protoimpl.MessageState 1434 sizeCache protoimpl.SizeCache 1435 unknownFields protoimpl.UnknownFields 1436 1437 // The type of address 1438 AddressType AddressType `protobuf:"varint,1,opt,name=address_type,json=addressType,proto3,enum=lnrpc.AddressType" json:"address_type,omitempty"` 1439 // The address 1440 Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` 1441 // The value of the unspent coin in atoms 1442 AmountAtoms int64 `protobuf:"varint,3,opt,name=amount_atoms,json=amountAtoms,proto3" json:"amount_atoms,omitempty"` 1443 // The pkscript in hex 1444 PkScript string `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"` 1445 // The outpoint in format txid:n 1446 Outpoint *OutPoint `protobuf:"bytes,5,opt,name=outpoint,proto3" json:"outpoint,omitempty"` 1447 // The number of confirmations for the Utxo 1448 Confirmations int64 `protobuf:"varint,6,opt,name=confirmations,proto3" json:"confirmations,omitempty"` 1449 } 1450 1451 func (x *Utxo) Reset() { 1452 *x = Utxo{} 1453 if protoimpl.UnsafeEnabled { 1454 mi := &file_lightning_proto_msgTypes[4] 1455 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1456 ms.StoreMessageInfo(mi) 1457 } 1458 } 1459 1460 func (x *Utxo) String() string { 1461 return protoimpl.X.MessageStringOf(x) 1462 } 1463 1464 func (*Utxo) ProtoMessage() {} 1465 1466 func (x *Utxo) ProtoReflect() protoreflect.Message { 1467 mi := &file_lightning_proto_msgTypes[4] 1468 if protoimpl.UnsafeEnabled && x != nil { 1469 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1470 if ms.LoadMessageInfo() == nil { 1471 ms.StoreMessageInfo(mi) 1472 } 1473 return ms 1474 } 1475 return mi.MessageOf(x) 1476 } 1477 1478 // Deprecated: Use Utxo.ProtoReflect.Descriptor instead. 1479 func (*Utxo) Descriptor() ([]byte, []int) { 1480 return file_lightning_proto_rawDescGZIP(), []int{4} 1481 } 1482 1483 func (x *Utxo) GetAddressType() AddressType { 1484 if x != nil { 1485 return x.AddressType 1486 } 1487 return AddressType_WITNESS_PUBKEY_HASH 1488 } 1489 1490 func (x *Utxo) GetAddress() string { 1491 if x != nil { 1492 return x.Address 1493 } 1494 return "" 1495 } 1496 1497 func (x *Utxo) GetAmountAtoms() int64 { 1498 if x != nil { 1499 return x.AmountAtoms 1500 } 1501 return 0 1502 } 1503 1504 func (x *Utxo) GetPkScript() string { 1505 if x != nil { 1506 return x.PkScript 1507 } 1508 return "" 1509 } 1510 1511 func (x *Utxo) GetOutpoint() *OutPoint { 1512 if x != nil { 1513 return x.Outpoint 1514 } 1515 return nil 1516 } 1517 1518 func (x *Utxo) GetConfirmations() int64 { 1519 if x != nil { 1520 return x.Confirmations 1521 } 1522 return 0 1523 } 1524 1525 type Transaction struct { 1526 state protoimpl.MessageState 1527 sizeCache protoimpl.SizeCache 1528 unknownFields protoimpl.UnknownFields 1529 1530 // The transaction hash 1531 TxHash string `protobuf:"bytes,1,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` 1532 // The transaction amount, denominated in atoms 1533 Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` 1534 // The number of confirmations 1535 NumConfirmations int32 `protobuf:"varint,3,opt,name=num_confirmations,json=numConfirmations,proto3" json:"num_confirmations,omitempty"` 1536 // The hash of the block this transaction was included in 1537 BlockHash string `protobuf:"bytes,4,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` 1538 // The height of the block this transaction was included in 1539 BlockHeight int32 `protobuf:"varint,5,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` 1540 // Timestamp of this transaction 1541 TimeStamp int64 `protobuf:"varint,6,opt,name=time_stamp,json=timeStamp,proto3" json:"time_stamp,omitempty"` 1542 // Fees paid for this transaction 1543 TotalFees int64 `protobuf:"varint,7,opt,name=total_fees,json=totalFees,proto3" json:"total_fees,omitempty"` 1544 // Addresses that received funds for this transaction 1545 DestAddresses []string `protobuf:"bytes,8,rep,name=dest_addresses,json=destAddresses,proto3" json:"dest_addresses,omitempty"` 1546 // The raw transaction hex. 1547 RawTxHex string `protobuf:"bytes,9,opt,name=raw_tx_hex,json=rawTxHex,proto3" json:"raw_tx_hex,omitempty"` 1548 // A label that was optionally set on transaction broadcast. 1549 Label string `protobuf:"bytes,10,opt,name=label,proto3" json:"label,omitempty"` 1550 } 1551 1552 func (x *Transaction) Reset() { 1553 *x = Transaction{} 1554 if protoimpl.UnsafeEnabled { 1555 mi := &file_lightning_proto_msgTypes[5] 1556 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1557 ms.StoreMessageInfo(mi) 1558 } 1559 } 1560 1561 func (x *Transaction) String() string { 1562 return protoimpl.X.MessageStringOf(x) 1563 } 1564 1565 func (*Transaction) ProtoMessage() {} 1566 1567 func (x *Transaction) ProtoReflect() protoreflect.Message { 1568 mi := &file_lightning_proto_msgTypes[5] 1569 if protoimpl.UnsafeEnabled && x != nil { 1570 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1571 if ms.LoadMessageInfo() == nil { 1572 ms.StoreMessageInfo(mi) 1573 } 1574 return ms 1575 } 1576 return mi.MessageOf(x) 1577 } 1578 1579 // Deprecated: Use Transaction.ProtoReflect.Descriptor instead. 1580 func (*Transaction) Descriptor() ([]byte, []int) { 1581 return file_lightning_proto_rawDescGZIP(), []int{5} 1582 } 1583 1584 func (x *Transaction) GetTxHash() string { 1585 if x != nil { 1586 return x.TxHash 1587 } 1588 return "" 1589 } 1590 1591 func (x *Transaction) GetAmount() int64 { 1592 if x != nil { 1593 return x.Amount 1594 } 1595 return 0 1596 } 1597 1598 func (x *Transaction) GetNumConfirmations() int32 { 1599 if x != nil { 1600 return x.NumConfirmations 1601 } 1602 return 0 1603 } 1604 1605 func (x *Transaction) GetBlockHash() string { 1606 if x != nil { 1607 return x.BlockHash 1608 } 1609 return "" 1610 } 1611 1612 func (x *Transaction) GetBlockHeight() int32 { 1613 if x != nil { 1614 return x.BlockHeight 1615 } 1616 return 0 1617 } 1618 1619 func (x *Transaction) GetTimeStamp() int64 { 1620 if x != nil { 1621 return x.TimeStamp 1622 } 1623 return 0 1624 } 1625 1626 func (x *Transaction) GetTotalFees() int64 { 1627 if x != nil { 1628 return x.TotalFees 1629 } 1630 return 0 1631 } 1632 1633 func (x *Transaction) GetDestAddresses() []string { 1634 if x != nil { 1635 return x.DestAddresses 1636 } 1637 return nil 1638 } 1639 1640 func (x *Transaction) GetRawTxHex() string { 1641 if x != nil { 1642 return x.RawTxHex 1643 } 1644 return "" 1645 } 1646 1647 func (x *Transaction) GetLabel() string { 1648 if x != nil { 1649 return x.Label 1650 } 1651 return "" 1652 } 1653 1654 type GetTransactionsRequest struct { 1655 state protoimpl.MessageState 1656 sizeCache protoimpl.SizeCache 1657 unknownFields protoimpl.UnknownFields 1658 1659 // The height from which to list transactions, inclusive. If this value is 1660 // greater than end_height, transactions will be read in reverse. 1661 StartHeight int32 `protobuf:"varint,1,opt,name=start_height,json=startHeight,proto3" json:"start_height,omitempty"` 1662 // The height until which to list transactions, inclusive. To include 1663 // unconfirmed transactions, this value should be set to -1, which will 1664 // return transactions from start_height until the current chain tip and 1665 // unconfirmed transactions. If no end_height is provided, the call will 1666 // default to this option. 1667 EndHeight int32 `protobuf:"varint,2,opt,name=end_height,json=endHeight,proto3" json:"end_height,omitempty"` 1668 // An optional filter to only include transactions relevant to an account. 1669 Account string `protobuf:"bytes,3,opt,name=account,proto3" json:"account,omitempty"` 1670 } 1671 1672 func (x *GetTransactionsRequest) Reset() { 1673 *x = GetTransactionsRequest{} 1674 if protoimpl.UnsafeEnabled { 1675 mi := &file_lightning_proto_msgTypes[6] 1676 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1677 ms.StoreMessageInfo(mi) 1678 } 1679 } 1680 1681 func (x *GetTransactionsRequest) String() string { 1682 return protoimpl.X.MessageStringOf(x) 1683 } 1684 1685 func (*GetTransactionsRequest) ProtoMessage() {} 1686 1687 func (x *GetTransactionsRequest) ProtoReflect() protoreflect.Message { 1688 mi := &file_lightning_proto_msgTypes[6] 1689 if protoimpl.UnsafeEnabled && x != nil { 1690 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1691 if ms.LoadMessageInfo() == nil { 1692 ms.StoreMessageInfo(mi) 1693 } 1694 return ms 1695 } 1696 return mi.MessageOf(x) 1697 } 1698 1699 // Deprecated: Use GetTransactionsRequest.ProtoReflect.Descriptor instead. 1700 func (*GetTransactionsRequest) Descriptor() ([]byte, []int) { 1701 return file_lightning_proto_rawDescGZIP(), []int{6} 1702 } 1703 1704 func (x *GetTransactionsRequest) GetStartHeight() int32 { 1705 if x != nil { 1706 return x.StartHeight 1707 } 1708 return 0 1709 } 1710 1711 func (x *GetTransactionsRequest) GetEndHeight() int32 { 1712 if x != nil { 1713 return x.EndHeight 1714 } 1715 return 0 1716 } 1717 1718 func (x *GetTransactionsRequest) GetAccount() string { 1719 if x != nil { 1720 return x.Account 1721 } 1722 return "" 1723 } 1724 1725 type TransactionDetails struct { 1726 state protoimpl.MessageState 1727 sizeCache protoimpl.SizeCache 1728 unknownFields protoimpl.UnknownFields 1729 1730 // The list of transactions relevant to the wallet. 1731 Transactions []*Transaction `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"` 1732 } 1733 1734 func (x *TransactionDetails) Reset() { 1735 *x = TransactionDetails{} 1736 if protoimpl.UnsafeEnabled { 1737 mi := &file_lightning_proto_msgTypes[7] 1738 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1739 ms.StoreMessageInfo(mi) 1740 } 1741 } 1742 1743 func (x *TransactionDetails) String() string { 1744 return protoimpl.X.MessageStringOf(x) 1745 } 1746 1747 func (*TransactionDetails) ProtoMessage() {} 1748 1749 func (x *TransactionDetails) ProtoReflect() protoreflect.Message { 1750 mi := &file_lightning_proto_msgTypes[7] 1751 if protoimpl.UnsafeEnabled && x != nil { 1752 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1753 if ms.LoadMessageInfo() == nil { 1754 ms.StoreMessageInfo(mi) 1755 } 1756 return ms 1757 } 1758 return mi.MessageOf(x) 1759 } 1760 1761 // Deprecated: Use TransactionDetails.ProtoReflect.Descriptor instead. 1762 func (*TransactionDetails) Descriptor() ([]byte, []int) { 1763 return file_lightning_proto_rawDescGZIP(), []int{7} 1764 } 1765 1766 func (x *TransactionDetails) GetTransactions() []*Transaction { 1767 if x != nil { 1768 return x.Transactions 1769 } 1770 return nil 1771 } 1772 1773 type FeeLimit struct { 1774 state protoimpl.MessageState 1775 sizeCache protoimpl.SizeCache 1776 unknownFields protoimpl.UnknownFields 1777 1778 // Types that are assignable to Limit: 1779 // 1780 // *FeeLimit_Fixed 1781 // *FeeLimit_FixedMAtoms 1782 // *FeeLimit_Percent 1783 Limit isFeeLimit_Limit `protobuf_oneof:"limit"` 1784 } 1785 1786 func (x *FeeLimit) Reset() { 1787 *x = FeeLimit{} 1788 if protoimpl.UnsafeEnabled { 1789 mi := &file_lightning_proto_msgTypes[8] 1790 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1791 ms.StoreMessageInfo(mi) 1792 } 1793 } 1794 1795 func (x *FeeLimit) String() string { 1796 return protoimpl.X.MessageStringOf(x) 1797 } 1798 1799 func (*FeeLimit) ProtoMessage() {} 1800 1801 func (x *FeeLimit) ProtoReflect() protoreflect.Message { 1802 mi := &file_lightning_proto_msgTypes[8] 1803 if protoimpl.UnsafeEnabled && x != nil { 1804 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1805 if ms.LoadMessageInfo() == nil { 1806 ms.StoreMessageInfo(mi) 1807 } 1808 return ms 1809 } 1810 return mi.MessageOf(x) 1811 } 1812 1813 // Deprecated: Use FeeLimit.ProtoReflect.Descriptor instead. 1814 func (*FeeLimit) Descriptor() ([]byte, []int) { 1815 return file_lightning_proto_rawDescGZIP(), []int{8} 1816 } 1817 1818 func (m *FeeLimit) GetLimit() isFeeLimit_Limit { 1819 if m != nil { 1820 return m.Limit 1821 } 1822 return nil 1823 } 1824 1825 func (x *FeeLimit) GetFixed() int64 { 1826 if x, ok := x.GetLimit().(*FeeLimit_Fixed); ok { 1827 return x.Fixed 1828 } 1829 return 0 1830 } 1831 1832 func (x *FeeLimit) GetFixedMAtoms() int64 { 1833 if x, ok := x.GetLimit().(*FeeLimit_FixedMAtoms); ok { 1834 return x.FixedMAtoms 1835 } 1836 return 0 1837 } 1838 1839 func (x *FeeLimit) GetPercent() int64 { 1840 if x, ok := x.GetLimit().(*FeeLimit_Percent); ok { 1841 return x.Percent 1842 } 1843 return 0 1844 } 1845 1846 type isFeeLimit_Limit interface { 1847 isFeeLimit_Limit() 1848 } 1849 1850 type FeeLimit_Fixed struct { 1851 // The fee limit expressed as a fixed amount of atoms. 1852 // 1853 // The fields fixed and fixed_m_atoms are mutually exclusive. 1854 Fixed int64 `protobuf:"varint,1,opt,name=fixed,proto3,oneof"` 1855 } 1856 1857 type FeeLimit_FixedMAtoms struct { 1858 // The fee limit expressed as a fixed amount of milliatoms. 1859 // 1860 // The fields fixed and fixed_m_atoms are mutually exclusive. 1861 FixedMAtoms int64 `protobuf:"varint,3,opt,name=fixed_m_atoms,json=fixedMAtoms,proto3,oneof"` 1862 } 1863 1864 type FeeLimit_Percent struct { 1865 // The fee limit expressed as a percentage of the payment amount. 1866 Percent int64 `protobuf:"varint,2,opt,name=percent,proto3,oneof"` 1867 } 1868 1869 func (*FeeLimit_Fixed) isFeeLimit_Limit() {} 1870 1871 func (*FeeLimit_FixedMAtoms) isFeeLimit_Limit() {} 1872 1873 func (*FeeLimit_Percent) isFeeLimit_Limit() {} 1874 1875 type SendRequest struct { 1876 state protoimpl.MessageState 1877 sizeCache protoimpl.SizeCache 1878 unknownFields protoimpl.UnknownFields 1879 1880 // The identity pubkey of the payment recipient. When using REST, this field 1881 // must be encoded as base64. 1882 Dest []byte `protobuf:"bytes,1,opt,name=dest,proto3" json:"dest,omitempty"` 1883 // The hex-encoded identity pubkey of the payment recipient. Deprecated now 1884 // that the REST gateway supports base64 encoding of bytes fields. 1885 // 1886 // Deprecated: Marked as deprecated in lightning.proto. 1887 DestString string `protobuf:"bytes,2,opt,name=dest_string,json=destString,proto3" json:"dest_string,omitempty"` 1888 // The amount to send expressed in atoms. 1889 // 1890 // The fields amt and amt_m_atoms are mutually exclusive. 1891 Amt int64 `protobuf:"varint,3,opt,name=amt,proto3" json:"amt,omitempty"` 1892 // The amount to send expressed in milliatoms. 1893 // 1894 // The fields amt and amt_m_atoms are mutually exclusive. 1895 AmtMAtoms int64 `protobuf:"varint,13,opt,name=amt_m_atoms,json=amtMAtoms,proto3" json:"amt_m_atoms,omitempty"` 1896 // The hash to use within the payment's HTLC. When using REST, this field 1897 // must be encoded as base64. 1898 PaymentHash []byte `protobuf:"bytes,4,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` 1899 // The hex-encoded hash to use within the payment's HTLC. Deprecated now 1900 // that the REST gateway supports base64 encoding of bytes fields. 1901 // 1902 // Deprecated: Marked as deprecated in lightning.proto. 1903 PaymentHashString string `protobuf:"bytes,5,opt,name=payment_hash_string,json=paymentHashString,proto3" json:"payment_hash_string,omitempty"` 1904 // A bare-bones invoice for a payment within the Lightning Network. With the 1905 // details of the invoice, the sender has all the data necessary to send a 1906 // payment to the recipient. 1907 PaymentRequest string `protobuf:"bytes,6,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"` 1908 // The CLTV delta from the current height that should be used to set the 1909 // timelock for the final hop. 1910 FinalCltvDelta int32 `protobuf:"varint,7,opt,name=final_cltv_delta,json=finalCltvDelta,proto3" json:"final_cltv_delta,omitempty"` 1911 // The maximum number of atoms that will be paid as a fee of the payment. 1912 // This value can be represented either as a percentage of the amount being 1913 // sent, or as a fixed amount of the maximum fee the user is willing the pay to 1914 // send the payment. If not specified, lnd will use a default value of 100% 1915 // fees for small amounts (<=1k atoms) or 5% fees for larger amounts. 1916 FeeLimit *FeeLimit `protobuf:"bytes,8,opt,name=fee_limit,json=feeLimit,proto3" json:"fee_limit,omitempty"` 1917 // The channel id of the channel that must be taken to the first hop. If zero, 1918 // any channel may be used. 1919 OutgoingChanId uint64 `protobuf:"varint,10,opt,name=outgoing_chan_id,json=outgoingChanId,proto3" json:"outgoing_chan_id,omitempty"` 1920 // Whether to forgo checking for the maximum outbound amount before attempting 1921 // to send the payment. 1922 // 1923 // When sending a payment, the node will check if there is enough outbound 1924 // bandwidth in at least one of its directly connected channels (after 1925 // accounting for the required reserves) before attempting to determine a 1926 // route for it. Specifying this parameter will disable these checks and allow 1927 // the node to attempt the payment even if there are no outbound channels with 1928 // enough capacity to send it. 1929 IgnoreMaxOutboundAmt bool `protobuf:"varint,9,opt,name=ignore_max_outbound_amt,json=ignoreMaxOutboundAmt,proto3" json:"ignore_max_outbound_amt,omitempty"` 1930 // The pubkey of the last hop of the route. If empty, any hop may be used. 1931 LastHopPubkey []byte `protobuf:"bytes,14,opt,name=last_hop_pubkey,json=lastHopPubkey,proto3" json:"last_hop_pubkey,omitempty"` 1932 // An optional maximum total time lock for the route. This should not exceed 1933 // lnd's `--max-cltv-expiry` setting. If zero, then the value of 1934 // `--max-cltv-expiry` is enforced. 1935 CltvLimit uint32 `protobuf:"varint,11,opt,name=cltv_limit,json=cltvLimit,proto3" json:"cltv_limit,omitempty"` 1936 // An optional field that can be used to pass an arbitrary set of TLV records 1937 // to a peer which understands the new records. This can be used to pass 1938 // application specific data during the payment attempt. Record types are 1939 // required to be in the custom range >= 65536. When using REST, the values 1940 // must be encoded as base64. 1941 DestCustomRecords map[uint64][]byte `protobuf:"bytes,12,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"` 1942 // If set, circular payments to self are permitted. 1943 AllowSelfPayment bool `protobuf:"varint,15,opt,name=allow_self_payment,json=allowSelfPayment,proto3" json:"allow_self_payment,omitempty"` 1944 // Features assumed to be supported by the final node. All transitive feature 1945 // dependencies must also be set properly. For a given feature bit pair, either 1946 // optional or remote may be set, but not both. If this field is nil or empty, 1947 // the router will try to load destination features from the graph as a 1948 // fallback. 1949 DestFeatures []FeatureBit `protobuf:"varint,16,rep,packed,name=dest_features,json=destFeatures,proto3,enum=lnrpc.FeatureBit" json:"dest_features,omitempty"` 1950 // The payment address of the generated invoice. 1951 PaymentAddr []byte `protobuf:"bytes,17,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` 1952 } 1953 1954 func (x *SendRequest) Reset() { 1955 *x = SendRequest{} 1956 if protoimpl.UnsafeEnabled { 1957 mi := &file_lightning_proto_msgTypes[9] 1958 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1959 ms.StoreMessageInfo(mi) 1960 } 1961 } 1962 1963 func (x *SendRequest) String() string { 1964 return protoimpl.X.MessageStringOf(x) 1965 } 1966 1967 func (*SendRequest) ProtoMessage() {} 1968 1969 func (x *SendRequest) ProtoReflect() protoreflect.Message { 1970 mi := &file_lightning_proto_msgTypes[9] 1971 if protoimpl.UnsafeEnabled && x != nil { 1972 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1973 if ms.LoadMessageInfo() == nil { 1974 ms.StoreMessageInfo(mi) 1975 } 1976 return ms 1977 } 1978 return mi.MessageOf(x) 1979 } 1980 1981 // Deprecated: Use SendRequest.ProtoReflect.Descriptor instead. 1982 func (*SendRequest) Descriptor() ([]byte, []int) { 1983 return file_lightning_proto_rawDescGZIP(), []int{9} 1984 } 1985 1986 func (x *SendRequest) GetDest() []byte { 1987 if x != nil { 1988 return x.Dest 1989 } 1990 return nil 1991 } 1992 1993 // Deprecated: Marked as deprecated in lightning.proto. 1994 func (x *SendRequest) GetDestString() string { 1995 if x != nil { 1996 return x.DestString 1997 } 1998 return "" 1999 } 2000 2001 func (x *SendRequest) GetAmt() int64 { 2002 if x != nil { 2003 return x.Amt 2004 } 2005 return 0 2006 } 2007 2008 func (x *SendRequest) GetAmtMAtoms() int64 { 2009 if x != nil { 2010 return x.AmtMAtoms 2011 } 2012 return 0 2013 } 2014 2015 func (x *SendRequest) GetPaymentHash() []byte { 2016 if x != nil { 2017 return x.PaymentHash 2018 } 2019 return nil 2020 } 2021 2022 // Deprecated: Marked as deprecated in lightning.proto. 2023 func (x *SendRequest) GetPaymentHashString() string { 2024 if x != nil { 2025 return x.PaymentHashString 2026 } 2027 return "" 2028 } 2029 2030 func (x *SendRequest) GetPaymentRequest() string { 2031 if x != nil { 2032 return x.PaymentRequest 2033 } 2034 return "" 2035 } 2036 2037 func (x *SendRequest) GetFinalCltvDelta() int32 { 2038 if x != nil { 2039 return x.FinalCltvDelta 2040 } 2041 return 0 2042 } 2043 2044 func (x *SendRequest) GetFeeLimit() *FeeLimit { 2045 if x != nil { 2046 return x.FeeLimit 2047 } 2048 return nil 2049 } 2050 2051 func (x *SendRequest) GetOutgoingChanId() uint64 { 2052 if x != nil { 2053 return x.OutgoingChanId 2054 } 2055 return 0 2056 } 2057 2058 func (x *SendRequest) GetIgnoreMaxOutboundAmt() bool { 2059 if x != nil { 2060 return x.IgnoreMaxOutboundAmt 2061 } 2062 return false 2063 } 2064 2065 func (x *SendRequest) GetLastHopPubkey() []byte { 2066 if x != nil { 2067 return x.LastHopPubkey 2068 } 2069 return nil 2070 } 2071 2072 func (x *SendRequest) GetCltvLimit() uint32 { 2073 if x != nil { 2074 return x.CltvLimit 2075 } 2076 return 0 2077 } 2078 2079 func (x *SendRequest) GetDestCustomRecords() map[uint64][]byte { 2080 if x != nil { 2081 return x.DestCustomRecords 2082 } 2083 return nil 2084 } 2085 2086 func (x *SendRequest) GetAllowSelfPayment() bool { 2087 if x != nil { 2088 return x.AllowSelfPayment 2089 } 2090 return false 2091 } 2092 2093 func (x *SendRequest) GetDestFeatures() []FeatureBit { 2094 if x != nil { 2095 return x.DestFeatures 2096 } 2097 return nil 2098 } 2099 2100 func (x *SendRequest) GetPaymentAddr() []byte { 2101 if x != nil { 2102 return x.PaymentAddr 2103 } 2104 return nil 2105 } 2106 2107 type SendResponse struct { 2108 state protoimpl.MessageState 2109 sizeCache protoimpl.SizeCache 2110 unknownFields protoimpl.UnknownFields 2111 2112 PaymentError string `protobuf:"bytes,1,opt,name=payment_error,json=paymentError,proto3" json:"payment_error,omitempty"` 2113 PaymentPreimage []byte `protobuf:"bytes,2,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` 2114 PaymentRoute *Route `protobuf:"bytes,3,opt,name=payment_route,json=paymentRoute,proto3" json:"payment_route,omitempty"` 2115 PaymentHash []byte `protobuf:"bytes,4,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` 2116 } 2117 2118 func (x *SendResponse) Reset() { 2119 *x = SendResponse{} 2120 if protoimpl.UnsafeEnabled { 2121 mi := &file_lightning_proto_msgTypes[10] 2122 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2123 ms.StoreMessageInfo(mi) 2124 } 2125 } 2126 2127 func (x *SendResponse) String() string { 2128 return protoimpl.X.MessageStringOf(x) 2129 } 2130 2131 func (*SendResponse) ProtoMessage() {} 2132 2133 func (x *SendResponse) ProtoReflect() protoreflect.Message { 2134 mi := &file_lightning_proto_msgTypes[10] 2135 if protoimpl.UnsafeEnabled && x != nil { 2136 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2137 if ms.LoadMessageInfo() == nil { 2138 ms.StoreMessageInfo(mi) 2139 } 2140 return ms 2141 } 2142 return mi.MessageOf(x) 2143 } 2144 2145 // Deprecated: Use SendResponse.ProtoReflect.Descriptor instead. 2146 func (*SendResponse) Descriptor() ([]byte, []int) { 2147 return file_lightning_proto_rawDescGZIP(), []int{10} 2148 } 2149 2150 func (x *SendResponse) GetPaymentError() string { 2151 if x != nil { 2152 return x.PaymentError 2153 } 2154 return "" 2155 } 2156 2157 func (x *SendResponse) GetPaymentPreimage() []byte { 2158 if x != nil { 2159 return x.PaymentPreimage 2160 } 2161 return nil 2162 } 2163 2164 func (x *SendResponse) GetPaymentRoute() *Route { 2165 if x != nil { 2166 return x.PaymentRoute 2167 } 2168 return nil 2169 } 2170 2171 func (x *SendResponse) GetPaymentHash() []byte { 2172 if x != nil { 2173 return x.PaymentHash 2174 } 2175 return nil 2176 } 2177 2178 type SendToRouteRequest struct { 2179 state protoimpl.MessageState 2180 sizeCache protoimpl.SizeCache 2181 unknownFields protoimpl.UnknownFields 2182 2183 // The payment hash to use for the HTLC. When using REST, this field must be 2184 // encoded as base64. 2185 PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` 2186 // An optional hex-encoded payment hash to be used for the HTLC. Deprecated now 2187 // that the REST gateway supports base64 encoding of bytes fields. 2188 // 2189 // Deprecated: Marked as deprecated in lightning.proto. 2190 PaymentHashString string `protobuf:"bytes,2,opt,name=payment_hash_string,json=paymentHashString,proto3" json:"payment_hash_string,omitempty"` 2191 // Route that should be used to attempt to complete the payment. 2192 Route *Route `protobuf:"bytes,4,opt,name=route,proto3" json:"route,omitempty"` 2193 } 2194 2195 func (x *SendToRouteRequest) Reset() { 2196 *x = SendToRouteRequest{} 2197 if protoimpl.UnsafeEnabled { 2198 mi := &file_lightning_proto_msgTypes[11] 2199 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2200 ms.StoreMessageInfo(mi) 2201 } 2202 } 2203 2204 func (x *SendToRouteRequest) String() string { 2205 return protoimpl.X.MessageStringOf(x) 2206 } 2207 2208 func (*SendToRouteRequest) ProtoMessage() {} 2209 2210 func (x *SendToRouteRequest) ProtoReflect() protoreflect.Message { 2211 mi := &file_lightning_proto_msgTypes[11] 2212 if protoimpl.UnsafeEnabled && x != nil { 2213 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2214 if ms.LoadMessageInfo() == nil { 2215 ms.StoreMessageInfo(mi) 2216 } 2217 return ms 2218 } 2219 return mi.MessageOf(x) 2220 } 2221 2222 // Deprecated: Use SendToRouteRequest.ProtoReflect.Descriptor instead. 2223 func (*SendToRouteRequest) Descriptor() ([]byte, []int) { 2224 return file_lightning_proto_rawDescGZIP(), []int{11} 2225 } 2226 2227 func (x *SendToRouteRequest) GetPaymentHash() []byte { 2228 if x != nil { 2229 return x.PaymentHash 2230 } 2231 return nil 2232 } 2233 2234 // Deprecated: Marked as deprecated in lightning.proto. 2235 func (x *SendToRouteRequest) GetPaymentHashString() string { 2236 if x != nil { 2237 return x.PaymentHashString 2238 } 2239 return "" 2240 } 2241 2242 func (x *SendToRouteRequest) GetRoute() *Route { 2243 if x != nil { 2244 return x.Route 2245 } 2246 return nil 2247 } 2248 2249 type ChannelAcceptRequest struct { 2250 state protoimpl.MessageState 2251 sizeCache protoimpl.SizeCache 2252 unknownFields protoimpl.UnknownFields 2253 2254 // The pubkey of the node that wishes to open an inbound channel. 2255 NodePubkey []byte `protobuf:"bytes,1,opt,name=node_pubkey,json=nodePubkey,proto3" json:"node_pubkey,omitempty"` 2256 // The hash of the genesis block that the proposed channel resides in. 2257 ChainHash []byte `protobuf:"bytes,2,opt,name=chain_hash,json=chainHash,proto3" json:"chain_hash,omitempty"` 2258 // The pending channel id. 2259 PendingChanId []byte `protobuf:"bytes,3,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` 2260 // The funding amount in satoshis that initiator wishes to use in the 2261 // channel. 2262 FundingAmt uint64 `protobuf:"varint,4,opt,name=funding_amt,json=fundingAmt,proto3" json:"funding_amt,omitempty"` 2263 // The push amount of the proposed channel in millisatoshis. 2264 PushAmt uint64 `protobuf:"varint,5,opt,name=push_amt,json=pushAmt,proto3" json:"push_amt,omitempty"` 2265 // The dust limit of the initiator's commitment tx. 2266 DustLimit uint64 `protobuf:"varint,6,opt,name=dust_limit,json=dustLimit,proto3" json:"dust_limit,omitempty"` 2267 // The maximum amount of coins in millisatoshis that can be pending in this 2268 // channel. 2269 MaxValueInFlight uint64 `protobuf:"varint,7,opt,name=max_value_in_flight,json=maxValueInFlight,proto3" json:"max_value_in_flight,omitempty"` 2270 // The minimum amount of satoshis the initiator requires us to have at all 2271 // times. 2272 ChannelReserve uint64 `protobuf:"varint,8,opt,name=channel_reserve,json=channelReserve,proto3" json:"channel_reserve,omitempty"` 2273 // The smallest HTLC in millisatoshis that the initiator will accept. 2274 MinHtlc uint64 `protobuf:"varint,9,opt,name=min_htlc,json=minHtlc,proto3" json:"min_htlc,omitempty"` 2275 // The initial fee rate that the initiator suggests for both commitment 2276 // transactions. 2277 FeePerKb uint64 `protobuf:"varint,10,opt,name=fee_per_kb,json=feePerKb,proto3" json:"fee_per_kb,omitempty"` 2278 // The number of blocks to use for the relative time lock in the pay-to-self 2279 // output of both commitment transactions. 2280 CsvDelay uint32 `protobuf:"varint,11,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"` 2281 // The total number of incoming HTLC's that the initiator will accept. 2282 MaxAcceptedHtlcs uint32 `protobuf:"varint,12,opt,name=max_accepted_htlcs,json=maxAcceptedHtlcs,proto3" json:"max_accepted_htlcs,omitempty"` 2283 // A bit-field which the initiator uses to specify proposed channel 2284 // behavior. 2285 ChannelFlags uint32 `protobuf:"varint,13,opt,name=channel_flags,json=channelFlags,proto3" json:"channel_flags,omitempty"` 2286 // The commitment type the initiator wishes to use for the proposed channel. 2287 CommitmentType CommitmentType `protobuf:"varint,14,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"` 2288 } 2289 2290 func (x *ChannelAcceptRequest) Reset() { 2291 *x = ChannelAcceptRequest{} 2292 if protoimpl.UnsafeEnabled { 2293 mi := &file_lightning_proto_msgTypes[12] 2294 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2295 ms.StoreMessageInfo(mi) 2296 } 2297 } 2298 2299 func (x *ChannelAcceptRequest) String() string { 2300 return protoimpl.X.MessageStringOf(x) 2301 } 2302 2303 func (*ChannelAcceptRequest) ProtoMessage() {} 2304 2305 func (x *ChannelAcceptRequest) ProtoReflect() protoreflect.Message { 2306 mi := &file_lightning_proto_msgTypes[12] 2307 if protoimpl.UnsafeEnabled && x != nil { 2308 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2309 if ms.LoadMessageInfo() == nil { 2310 ms.StoreMessageInfo(mi) 2311 } 2312 return ms 2313 } 2314 return mi.MessageOf(x) 2315 } 2316 2317 // Deprecated: Use ChannelAcceptRequest.ProtoReflect.Descriptor instead. 2318 func (*ChannelAcceptRequest) Descriptor() ([]byte, []int) { 2319 return file_lightning_proto_rawDescGZIP(), []int{12} 2320 } 2321 2322 func (x *ChannelAcceptRequest) GetNodePubkey() []byte { 2323 if x != nil { 2324 return x.NodePubkey 2325 } 2326 return nil 2327 } 2328 2329 func (x *ChannelAcceptRequest) GetChainHash() []byte { 2330 if x != nil { 2331 return x.ChainHash 2332 } 2333 return nil 2334 } 2335 2336 func (x *ChannelAcceptRequest) GetPendingChanId() []byte { 2337 if x != nil { 2338 return x.PendingChanId 2339 } 2340 return nil 2341 } 2342 2343 func (x *ChannelAcceptRequest) GetFundingAmt() uint64 { 2344 if x != nil { 2345 return x.FundingAmt 2346 } 2347 return 0 2348 } 2349 2350 func (x *ChannelAcceptRequest) GetPushAmt() uint64 { 2351 if x != nil { 2352 return x.PushAmt 2353 } 2354 return 0 2355 } 2356 2357 func (x *ChannelAcceptRequest) GetDustLimit() uint64 { 2358 if x != nil { 2359 return x.DustLimit 2360 } 2361 return 0 2362 } 2363 2364 func (x *ChannelAcceptRequest) GetMaxValueInFlight() uint64 { 2365 if x != nil { 2366 return x.MaxValueInFlight 2367 } 2368 return 0 2369 } 2370 2371 func (x *ChannelAcceptRequest) GetChannelReserve() uint64 { 2372 if x != nil { 2373 return x.ChannelReserve 2374 } 2375 return 0 2376 } 2377 2378 func (x *ChannelAcceptRequest) GetMinHtlc() uint64 { 2379 if x != nil { 2380 return x.MinHtlc 2381 } 2382 return 0 2383 } 2384 2385 func (x *ChannelAcceptRequest) GetFeePerKb() uint64 { 2386 if x != nil { 2387 return x.FeePerKb 2388 } 2389 return 0 2390 } 2391 2392 func (x *ChannelAcceptRequest) GetCsvDelay() uint32 { 2393 if x != nil { 2394 return x.CsvDelay 2395 } 2396 return 0 2397 } 2398 2399 func (x *ChannelAcceptRequest) GetMaxAcceptedHtlcs() uint32 { 2400 if x != nil { 2401 return x.MaxAcceptedHtlcs 2402 } 2403 return 0 2404 } 2405 2406 func (x *ChannelAcceptRequest) GetChannelFlags() uint32 { 2407 if x != nil { 2408 return x.ChannelFlags 2409 } 2410 return 0 2411 } 2412 2413 func (x *ChannelAcceptRequest) GetCommitmentType() CommitmentType { 2414 if x != nil { 2415 return x.CommitmentType 2416 } 2417 return CommitmentType_UNKNOWN_COMMITMENT_TYPE 2418 } 2419 2420 type ChannelAcceptResponse struct { 2421 state protoimpl.MessageState 2422 sizeCache protoimpl.SizeCache 2423 unknownFields protoimpl.UnknownFields 2424 2425 // Whether or not the client accepts the channel. 2426 Accept bool `protobuf:"varint,1,opt,name=accept,proto3" json:"accept,omitempty"` 2427 // The pending channel id to which this response applies. 2428 PendingChanId []byte `protobuf:"bytes,2,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` 2429 // An optional error to send the initiating party to indicate why the channel 2430 // was rejected. This field *should not* contain sensitive information, it will 2431 // be sent to the initiating party. This field should only be set if accept is 2432 // false, the channel will be rejected if an error is set with accept=true 2433 // because the meaning of this response is ambiguous. Limited to 500 2434 // characters. 2435 Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` 2436 // The upfront shutdown address to use if the initiating peer supports option 2437 // upfront shutdown script (see ListPeers for the features supported). Note 2438 // that the channel open will fail if this value is set for a peer that does 2439 // not support this feature bit. 2440 UpfrontShutdown string `protobuf:"bytes,4,opt,name=upfront_shutdown,json=upfrontShutdown,proto3" json:"upfront_shutdown,omitempty"` 2441 // The csv delay (in blocks) that we require for the remote party. 2442 CsvDelay uint32 `protobuf:"varint,5,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"` 2443 // The reserve amount in atoms that we require the remote peer to adhere to. 2444 // We require that the remote peer always have some reserve amount allocated to 2445 // them so that there is always a disincentive to broadcast old state (if they 2446 // hold 0 sats on their side of the channel, there is nothing to lose). 2447 ReserveAtoms uint64 `protobuf:"varint,6,opt,name=reserve_atoms,json=reserveAtoms,proto3" json:"reserve_atoms,omitempty"` 2448 // The maximum amount of funds in milliatoms that we allow the remote peer 2449 // to have in outstanding htlcs. 2450 InFlightMaxMatoms uint64 `protobuf:"varint,7,opt,name=in_flight_max_matoms,json=inFlightMaxMatoms,proto3" json:"in_flight_max_matoms,omitempty"` 2451 // The maximum number of htlcs that the remote peer can offer us. 2452 MaxHtlcCount uint32 `protobuf:"varint,8,opt,name=max_htlc_count,json=maxHtlcCount,proto3" json:"max_htlc_count,omitempty"` 2453 // The minimum value in milliatoms for incoming htlcs on the channel. 2454 MinHtlcIn uint64 `protobuf:"varint,9,opt,name=min_htlc_in,json=minHtlcIn,proto3" json:"min_htlc_in,omitempty"` 2455 // The number of confirmations we require before we consider the channel open. 2456 MinAcceptDepth uint32 `protobuf:"varint,10,opt,name=min_accept_depth,json=minAcceptDepth,proto3" json:"min_accept_depth,omitempty"` 2457 } 2458 2459 func (x *ChannelAcceptResponse) Reset() { 2460 *x = ChannelAcceptResponse{} 2461 if protoimpl.UnsafeEnabled { 2462 mi := &file_lightning_proto_msgTypes[13] 2463 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2464 ms.StoreMessageInfo(mi) 2465 } 2466 } 2467 2468 func (x *ChannelAcceptResponse) String() string { 2469 return protoimpl.X.MessageStringOf(x) 2470 } 2471 2472 func (*ChannelAcceptResponse) ProtoMessage() {} 2473 2474 func (x *ChannelAcceptResponse) ProtoReflect() protoreflect.Message { 2475 mi := &file_lightning_proto_msgTypes[13] 2476 if protoimpl.UnsafeEnabled && x != nil { 2477 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2478 if ms.LoadMessageInfo() == nil { 2479 ms.StoreMessageInfo(mi) 2480 } 2481 return ms 2482 } 2483 return mi.MessageOf(x) 2484 } 2485 2486 // Deprecated: Use ChannelAcceptResponse.ProtoReflect.Descriptor instead. 2487 func (*ChannelAcceptResponse) Descriptor() ([]byte, []int) { 2488 return file_lightning_proto_rawDescGZIP(), []int{13} 2489 } 2490 2491 func (x *ChannelAcceptResponse) GetAccept() bool { 2492 if x != nil { 2493 return x.Accept 2494 } 2495 return false 2496 } 2497 2498 func (x *ChannelAcceptResponse) GetPendingChanId() []byte { 2499 if x != nil { 2500 return x.PendingChanId 2501 } 2502 return nil 2503 } 2504 2505 func (x *ChannelAcceptResponse) GetError() string { 2506 if x != nil { 2507 return x.Error 2508 } 2509 return "" 2510 } 2511 2512 func (x *ChannelAcceptResponse) GetUpfrontShutdown() string { 2513 if x != nil { 2514 return x.UpfrontShutdown 2515 } 2516 return "" 2517 } 2518 2519 func (x *ChannelAcceptResponse) GetCsvDelay() uint32 { 2520 if x != nil { 2521 return x.CsvDelay 2522 } 2523 return 0 2524 } 2525 2526 func (x *ChannelAcceptResponse) GetReserveAtoms() uint64 { 2527 if x != nil { 2528 return x.ReserveAtoms 2529 } 2530 return 0 2531 } 2532 2533 func (x *ChannelAcceptResponse) GetInFlightMaxMatoms() uint64 { 2534 if x != nil { 2535 return x.InFlightMaxMatoms 2536 } 2537 return 0 2538 } 2539 2540 func (x *ChannelAcceptResponse) GetMaxHtlcCount() uint32 { 2541 if x != nil { 2542 return x.MaxHtlcCount 2543 } 2544 return 0 2545 } 2546 2547 func (x *ChannelAcceptResponse) GetMinHtlcIn() uint64 { 2548 if x != nil { 2549 return x.MinHtlcIn 2550 } 2551 return 0 2552 } 2553 2554 func (x *ChannelAcceptResponse) GetMinAcceptDepth() uint32 { 2555 if x != nil { 2556 return x.MinAcceptDepth 2557 } 2558 return 0 2559 } 2560 2561 type ChannelPoint struct { 2562 state protoimpl.MessageState 2563 sizeCache protoimpl.SizeCache 2564 unknownFields protoimpl.UnknownFields 2565 2566 // Types that are assignable to FundingTxid: 2567 // 2568 // *ChannelPoint_FundingTxidBytes 2569 // *ChannelPoint_FundingTxidStr 2570 FundingTxid isChannelPoint_FundingTxid `protobuf_oneof:"funding_txid"` 2571 // The index of the output of the funding transaction 2572 OutputIndex uint32 `protobuf:"varint,3,opt,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"` 2573 } 2574 2575 func (x *ChannelPoint) Reset() { 2576 *x = ChannelPoint{} 2577 if protoimpl.UnsafeEnabled { 2578 mi := &file_lightning_proto_msgTypes[14] 2579 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2580 ms.StoreMessageInfo(mi) 2581 } 2582 } 2583 2584 func (x *ChannelPoint) String() string { 2585 return protoimpl.X.MessageStringOf(x) 2586 } 2587 2588 func (*ChannelPoint) ProtoMessage() {} 2589 2590 func (x *ChannelPoint) ProtoReflect() protoreflect.Message { 2591 mi := &file_lightning_proto_msgTypes[14] 2592 if protoimpl.UnsafeEnabled && x != nil { 2593 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2594 if ms.LoadMessageInfo() == nil { 2595 ms.StoreMessageInfo(mi) 2596 } 2597 return ms 2598 } 2599 return mi.MessageOf(x) 2600 } 2601 2602 // Deprecated: Use ChannelPoint.ProtoReflect.Descriptor instead. 2603 func (*ChannelPoint) Descriptor() ([]byte, []int) { 2604 return file_lightning_proto_rawDescGZIP(), []int{14} 2605 } 2606 2607 func (m *ChannelPoint) GetFundingTxid() isChannelPoint_FundingTxid { 2608 if m != nil { 2609 return m.FundingTxid 2610 } 2611 return nil 2612 } 2613 2614 func (x *ChannelPoint) GetFundingTxidBytes() []byte { 2615 if x, ok := x.GetFundingTxid().(*ChannelPoint_FundingTxidBytes); ok { 2616 return x.FundingTxidBytes 2617 } 2618 return nil 2619 } 2620 2621 func (x *ChannelPoint) GetFundingTxidStr() string { 2622 if x, ok := x.GetFundingTxid().(*ChannelPoint_FundingTxidStr); ok { 2623 return x.FundingTxidStr 2624 } 2625 return "" 2626 } 2627 2628 func (x *ChannelPoint) GetOutputIndex() uint32 { 2629 if x != nil { 2630 return x.OutputIndex 2631 } 2632 return 0 2633 } 2634 2635 type isChannelPoint_FundingTxid interface { 2636 isChannelPoint_FundingTxid() 2637 } 2638 2639 type ChannelPoint_FundingTxidBytes struct { 2640 // Txid of the funding transaction. When using REST, this field must be 2641 // encoded as base64. 2642 FundingTxidBytes []byte `protobuf:"bytes,1,opt,name=funding_txid_bytes,json=fundingTxidBytes,proto3,oneof"` 2643 } 2644 2645 type ChannelPoint_FundingTxidStr struct { 2646 // Hex-encoded string representing the byte-reversed hash of the funding 2647 // transaction. 2648 FundingTxidStr string `protobuf:"bytes,2,opt,name=funding_txid_str,json=fundingTxidStr,proto3,oneof"` 2649 } 2650 2651 func (*ChannelPoint_FundingTxidBytes) isChannelPoint_FundingTxid() {} 2652 2653 func (*ChannelPoint_FundingTxidStr) isChannelPoint_FundingTxid() {} 2654 2655 type OutPoint struct { 2656 state protoimpl.MessageState 2657 sizeCache protoimpl.SizeCache 2658 unknownFields protoimpl.UnknownFields 2659 2660 // Raw bytes representing the transaction id. 2661 TxidBytes []byte `protobuf:"bytes,1,opt,name=txid_bytes,json=txidBytes,proto3" json:"txid_bytes,omitempty"` 2662 // Reversed, hex-encoded string representing the transaction id. 2663 TxidStr string `protobuf:"bytes,2,opt,name=txid_str,json=txidStr,proto3" json:"txid_str,omitempty"` 2664 // The index of the output on the transaction. 2665 OutputIndex uint32 `protobuf:"varint,3,opt,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"` 2666 } 2667 2668 func (x *OutPoint) Reset() { 2669 *x = OutPoint{} 2670 if protoimpl.UnsafeEnabled { 2671 mi := &file_lightning_proto_msgTypes[15] 2672 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2673 ms.StoreMessageInfo(mi) 2674 } 2675 } 2676 2677 func (x *OutPoint) String() string { 2678 return protoimpl.X.MessageStringOf(x) 2679 } 2680 2681 func (*OutPoint) ProtoMessage() {} 2682 2683 func (x *OutPoint) ProtoReflect() protoreflect.Message { 2684 mi := &file_lightning_proto_msgTypes[15] 2685 if protoimpl.UnsafeEnabled && x != nil { 2686 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2687 if ms.LoadMessageInfo() == nil { 2688 ms.StoreMessageInfo(mi) 2689 } 2690 return ms 2691 } 2692 return mi.MessageOf(x) 2693 } 2694 2695 // Deprecated: Use OutPoint.ProtoReflect.Descriptor instead. 2696 func (*OutPoint) Descriptor() ([]byte, []int) { 2697 return file_lightning_proto_rawDescGZIP(), []int{15} 2698 } 2699 2700 func (x *OutPoint) GetTxidBytes() []byte { 2701 if x != nil { 2702 return x.TxidBytes 2703 } 2704 return nil 2705 } 2706 2707 func (x *OutPoint) GetTxidStr() string { 2708 if x != nil { 2709 return x.TxidStr 2710 } 2711 return "" 2712 } 2713 2714 func (x *OutPoint) GetOutputIndex() uint32 { 2715 if x != nil { 2716 return x.OutputIndex 2717 } 2718 return 0 2719 } 2720 2721 type LightningAddress struct { 2722 state protoimpl.MessageState 2723 sizeCache protoimpl.SizeCache 2724 unknownFields protoimpl.UnknownFields 2725 2726 // The identity pubkey of the Lightning node 2727 Pubkey string `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` 2728 // The network location of the lightning node, e.g. `69.69.69.69:1337` or 2729 // `localhost:10011` 2730 Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` 2731 } 2732 2733 func (x *LightningAddress) Reset() { 2734 *x = LightningAddress{} 2735 if protoimpl.UnsafeEnabled { 2736 mi := &file_lightning_proto_msgTypes[16] 2737 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2738 ms.StoreMessageInfo(mi) 2739 } 2740 } 2741 2742 func (x *LightningAddress) String() string { 2743 return protoimpl.X.MessageStringOf(x) 2744 } 2745 2746 func (*LightningAddress) ProtoMessage() {} 2747 2748 func (x *LightningAddress) ProtoReflect() protoreflect.Message { 2749 mi := &file_lightning_proto_msgTypes[16] 2750 if protoimpl.UnsafeEnabled && x != nil { 2751 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2752 if ms.LoadMessageInfo() == nil { 2753 ms.StoreMessageInfo(mi) 2754 } 2755 return ms 2756 } 2757 return mi.MessageOf(x) 2758 } 2759 2760 // Deprecated: Use LightningAddress.ProtoReflect.Descriptor instead. 2761 func (*LightningAddress) Descriptor() ([]byte, []int) { 2762 return file_lightning_proto_rawDescGZIP(), []int{16} 2763 } 2764 2765 func (x *LightningAddress) GetPubkey() string { 2766 if x != nil { 2767 return x.Pubkey 2768 } 2769 return "" 2770 } 2771 2772 func (x *LightningAddress) GetHost() string { 2773 if x != nil { 2774 return x.Host 2775 } 2776 return "" 2777 } 2778 2779 type EstimateFeeRequest struct { 2780 state protoimpl.MessageState 2781 sizeCache protoimpl.SizeCache 2782 unknownFields protoimpl.UnknownFields 2783 2784 // The map from addresses to amounts for the transaction. 2785 AddrToAmount map[string]int64 `protobuf:"bytes,1,rep,name=AddrToAmount,proto3" json:"AddrToAmount,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 2786 // The target number of blocks that this transaction should be confirmed 2787 // by. 2788 TargetConf int32 `protobuf:"varint,2,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` 2789 // The minimum number of confirmations each one of your outputs used for 2790 // the transaction must satisfy. 2791 MinConfs int32 `protobuf:"varint,3,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` 2792 // Whether unconfirmed outputs should be used as inputs for the transaction. 2793 SpendUnconfirmed bool `protobuf:"varint,4,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"` 2794 } 2795 2796 func (x *EstimateFeeRequest) Reset() { 2797 *x = EstimateFeeRequest{} 2798 if protoimpl.UnsafeEnabled { 2799 mi := &file_lightning_proto_msgTypes[17] 2800 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2801 ms.StoreMessageInfo(mi) 2802 } 2803 } 2804 2805 func (x *EstimateFeeRequest) String() string { 2806 return protoimpl.X.MessageStringOf(x) 2807 } 2808 2809 func (*EstimateFeeRequest) ProtoMessage() {} 2810 2811 func (x *EstimateFeeRequest) ProtoReflect() protoreflect.Message { 2812 mi := &file_lightning_proto_msgTypes[17] 2813 if protoimpl.UnsafeEnabled && x != nil { 2814 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2815 if ms.LoadMessageInfo() == nil { 2816 ms.StoreMessageInfo(mi) 2817 } 2818 return ms 2819 } 2820 return mi.MessageOf(x) 2821 } 2822 2823 // Deprecated: Use EstimateFeeRequest.ProtoReflect.Descriptor instead. 2824 func (*EstimateFeeRequest) Descriptor() ([]byte, []int) { 2825 return file_lightning_proto_rawDescGZIP(), []int{17} 2826 } 2827 2828 func (x *EstimateFeeRequest) GetAddrToAmount() map[string]int64 { 2829 if x != nil { 2830 return x.AddrToAmount 2831 } 2832 return nil 2833 } 2834 2835 func (x *EstimateFeeRequest) GetTargetConf() int32 { 2836 if x != nil { 2837 return x.TargetConf 2838 } 2839 return 0 2840 } 2841 2842 func (x *EstimateFeeRequest) GetMinConfs() int32 { 2843 if x != nil { 2844 return x.MinConfs 2845 } 2846 return 0 2847 } 2848 2849 func (x *EstimateFeeRequest) GetSpendUnconfirmed() bool { 2850 if x != nil { 2851 return x.SpendUnconfirmed 2852 } 2853 return false 2854 } 2855 2856 type EstimateFeeResponse struct { 2857 state protoimpl.MessageState 2858 sizeCache protoimpl.SizeCache 2859 unknownFields protoimpl.UnknownFields 2860 2861 // The total fee in atoms. 2862 FeeAtoms int64 `protobuf:"varint,1,opt,name=fee_atoms,json=feeAtoms,proto3" json:"fee_atoms,omitempty"` 2863 // The fee rate in atoms/byte. 2864 FeerateAtomsPerByte int64 `protobuf:"varint,2,opt,name=feerate_atoms_per_byte,json=feerateAtomsPerByte,proto3" json:"feerate_atoms_per_byte,omitempty"` 2865 } 2866 2867 func (x *EstimateFeeResponse) Reset() { 2868 *x = EstimateFeeResponse{} 2869 if protoimpl.UnsafeEnabled { 2870 mi := &file_lightning_proto_msgTypes[18] 2871 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2872 ms.StoreMessageInfo(mi) 2873 } 2874 } 2875 2876 func (x *EstimateFeeResponse) String() string { 2877 return protoimpl.X.MessageStringOf(x) 2878 } 2879 2880 func (*EstimateFeeResponse) ProtoMessage() {} 2881 2882 func (x *EstimateFeeResponse) ProtoReflect() protoreflect.Message { 2883 mi := &file_lightning_proto_msgTypes[18] 2884 if protoimpl.UnsafeEnabled && x != nil { 2885 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2886 if ms.LoadMessageInfo() == nil { 2887 ms.StoreMessageInfo(mi) 2888 } 2889 return ms 2890 } 2891 return mi.MessageOf(x) 2892 } 2893 2894 // Deprecated: Use EstimateFeeResponse.ProtoReflect.Descriptor instead. 2895 func (*EstimateFeeResponse) Descriptor() ([]byte, []int) { 2896 return file_lightning_proto_rawDescGZIP(), []int{18} 2897 } 2898 2899 func (x *EstimateFeeResponse) GetFeeAtoms() int64 { 2900 if x != nil { 2901 return x.FeeAtoms 2902 } 2903 return 0 2904 } 2905 2906 func (x *EstimateFeeResponse) GetFeerateAtomsPerByte() int64 { 2907 if x != nil { 2908 return x.FeerateAtomsPerByte 2909 } 2910 return 0 2911 } 2912 2913 type SendManyRequest struct { 2914 state protoimpl.MessageState 2915 sizeCache protoimpl.SizeCache 2916 unknownFields protoimpl.UnknownFields 2917 2918 // The map from addresses to amounts 2919 AddrToAmount map[string]int64 `protobuf:"bytes,1,rep,name=AddrToAmount,proto3" json:"AddrToAmount,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 2920 // The target number of blocks that this transaction should be confirmed 2921 // by. 2922 TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` 2923 // A manual fee rate set in atom/byte that should be used when crafting the 2924 // transaction. 2925 AtomsPerByte int64 `protobuf:"varint,5,opt,name=atoms_per_byte,json=atomsPerByte,proto3" json:"atoms_per_byte,omitempty"` 2926 // An optional label for the transaction, limited to 500 characters. 2927 Label string `protobuf:"bytes,6,opt,name=label,proto3" json:"label,omitempty"` 2928 // The account from which to send funds. If empty, funds are sent from the 2929 // default account. 2930 Account string `protobuf:"bytes,100,opt,name=account,proto3" json:"account,omitempty"` 2931 // The minimum number of confirmations each one of your outputs used for 2932 // the transaction must satisfy. 2933 MinConfs int32 `protobuf:"varint,7,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` 2934 // Whether unconfirmed outputs should be used as inputs for the transaction. 2935 SpendUnconfirmed bool `protobuf:"varint,8,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"` 2936 } 2937 2938 func (x *SendManyRequest) Reset() { 2939 *x = SendManyRequest{} 2940 if protoimpl.UnsafeEnabled { 2941 mi := &file_lightning_proto_msgTypes[19] 2942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2943 ms.StoreMessageInfo(mi) 2944 } 2945 } 2946 2947 func (x *SendManyRequest) String() string { 2948 return protoimpl.X.MessageStringOf(x) 2949 } 2950 2951 func (*SendManyRequest) ProtoMessage() {} 2952 2953 func (x *SendManyRequest) ProtoReflect() protoreflect.Message { 2954 mi := &file_lightning_proto_msgTypes[19] 2955 if protoimpl.UnsafeEnabled && x != nil { 2956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2957 if ms.LoadMessageInfo() == nil { 2958 ms.StoreMessageInfo(mi) 2959 } 2960 return ms 2961 } 2962 return mi.MessageOf(x) 2963 } 2964 2965 // Deprecated: Use SendManyRequest.ProtoReflect.Descriptor instead. 2966 func (*SendManyRequest) Descriptor() ([]byte, []int) { 2967 return file_lightning_proto_rawDescGZIP(), []int{19} 2968 } 2969 2970 func (x *SendManyRequest) GetAddrToAmount() map[string]int64 { 2971 if x != nil { 2972 return x.AddrToAmount 2973 } 2974 return nil 2975 } 2976 2977 func (x *SendManyRequest) GetTargetConf() int32 { 2978 if x != nil { 2979 return x.TargetConf 2980 } 2981 return 0 2982 } 2983 2984 func (x *SendManyRequest) GetAtomsPerByte() int64 { 2985 if x != nil { 2986 return x.AtomsPerByte 2987 } 2988 return 0 2989 } 2990 2991 func (x *SendManyRequest) GetLabel() string { 2992 if x != nil { 2993 return x.Label 2994 } 2995 return "" 2996 } 2997 2998 func (x *SendManyRequest) GetAccount() string { 2999 if x != nil { 3000 return x.Account 3001 } 3002 return "" 3003 } 3004 3005 func (x *SendManyRequest) GetMinConfs() int32 { 3006 if x != nil { 3007 return x.MinConfs 3008 } 3009 return 0 3010 } 3011 3012 func (x *SendManyRequest) GetSpendUnconfirmed() bool { 3013 if x != nil { 3014 return x.SpendUnconfirmed 3015 } 3016 return false 3017 } 3018 3019 type SendManyResponse struct { 3020 state protoimpl.MessageState 3021 sizeCache protoimpl.SizeCache 3022 unknownFields protoimpl.UnknownFields 3023 3024 // The id of the transaction 3025 Txid string `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` 3026 } 3027 3028 func (x *SendManyResponse) Reset() { 3029 *x = SendManyResponse{} 3030 if protoimpl.UnsafeEnabled { 3031 mi := &file_lightning_proto_msgTypes[20] 3032 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3033 ms.StoreMessageInfo(mi) 3034 } 3035 } 3036 3037 func (x *SendManyResponse) String() string { 3038 return protoimpl.X.MessageStringOf(x) 3039 } 3040 3041 func (*SendManyResponse) ProtoMessage() {} 3042 3043 func (x *SendManyResponse) ProtoReflect() protoreflect.Message { 3044 mi := &file_lightning_proto_msgTypes[20] 3045 if protoimpl.UnsafeEnabled && x != nil { 3046 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3047 if ms.LoadMessageInfo() == nil { 3048 ms.StoreMessageInfo(mi) 3049 } 3050 return ms 3051 } 3052 return mi.MessageOf(x) 3053 } 3054 3055 // Deprecated: Use SendManyResponse.ProtoReflect.Descriptor instead. 3056 func (*SendManyResponse) Descriptor() ([]byte, []int) { 3057 return file_lightning_proto_rawDescGZIP(), []int{20} 3058 } 3059 3060 func (x *SendManyResponse) GetTxid() string { 3061 if x != nil { 3062 return x.Txid 3063 } 3064 return "" 3065 } 3066 3067 type SendCoinsRequest struct { 3068 state protoimpl.MessageState 3069 sizeCache protoimpl.SizeCache 3070 unknownFields protoimpl.UnknownFields 3071 3072 // The address to send coins to 3073 Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` 3074 // The amount in atoms to send 3075 Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` 3076 // The target number of blocks that this transaction should be confirmed 3077 // by. 3078 TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` 3079 // A manual fee rate set in atom/byte that should be used when crafting the 3080 // transaction. 3081 AtomsPerByte int64 `protobuf:"varint,5,opt,name=atoms_per_byte,json=atomsPerByte,proto3" json:"atoms_per_byte,omitempty"` 3082 // If set, then the amount field will be ignored, and lnd will attempt to 3083 // send all the coins under control of the internal wallet to the specified 3084 // address. 3085 SendAll bool `protobuf:"varint,6,opt,name=send_all,json=sendAll,proto3" json:"send_all,omitempty"` 3086 // An optional label for the transaction, limited to 500 characters. 3087 Label string `protobuf:"bytes,7,opt,name=label,proto3" json:"label,omitempty"` 3088 // The account from which to send funds. If empty, funds are sent from the 3089 // default account. 3090 Account string `protobuf:"bytes,100,opt,name=account,proto3" json:"account,omitempty"` 3091 // The minimum number of confirmations each one of your outputs used for 3092 // the transaction must satisfy. 3093 MinConfs int32 `protobuf:"varint,8,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` 3094 // Whether unconfirmed outputs should be used as inputs for the transaction. 3095 SpendUnconfirmed bool `protobuf:"varint,9,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"` 3096 } 3097 3098 func (x *SendCoinsRequest) Reset() { 3099 *x = SendCoinsRequest{} 3100 if protoimpl.UnsafeEnabled { 3101 mi := &file_lightning_proto_msgTypes[21] 3102 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3103 ms.StoreMessageInfo(mi) 3104 } 3105 } 3106 3107 func (x *SendCoinsRequest) String() string { 3108 return protoimpl.X.MessageStringOf(x) 3109 } 3110 3111 func (*SendCoinsRequest) ProtoMessage() {} 3112 3113 func (x *SendCoinsRequest) ProtoReflect() protoreflect.Message { 3114 mi := &file_lightning_proto_msgTypes[21] 3115 if protoimpl.UnsafeEnabled && x != nil { 3116 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3117 if ms.LoadMessageInfo() == nil { 3118 ms.StoreMessageInfo(mi) 3119 } 3120 return ms 3121 } 3122 return mi.MessageOf(x) 3123 } 3124 3125 // Deprecated: Use SendCoinsRequest.ProtoReflect.Descriptor instead. 3126 func (*SendCoinsRequest) Descriptor() ([]byte, []int) { 3127 return file_lightning_proto_rawDescGZIP(), []int{21} 3128 } 3129 3130 func (x *SendCoinsRequest) GetAddr() string { 3131 if x != nil { 3132 return x.Addr 3133 } 3134 return "" 3135 } 3136 3137 func (x *SendCoinsRequest) GetAmount() int64 { 3138 if x != nil { 3139 return x.Amount 3140 } 3141 return 0 3142 } 3143 3144 func (x *SendCoinsRequest) GetTargetConf() int32 { 3145 if x != nil { 3146 return x.TargetConf 3147 } 3148 return 0 3149 } 3150 3151 func (x *SendCoinsRequest) GetAtomsPerByte() int64 { 3152 if x != nil { 3153 return x.AtomsPerByte 3154 } 3155 return 0 3156 } 3157 3158 func (x *SendCoinsRequest) GetSendAll() bool { 3159 if x != nil { 3160 return x.SendAll 3161 } 3162 return false 3163 } 3164 3165 func (x *SendCoinsRequest) GetLabel() string { 3166 if x != nil { 3167 return x.Label 3168 } 3169 return "" 3170 } 3171 3172 func (x *SendCoinsRequest) GetAccount() string { 3173 if x != nil { 3174 return x.Account 3175 } 3176 return "" 3177 } 3178 3179 func (x *SendCoinsRequest) GetMinConfs() int32 { 3180 if x != nil { 3181 return x.MinConfs 3182 } 3183 return 0 3184 } 3185 3186 func (x *SendCoinsRequest) GetSpendUnconfirmed() bool { 3187 if x != nil { 3188 return x.SpendUnconfirmed 3189 } 3190 return false 3191 } 3192 3193 type SendCoinsResponse struct { 3194 state protoimpl.MessageState 3195 sizeCache protoimpl.SizeCache 3196 unknownFields protoimpl.UnknownFields 3197 3198 // The transaction ID of the transaction 3199 Txid string `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` 3200 } 3201 3202 func (x *SendCoinsResponse) Reset() { 3203 *x = SendCoinsResponse{} 3204 if protoimpl.UnsafeEnabled { 3205 mi := &file_lightning_proto_msgTypes[22] 3206 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3207 ms.StoreMessageInfo(mi) 3208 } 3209 } 3210 3211 func (x *SendCoinsResponse) String() string { 3212 return protoimpl.X.MessageStringOf(x) 3213 } 3214 3215 func (*SendCoinsResponse) ProtoMessage() {} 3216 3217 func (x *SendCoinsResponse) ProtoReflect() protoreflect.Message { 3218 mi := &file_lightning_proto_msgTypes[22] 3219 if protoimpl.UnsafeEnabled && x != nil { 3220 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3221 if ms.LoadMessageInfo() == nil { 3222 ms.StoreMessageInfo(mi) 3223 } 3224 return ms 3225 } 3226 return mi.MessageOf(x) 3227 } 3228 3229 // Deprecated: Use SendCoinsResponse.ProtoReflect.Descriptor instead. 3230 func (*SendCoinsResponse) Descriptor() ([]byte, []int) { 3231 return file_lightning_proto_rawDescGZIP(), []int{22} 3232 } 3233 3234 func (x *SendCoinsResponse) GetTxid() string { 3235 if x != nil { 3236 return x.Txid 3237 } 3238 return "" 3239 } 3240 3241 type ListUnspentRequest struct { 3242 state protoimpl.MessageState 3243 sizeCache protoimpl.SizeCache 3244 unknownFields protoimpl.UnknownFields 3245 3246 // The minimum number of confirmations to be included. 3247 MinConfs int32 `protobuf:"varint,1,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` 3248 // The maximum number of confirmations to be included. 3249 MaxConfs int32 `protobuf:"varint,2,opt,name=max_confs,json=maxConfs,proto3" json:"max_confs,omitempty"` 3250 // An optional filter to only include outputs belonging to an account. 3251 Account string `protobuf:"bytes,3,opt,name=account,proto3" json:"account,omitempty"` 3252 } 3253 3254 func (x *ListUnspentRequest) Reset() { 3255 *x = ListUnspentRequest{} 3256 if protoimpl.UnsafeEnabled { 3257 mi := &file_lightning_proto_msgTypes[23] 3258 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3259 ms.StoreMessageInfo(mi) 3260 } 3261 } 3262 3263 func (x *ListUnspentRequest) String() string { 3264 return protoimpl.X.MessageStringOf(x) 3265 } 3266 3267 func (*ListUnspentRequest) ProtoMessage() {} 3268 3269 func (x *ListUnspentRequest) ProtoReflect() protoreflect.Message { 3270 mi := &file_lightning_proto_msgTypes[23] 3271 if protoimpl.UnsafeEnabled && x != nil { 3272 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3273 if ms.LoadMessageInfo() == nil { 3274 ms.StoreMessageInfo(mi) 3275 } 3276 return ms 3277 } 3278 return mi.MessageOf(x) 3279 } 3280 3281 // Deprecated: Use ListUnspentRequest.ProtoReflect.Descriptor instead. 3282 func (*ListUnspentRequest) Descriptor() ([]byte, []int) { 3283 return file_lightning_proto_rawDescGZIP(), []int{23} 3284 } 3285 3286 func (x *ListUnspentRequest) GetMinConfs() int32 { 3287 if x != nil { 3288 return x.MinConfs 3289 } 3290 return 0 3291 } 3292 3293 func (x *ListUnspentRequest) GetMaxConfs() int32 { 3294 if x != nil { 3295 return x.MaxConfs 3296 } 3297 return 0 3298 } 3299 3300 func (x *ListUnspentRequest) GetAccount() string { 3301 if x != nil { 3302 return x.Account 3303 } 3304 return "" 3305 } 3306 3307 type ListUnspentResponse struct { 3308 state protoimpl.MessageState 3309 sizeCache protoimpl.SizeCache 3310 unknownFields protoimpl.UnknownFields 3311 3312 // A list of utxos 3313 Utxos []*Utxo `protobuf:"bytes,1,rep,name=utxos,proto3" json:"utxos,omitempty"` 3314 } 3315 3316 func (x *ListUnspentResponse) Reset() { 3317 *x = ListUnspentResponse{} 3318 if protoimpl.UnsafeEnabled { 3319 mi := &file_lightning_proto_msgTypes[24] 3320 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3321 ms.StoreMessageInfo(mi) 3322 } 3323 } 3324 3325 func (x *ListUnspentResponse) String() string { 3326 return protoimpl.X.MessageStringOf(x) 3327 } 3328 3329 func (*ListUnspentResponse) ProtoMessage() {} 3330 3331 func (x *ListUnspentResponse) ProtoReflect() protoreflect.Message { 3332 mi := &file_lightning_proto_msgTypes[24] 3333 if protoimpl.UnsafeEnabled && x != nil { 3334 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3335 if ms.LoadMessageInfo() == nil { 3336 ms.StoreMessageInfo(mi) 3337 } 3338 return ms 3339 } 3340 return mi.MessageOf(x) 3341 } 3342 3343 // Deprecated: Use ListUnspentResponse.ProtoReflect.Descriptor instead. 3344 func (*ListUnspentResponse) Descriptor() ([]byte, []int) { 3345 return file_lightning_proto_rawDescGZIP(), []int{24} 3346 } 3347 3348 func (x *ListUnspentResponse) GetUtxos() []*Utxo { 3349 if x != nil { 3350 return x.Utxos 3351 } 3352 return nil 3353 } 3354 3355 type NewAddressRequest struct { 3356 state protoimpl.MessageState 3357 sizeCache protoimpl.SizeCache 3358 unknownFields protoimpl.UnknownFields 3359 3360 // The type of address to generate. 3361 Type AddressType `protobuf:"varint,1,opt,name=type,proto3,enum=lnrpc.AddressType" json:"type,omitempty"` 3362 // The name of the account to generate a new address for. If empty, the 3363 // default wallet account is used. 3364 Account string `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"` 3365 } 3366 3367 func (x *NewAddressRequest) Reset() { 3368 *x = NewAddressRequest{} 3369 if protoimpl.UnsafeEnabled { 3370 mi := &file_lightning_proto_msgTypes[25] 3371 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3372 ms.StoreMessageInfo(mi) 3373 } 3374 } 3375 3376 func (x *NewAddressRequest) String() string { 3377 return protoimpl.X.MessageStringOf(x) 3378 } 3379 3380 func (*NewAddressRequest) ProtoMessage() {} 3381 3382 func (x *NewAddressRequest) ProtoReflect() protoreflect.Message { 3383 mi := &file_lightning_proto_msgTypes[25] 3384 if protoimpl.UnsafeEnabled && x != nil { 3385 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3386 if ms.LoadMessageInfo() == nil { 3387 ms.StoreMessageInfo(mi) 3388 } 3389 return ms 3390 } 3391 return mi.MessageOf(x) 3392 } 3393 3394 // Deprecated: Use NewAddressRequest.ProtoReflect.Descriptor instead. 3395 func (*NewAddressRequest) Descriptor() ([]byte, []int) { 3396 return file_lightning_proto_rawDescGZIP(), []int{25} 3397 } 3398 3399 func (x *NewAddressRequest) GetType() AddressType { 3400 if x != nil { 3401 return x.Type 3402 } 3403 return AddressType_WITNESS_PUBKEY_HASH 3404 } 3405 3406 func (x *NewAddressRequest) GetAccount() string { 3407 if x != nil { 3408 return x.Account 3409 } 3410 return "" 3411 } 3412 3413 type NewAddressResponse struct { 3414 state protoimpl.MessageState 3415 sizeCache protoimpl.SizeCache 3416 unknownFields protoimpl.UnknownFields 3417 3418 // The newly generated wallet address 3419 Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 3420 } 3421 3422 func (x *NewAddressResponse) Reset() { 3423 *x = NewAddressResponse{} 3424 if protoimpl.UnsafeEnabled { 3425 mi := &file_lightning_proto_msgTypes[26] 3426 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3427 ms.StoreMessageInfo(mi) 3428 } 3429 } 3430 3431 func (x *NewAddressResponse) String() string { 3432 return protoimpl.X.MessageStringOf(x) 3433 } 3434 3435 func (*NewAddressResponse) ProtoMessage() {} 3436 3437 func (x *NewAddressResponse) ProtoReflect() protoreflect.Message { 3438 mi := &file_lightning_proto_msgTypes[26] 3439 if protoimpl.UnsafeEnabled && x != nil { 3440 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3441 if ms.LoadMessageInfo() == nil { 3442 ms.StoreMessageInfo(mi) 3443 } 3444 return ms 3445 } 3446 return mi.MessageOf(x) 3447 } 3448 3449 // Deprecated: Use NewAddressResponse.ProtoReflect.Descriptor instead. 3450 func (*NewAddressResponse) Descriptor() ([]byte, []int) { 3451 return file_lightning_proto_rawDescGZIP(), []int{26} 3452 } 3453 3454 func (x *NewAddressResponse) GetAddress() string { 3455 if x != nil { 3456 return x.Address 3457 } 3458 return "" 3459 } 3460 3461 type SignMessageRequest struct { 3462 state protoimpl.MessageState 3463 sizeCache protoimpl.SizeCache 3464 unknownFields protoimpl.UnknownFields 3465 3466 // The message to be signed. When using REST, this field must be encoded as 3467 // base64. 3468 Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` 3469 // Instead of the default double-SHA256 hashing of the message before signing, 3470 // only use one round of hashing instead. 3471 SingleHash bool `protobuf:"varint,2,opt,name=single_hash,json=singleHash,proto3" json:"single_hash,omitempty"` 3472 } 3473 3474 func (x *SignMessageRequest) Reset() { 3475 *x = SignMessageRequest{} 3476 if protoimpl.UnsafeEnabled { 3477 mi := &file_lightning_proto_msgTypes[27] 3478 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3479 ms.StoreMessageInfo(mi) 3480 } 3481 } 3482 3483 func (x *SignMessageRequest) String() string { 3484 return protoimpl.X.MessageStringOf(x) 3485 } 3486 3487 func (*SignMessageRequest) ProtoMessage() {} 3488 3489 func (x *SignMessageRequest) ProtoReflect() protoreflect.Message { 3490 mi := &file_lightning_proto_msgTypes[27] 3491 if protoimpl.UnsafeEnabled && x != nil { 3492 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3493 if ms.LoadMessageInfo() == nil { 3494 ms.StoreMessageInfo(mi) 3495 } 3496 return ms 3497 } 3498 return mi.MessageOf(x) 3499 } 3500 3501 // Deprecated: Use SignMessageRequest.ProtoReflect.Descriptor instead. 3502 func (*SignMessageRequest) Descriptor() ([]byte, []int) { 3503 return file_lightning_proto_rawDescGZIP(), []int{27} 3504 } 3505 3506 func (x *SignMessageRequest) GetMsg() []byte { 3507 if x != nil { 3508 return x.Msg 3509 } 3510 return nil 3511 } 3512 3513 func (x *SignMessageRequest) GetSingleHash() bool { 3514 if x != nil { 3515 return x.SingleHash 3516 } 3517 return false 3518 } 3519 3520 type SignMessageResponse struct { 3521 state protoimpl.MessageState 3522 sizeCache protoimpl.SizeCache 3523 unknownFields protoimpl.UnknownFields 3524 3525 // The signature for the given message 3526 Signature string `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` 3527 } 3528 3529 func (x *SignMessageResponse) Reset() { 3530 *x = SignMessageResponse{} 3531 if protoimpl.UnsafeEnabled { 3532 mi := &file_lightning_proto_msgTypes[28] 3533 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3534 ms.StoreMessageInfo(mi) 3535 } 3536 } 3537 3538 func (x *SignMessageResponse) String() string { 3539 return protoimpl.X.MessageStringOf(x) 3540 } 3541 3542 func (*SignMessageResponse) ProtoMessage() {} 3543 3544 func (x *SignMessageResponse) ProtoReflect() protoreflect.Message { 3545 mi := &file_lightning_proto_msgTypes[28] 3546 if protoimpl.UnsafeEnabled && x != nil { 3547 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3548 if ms.LoadMessageInfo() == nil { 3549 ms.StoreMessageInfo(mi) 3550 } 3551 return ms 3552 } 3553 return mi.MessageOf(x) 3554 } 3555 3556 // Deprecated: Use SignMessageResponse.ProtoReflect.Descriptor instead. 3557 func (*SignMessageResponse) Descriptor() ([]byte, []int) { 3558 return file_lightning_proto_rawDescGZIP(), []int{28} 3559 } 3560 3561 func (x *SignMessageResponse) GetSignature() string { 3562 if x != nil { 3563 return x.Signature 3564 } 3565 return "" 3566 } 3567 3568 type VerifyMessageRequest struct { 3569 state protoimpl.MessageState 3570 sizeCache protoimpl.SizeCache 3571 unknownFields protoimpl.UnknownFields 3572 3573 // The message over which the signature is to be verified. When using REST, 3574 // this field must be encoded as base64. 3575 Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` 3576 // The signature to be verified over the given message 3577 Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` 3578 } 3579 3580 func (x *VerifyMessageRequest) Reset() { 3581 *x = VerifyMessageRequest{} 3582 if protoimpl.UnsafeEnabled { 3583 mi := &file_lightning_proto_msgTypes[29] 3584 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3585 ms.StoreMessageInfo(mi) 3586 } 3587 } 3588 3589 func (x *VerifyMessageRequest) String() string { 3590 return protoimpl.X.MessageStringOf(x) 3591 } 3592 3593 func (*VerifyMessageRequest) ProtoMessage() {} 3594 3595 func (x *VerifyMessageRequest) ProtoReflect() protoreflect.Message { 3596 mi := &file_lightning_proto_msgTypes[29] 3597 if protoimpl.UnsafeEnabled && x != nil { 3598 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3599 if ms.LoadMessageInfo() == nil { 3600 ms.StoreMessageInfo(mi) 3601 } 3602 return ms 3603 } 3604 return mi.MessageOf(x) 3605 } 3606 3607 // Deprecated: Use VerifyMessageRequest.ProtoReflect.Descriptor instead. 3608 func (*VerifyMessageRequest) Descriptor() ([]byte, []int) { 3609 return file_lightning_proto_rawDescGZIP(), []int{29} 3610 } 3611 3612 func (x *VerifyMessageRequest) GetMsg() []byte { 3613 if x != nil { 3614 return x.Msg 3615 } 3616 return nil 3617 } 3618 3619 func (x *VerifyMessageRequest) GetSignature() string { 3620 if x != nil { 3621 return x.Signature 3622 } 3623 return "" 3624 } 3625 3626 type VerifyMessageResponse struct { 3627 state protoimpl.MessageState 3628 sizeCache protoimpl.SizeCache 3629 unknownFields protoimpl.UnknownFields 3630 3631 // Whether the signature was valid over the given message 3632 Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` 3633 // The pubkey recovered from the signature 3634 Pubkey string `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"` 3635 } 3636 3637 func (x *VerifyMessageResponse) Reset() { 3638 *x = VerifyMessageResponse{} 3639 if protoimpl.UnsafeEnabled { 3640 mi := &file_lightning_proto_msgTypes[30] 3641 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3642 ms.StoreMessageInfo(mi) 3643 } 3644 } 3645 3646 func (x *VerifyMessageResponse) String() string { 3647 return protoimpl.X.MessageStringOf(x) 3648 } 3649 3650 func (*VerifyMessageResponse) ProtoMessage() {} 3651 3652 func (x *VerifyMessageResponse) ProtoReflect() protoreflect.Message { 3653 mi := &file_lightning_proto_msgTypes[30] 3654 if protoimpl.UnsafeEnabled && x != nil { 3655 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3656 if ms.LoadMessageInfo() == nil { 3657 ms.StoreMessageInfo(mi) 3658 } 3659 return ms 3660 } 3661 return mi.MessageOf(x) 3662 } 3663 3664 // Deprecated: Use VerifyMessageResponse.ProtoReflect.Descriptor instead. 3665 func (*VerifyMessageResponse) Descriptor() ([]byte, []int) { 3666 return file_lightning_proto_rawDescGZIP(), []int{30} 3667 } 3668 3669 func (x *VerifyMessageResponse) GetValid() bool { 3670 if x != nil { 3671 return x.Valid 3672 } 3673 return false 3674 } 3675 3676 func (x *VerifyMessageResponse) GetPubkey() string { 3677 if x != nil { 3678 return x.Pubkey 3679 } 3680 return "" 3681 } 3682 3683 type ConnectPeerRequest struct { 3684 state protoimpl.MessageState 3685 sizeCache protoimpl.SizeCache 3686 unknownFields protoimpl.UnknownFields 3687 3688 // Lightning address of the peer, in the format `<pubkey>@host` 3689 Addr *LightningAddress `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` 3690 // If set, the daemon will attempt to persistently connect to the target 3691 // peer. Otherwise, the call will be synchronous. 3692 Perm bool `protobuf:"varint,2,opt,name=perm,proto3" json:"perm,omitempty"` 3693 // The connection timeout value (in seconds) for this request. It won't affect 3694 // other requests. 3695 Timeout uint64 `protobuf:"varint,3,opt,name=timeout,proto3" json:"timeout,omitempty"` 3696 } 3697 3698 func (x *ConnectPeerRequest) Reset() { 3699 *x = ConnectPeerRequest{} 3700 if protoimpl.UnsafeEnabled { 3701 mi := &file_lightning_proto_msgTypes[31] 3702 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3703 ms.StoreMessageInfo(mi) 3704 } 3705 } 3706 3707 func (x *ConnectPeerRequest) String() string { 3708 return protoimpl.X.MessageStringOf(x) 3709 } 3710 3711 func (*ConnectPeerRequest) ProtoMessage() {} 3712 3713 func (x *ConnectPeerRequest) ProtoReflect() protoreflect.Message { 3714 mi := &file_lightning_proto_msgTypes[31] 3715 if protoimpl.UnsafeEnabled && x != nil { 3716 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3717 if ms.LoadMessageInfo() == nil { 3718 ms.StoreMessageInfo(mi) 3719 } 3720 return ms 3721 } 3722 return mi.MessageOf(x) 3723 } 3724 3725 // Deprecated: Use ConnectPeerRequest.ProtoReflect.Descriptor instead. 3726 func (*ConnectPeerRequest) Descriptor() ([]byte, []int) { 3727 return file_lightning_proto_rawDescGZIP(), []int{31} 3728 } 3729 3730 func (x *ConnectPeerRequest) GetAddr() *LightningAddress { 3731 if x != nil { 3732 return x.Addr 3733 } 3734 return nil 3735 } 3736 3737 func (x *ConnectPeerRequest) GetPerm() bool { 3738 if x != nil { 3739 return x.Perm 3740 } 3741 return false 3742 } 3743 3744 func (x *ConnectPeerRequest) GetTimeout() uint64 { 3745 if x != nil { 3746 return x.Timeout 3747 } 3748 return 0 3749 } 3750 3751 type ConnectPeerResponse struct { 3752 state protoimpl.MessageState 3753 sizeCache protoimpl.SizeCache 3754 unknownFields protoimpl.UnknownFields 3755 } 3756 3757 func (x *ConnectPeerResponse) Reset() { 3758 *x = ConnectPeerResponse{} 3759 if protoimpl.UnsafeEnabled { 3760 mi := &file_lightning_proto_msgTypes[32] 3761 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3762 ms.StoreMessageInfo(mi) 3763 } 3764 } 3765 3766 func (x *ConnectPeerResponse) String() string { 3767 return protoimpl.X.MessageStringOf(x) 3768 } 3769 3770 func (*ConnectPeerResponse) ProtoMessage() {} 3771 3772 func (x *ConnectPeerResponse) ProtoReflect() protoreflect.Message { 3773 mi := &file_lightning_proto_msgTypes[32] 3774 if protoimpl.UnsafeEnabled && x != nil { 3775 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3776 if ms.LoadMessageInfo() == nil { 3777 ms.StoreMessageInfo(mi) 3778 } 3779 return ms 3780 } 3781 return mi.MessageOf(x) 3782 } 3783 3784 // Deprecated: Use ConnectPeerResponse.ProtoReflect.Descriptor instead. 3785 func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { 3786 return file_lightning_proto_rawDescGZIP(), []int{32} 3787 } 3788 3789 type DisconnectPeerRequest struct { 3790 state protoimpl.MessageState 3791 sizeCache protoimpl.SizeCache 3792 unknownFields protoimpl.UnknownFields 3793 3794 // The pubkey of the node to disconnect from 3795 PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` 3796 } 3797 3798 func (x *DisconnectPeerRequest) Reset() { 3799 *x = DisconnectPeerRequest{} 3800 if protoimpl.UnsafeEnabled { 3801 mi := &file_lightning_proto_msgTypes[33] 3802 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3803 ms.StoreMessageInfo(mi) 3804 } 3805 } 3806 3807 func (x *DisconnectPeerRequest) String() string { 3808 return protoimpl.X.MessageStringOf(x) 3809 } 3810 3811 func (*DisconnectPeerRequest) ProtoMessage() {} 3812 3813 func (x *DisconnectPeerRequest) ProtoReflect() protoreflect.Message { 3814 mi := &file_lightning_proto_msgTypes[33] 3815 if protoimpl.UnsafeEnabled && x != nil { 3816 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3817 if ms.LoadMessageInfo() == nil { 3818 ms.StoreMessageInfo(mi) 3819 } 3820 return ms 3821 } 3822 return mi.MessageOf(x) 3823 } 3824 3825 // Deprecated: Use DisconnectPeerRequest.ProtoReflect.Descriptor instead. 3826 func (*DisconnectPeerRequest) Descriptor() ([]byte, []int) { 3827 return file_lightning_proto_rawDescGZIP(), []int{33} 3828 } 3829 3830 func (x *DisconnectPeerRequest) GetPubKey() string { 3831 if x != nil { 3832 return x.PubKey 3833 } 3834 return "" 3835 } 3836 3837 type DisconnectPeerResponse struct { 3838 state protoimpl.MessageState 3839 sizeCache protoimpl.SizeCache 3840 unknownFields protoimpl.UnknownFields 3841 } 3842 3843 func (x *DisconnectPeerResponse) Reset() { 3844 *x = DisconnectPeerResponse{} 3845 if protoimpl.UnsafeEnabled { 3846 mi := &file_lightning_proto_msgTypes[34] 3847 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3848 ms.StoreMessageInfo(mi) 3849 } 3850 } 3851 3852 func (x *DisconnectPeerResponse) String() string { 3853 return protoimpl.X.MessageStringOf(x) 3854 } 3855 3856 func (*DisconnectPeerResponse) ProtoMessage() {} 3857 3858 func (x *DisconnectPeerResponse) ProtoReflect() protoreflect.Message { 3859 mi := &file_lightning_proto_msgTypes[34] 3860 if protoimpl.UnsafeEnabled && x != nil { 3861 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3862 if ms.LoadMessageInfo() == nil { 3863 ms.StoreMessageInfo(mi) 3864 } 3865 return ms 3866 } 3867 return mi.MessageOf(x) 3868 } 3869 3870 // Deprecated: Use DisconnectPeerResponse.ProtoReflect.Descriptor instead. 3871 func (*DisconnectPeerResponse) Descriptor() ([]byte, []int) { 3872 return file_lightning_proto_rawDescGZIP(), []int{34} 3873 } 3874 3875 type HTLC struct { 3876 state protoimpl.MessageState 3877 sizeCache protoimpl.SizeCache 3878 unknownFields protoimpl.UnknownFields 3879 3880 Incoming bool `protobuf:"varint,1,opt,name=incoming,proto3" json:"incoming,omitempty"` 3881 Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` 3882 HashLock []byte `protobuf:"bytes,3,opt,name=hash_lock,json=hashLock,proto3" json:"hash_lock,omitempty"` 3883 ExpirationHeight uint32 `protobuf:"varint,4,opt,name=expiration_height,json=expirationHeight,proto3" json:"expiration_height,omitempty"` 3884 // Index identifying the htlc on the channel. 3885 HtlcIndex uint64 `protobuf:"varint,5,opt,name=htlc_index,json=htlcIndex,proto3" json:"htlc_index,omitempty"` 3886 // If this HTLC is involved in a forwarding operation, this field indicates 3887 // the forwarding channel. For an outgoing htlc, it is the incoming channel. 3888 // For an incoming htlc, it is the outgoing channel. When the htlc 3889 // originates from this node or this node is the final destination, 3890 // forwarding_channel will be zero. The forwarding channel will also be zero 3891 // for htlcs that need to be forwarded but don't have a forwarding decision 3892 // persisted yet. 3893 ForwardingChannel uint64 `protobuf:"varint,6,opt,name=forwarding_channel,json=forwardingChannel,proto3" json:"forwarding_channel,omitempty"` 3894 // Index identifying the htlc on the forwarding channel. 3895 ForwardingHtlcIndex uint64 `protobuf:"varint,7,opt,name=forwarding_htlc_index,json=forwardingHtlcIndex,proto3" json:"forwarding_htlc_index,omitempty"` 3896 } 3897 3898 func (x *HTLC) Reset() { 3899 *x = HTLC{} 3900 if protoimpl.UnsafeEnabled { 3901 mi := &file_lightning_proto_msgTypes[35] 3902 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3903 ms.StoreMessageInfo(mi) 3904 } 3905 } 3906 3907 func (x *HTLC) String() string { 3908 return protoimpl.X.MessageStringOf(x) 3909 } 3910 3911 func (*HTLC) ProtoMessage() {} 3912 3913 func (x *HTLC) ProtoReflect() protoreflect.Message { 3914 mi := &file_lightning_proto_msgTypes[35] 3915 if protoimpl.UnsafeEnabled && x != nil { 3916 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 3917 if ms.LoadMessageInfo() == nil { 3918 ms.StoreMessageInfo(mi) 3919 } 3920 return ms 3921 } 3922 return mi.MessageOf(x) 3923 } 3924 3925 // Deprecated: Use HTLC.ProtoReflect.Descriptor instead. 3926 func (*HTLC) Descriptor() ([]byte, []int) { 3927 return file_lightning_proto_rawDescGZIP(), []int{35} 3928 } 3929 3930 func (x *HTLC) GetIncoming() bool { 3931 if x != nil { 3932 return x.Incoming 3933 } 3934 return false 3935 } 3936 3937 func (x *HTLC) GetAmount() int64 { 3938 if x != nil { 3939 return x.Amount 3940 } 3941 return 0 3942 } 3943 3944 func (x *HTLC) GetHashLock() []byte { 3945 if x != nil { 3946 return x.HashLock 3947 } 3948 return nil 3949 } 3950 3951 func (x *HTLC) GetExpirationHeight() uint32 { 3952 if x != nil { 3953 return x.ExpirationHeight 3954 } 3955 return 0 3956 } 3957 3958 func (x *HTLC) GetHtlcIndex() uint64 { 3959 if x != nil { 3960 return x.HtlcIndex 3961 } 3962 return 0 3963 } 3964 3965 func (x *HTLC) GetForwardingChannel() uint64 { 3966 if x != nil { 3967 return x.ForwardingChannel 3968 } 3969 return 0 3970 } 3971 3972 func (x *HTLC) GetForwardingHtlcIndex() uint64 { 3973 if x != nil { 3974 return x.ForwardingHtlcIndex 3975 } 3976 return 0 3977 } 3978 3979 type ChannelConstraints struct { 3980 state protoimpl.MessageState 3981 sizeCache protoimpl.SizeCache 3982 unknownFields protoimpl.UnknownFields 3983 3984 // The CSV delay expressed in relative blocks. If the channel is force closed, 3985 // we will need to wait for this many blocks before we can regain our funds. 3986 CsvDelay uint32 `protobuf:"varint,1,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"` 3987 // The minimum atoms this node is required to reserve in its balance. 3988 ChanReserveAtoms uint64 `protobuf:"varint,2,opt,name=chan_reserve_atoms,json=chanReserveAtoms,proto3" json:"chan_reserve_atoms,omitempty"` 3989 // The dust limit (in satoshis) of the initiator's commitment tx. 3990 DustLimitAtoms uint64 `protobuf:"varint,3,opt,name=dust_limit_atoms,json=dustLimitAtoms,proto3" json:"dust_limit_atoms,omitempty"` 3991 // The maximum amount of coins in milliatoms that can be pending in this 3992 // channel. 3993 MaxPendingAmtMAtoms uint64 `protobuf:"varint,4,opt,name=max_pending_amt_m_atoms,json=maxPendingAmtMAtoms,proto3" json:"max_pending_amt_m_atoms,omitempty"` 3994 // The smallest HTLC in milliatoms that the initiator will accept. 3995 MinHtlcMAtoms uint64 `protobuf:"varint,5,opt,name=min_htlc_m_atoms,json=minHtlcMAtoms,proto3" json:"min_htlc_m_atoms,omitempty"` 3996 // The total number of incoming HTLC's that the initiator will accept. 3997 MaxAcceptedHtlcs uint32 `protobuf:"varint,6,opt,name=max_accepted_htlcs,json=maxAcceptedHtlcs,proto3" json:"max_accepted_htlcs,omitempty"` 3998 } 3999 4000 func (x *ChannelConstraints) Reset() { 4001 *x = ChannelConstraints{} 4002 if protoimpl.UnsafeEnabled { 4003 mi := &file_lightning_proto_msgTypes[36] 4004 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4005 ms.StoreMessageInfo(mi) 4006 } 4007 } 4008 4009 func (x *ChannelConstraints) String() string { 4010 return protoimpl.X.MessageStringOf(x) 4011 } 4012 4013 func (*ChannelConstraints) ProtoMessage() {} 4014 4015 func (x *ChannelConstraints) ProtoReflect() protoreflect.Message { 4016 mi := &file_lightning_proto_msgTypes[36] 4017 if protoimpl.UnsafeEnabled && x != nil { 4018 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4019 if ms.LoadMessageInfo() == nil { 4020 ms.StoreMessageInfo(mi) 4021 } 4022 return ms 4023 } 4024 return mi.MessageOf(x) 4025 } 4026 4027 // Deprecated: Use ChannelConstraints.ProtoReflect.Descriptor instead. 4028 func (*ChannelConstraints) Descriptor() ([]byte, []int) { 4029 return file_lightning_proto_rawDescGZIP(), []int{36} 4030 } 4031 4032 func (x *ChannelConstraints) GetCsvDelay() uint32 { 4033 if x != nil { 4034 return x.CsvDelay 4035 } 4036 return 0 4037 } 4038 4039 func (x *ChannelConstraints) GetChanReserveAtoms() uint64 { 4040 if x != nil { 4041 return x.ChanReserveAtoms 4042 } 4043 return 0 4044 } 4045 4046 func (x *ChannelConstraints) GetDustLimitAtoms() uint64 { 4047 if x != nil { 4048 return x.DustLimitAtoms 4049 } 4050 return 0 4051 } 4052 4053 func (x *ChannelConstraints) GetMaxPendingAmtMAtoms() uint64 { 4054 if x != nil { 4055 return x.MaxPendingAmtMAtoms 4056 } 4057 return 0 4058 } 4059 4060 func (x *ChannelConstraints) GetMinHtlcMAtoms() uint64 { 4061 if x != nil { 4062 return x.MinHtlcMAtoms 4063 } 4064 return 0 4065 } 4066 4067 func (x *ChannelConstraints) GetMaxAcceptedHtlcs() uint32 { 4068 if x != nil { 4069 return x.MaxAcceptedHtlcs 4070 } 4071 return 0 4072 } 4073 4074 type Channel struct { 4075 state protoimpl.MessageState 4076 sizeCache protoimpl.SizeCache 4077 unknownFields protoimpl.UnknownFields 4078 4079 // Whether this channel is active or not 4080 Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"` 4081 // The identity pubkey of the remote node 4082 RemotePubkey string `protobuf:"bytes,2,opt,name=remote_pubkey,json=remotePubkey,proto3" json:"remote_pubkey,omitempty"` 4083 // The outpoint (txid:index) of the funding transaction. With this value, Bob 4084 // will be able to generate a signature for Alice's version of the commitment 4085 // transaction. 4086 ChannelPoint string `protobuf:"bytes,3,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` 4087 // The unique channel ID for the channel. The first 3 bytes are the block 4088 // height, the next 3 the index within the block, and the last 2 bytes are the 4089 // output index for the channel. 4090 ChanId uint64 `protobuf:"varint,4,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` 4091 // The total amount of funds held in this channel 4092 Capacity int64 `protobuf:"varint,5,opt,name=capacity,proto3" json:"capacity,omitempty"` 4093 // This node's current balance in this channel 4094 LocalBalance int64 `protobuf:"varint,6,opt,name=local_balance,json=localBalance,proto3" json:"local_balance,omitempty"` 4095 // The counterparty's current balance in this channel 4096 RemoteBalance int64 `protobuf:"varint,7,opt,name=remote_balance,json=remoteBalance,proto3" json:"remote_balance,omitempty"` 4097 // The amount calculated to be paid in fees for the current set of commitment 4098 // transactions. The fee amount is persisted with the channel in order to 4099 // allow the fee amount to be removed and recalculated with each channel state 4100 // update, including updates that happen after a system restart. 4101 CommitFee int64 `protobuf:"varint,8,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee,omitempty"` 4102 // The size of the commitment transaction 4103 CommitSize int64 `protobuf:"varint,9,opt,name=commit_size,json=commitSize,proto3" json:"commit_size,omitempty"` 4104 // The required number of atoms per kilobyte that the requester will pay 4105 // at all times, for both the funding transaction and commitment transaction. 4106 // This value can later be updated once the channel is open. 4107 FeePerKb int64 `protobuf:"varint,10,opt,name=fee_per_kb,json=feePerKb,proto3" json:"fee_per_kb,omitempty"` 4108 // The unsettled balance in this channel 4109 UnsettledBalance int64 `protobuf:"varint,11,opt,name=unsettled_balance,json=unsettledBalance,proto3" json:"unsettled_balance,omitempty"` 4110 // The total number of atoms we've sent within this channel. 4111 TotalAtomsSent int64 `protobuf:"varint,12,opt,name=total_atoms_sent,json=totalAtomsSent,proto3" json:"total_atoms_sent,omitempty"` 4112 // The total number of atoms we've received within this channel. 4113 TotalAtomsReceived int64 `protobuf:"varint,13,opt,name=total_atoms_received,json=totalAtomsReceived,proto3" json:"total_atoms_received,omitempty"` 4114 // The total number of updates conducted within this channel. 4115 NumUpdates uint64 `protobuf:"varint,14,opt,name=num_updates,json=numUpdates,proto3" json:"num_updates,omitempty"` 4116 // The list of active, uncleared HTLCs currently pending within the channel. 4117 PendingHtlcs []*HTLC `protobuf:"bytes,15,rep,name=pending_htlcs,json=pendingHtlcs,proto3" json:"pending_htlcs,omitempty"` 4118 // Deprecated. The CSV delay expressed in relative blocks. If the channel is 4119 // force closed, we will need to wait for this many blocks before we can regain 4120 // our funds. 4121 // 4122 // Deprecated: Marked as deprecated in lightning.proto. 4123 CsvDelay uint32 `protobuf:"varint,16,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"` 4124 // Whether this channel is advertised to the network or not. 4125 Private bool `protobuf:"varint,17,opt,name=private,proto3" json:"private,omitempty"` 4126 // True if we were the ones that created the channel. 4127 Initiator bool `protobuf:"varint,18,opt,name=initiator,proto3" json:"initiator,omitempty"` 4128 // A set of flags showing the current state of the channel. 4129 ChanStatusFlags string `protobuf:"bytes,19,opt,name=chan_status_flags,json=chanStatusFlags,proto3" json:"chan_status_flags,omitempty"` 4130 // The minimum atoms this node is required to reserve in its balance. 4131 // 4132 // Deprecated: Marked as deprecated in lightning.proto. 4133 LocalChanReserveAtoms int64 `protobuf:"varint,20,opt,name=local_chan_reserve_atoms,json=localChanReserveAtoms,proto3" json:"local_chan_reserve_atoms,omitempty"` 4134 // The minimum atoms the other node is required to reserve in its balance. 4135 // 4136 // Deprecated: Marked as deprecated in lightning.proto. 4137 RemoteChanReserveAtoms int64 `protobuf:"varint,21,opt,name=remote_chan_reserve_atoms,json=remoteChanReserveAtoms,proto3" json:"remote_chan_reserve_atoms,omitempty"` 4138 // Deprecated. Use commitment_type. 4139 // 4140 // Deprecated: Marked as deprecated in lightning.proto. 4141 StaticRemoteKey bool `protobuf:"varint,22,opt,name=static_remote_key,json=staticRemoteKey,proto3" json:"static_remote_key,omitempty"` 4142 // The commitment type used by this channel. 4143 CommitmentType CommitmentType `protobuf:"varint,26,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"` 4144 // The total amount of time the remote peer has been online while NOT sending 4145 // a ChannelReestablish message. 4146 ChanReestablishWaitTimeMs int64 `protobuf:"varint,900,opt,name=chan_reestablish_wait_time_ms,json=chanReestablishWaitTimeMs,proto3" json:"chan_reestablish_wait_time_ms,omitempty"` 4147 // The short channel id represented as a string, to ease log parsing. This is 4148 // the same as chan_id, but returned directly in the string representation. 4149 ShortChanId string `protobuf:"bytes,901,opt,name=short_chan_id,json=shortChanId,proto3" json:"short_chan_id,omitempty"` 4150 // The number of seconds that the channel has been monitored by the channel 4151 // scoring system. Scores are currently not persisted, so this value may be 4152 // less than the lifetime of the channel [EXPERIMENTAL]. 4153 Lifetime int64 `protobuf:"varint,23,opt,name=lifetime,proto3" json:"lifetime,omitempty"` 4154 // The number of seconds that the remote peer has been observed as being online 4155 // by the channel scoring system over the lifetime of the channel 4156 // [EXPERIMENTAL]. 4157 Uptime int64 `protobuf:"varint,24,opt,name=uptime,proto3" json:"uptime,omitempty"` 4158 // Close address is the address that we will enforce payout to on cooperative 4159 // close if the channel was opened utilizing option upfront shutdown. This 4160 // value can be set on channel open by setting close_address in an open channel 4161 // request. If this value is not set, you can still choose a payout address by 4162 // cooperatively closing with the delivery_address field set. 4163 CloseAddress string `protobuf:"bytes,25,opt,name=close_address,json=closeAddress,proto3" json:"close_address,omitempty"` 4164 // The amount that the initiator of the channel optionally pushed to the remote 4165 // party on channel open. This amount will be zero if the channel initiator did 4166 // not push any funds to the remote peer. If the initiator field is true, we 4167 // pushed this amount to our peer, if it is false, the remote peer pushed this 4168 // amount to us. 4169 PushAmountAtoms uint64 `protobuf:"varint,27,opt,name=push_amount_atoms,json=pushAmountAtoms,proto3" json:"push_amount_atoms,omitempty"` 4170 // This uint32 indicates if this channel is to be considered 'frozen'. A 4171 // frozen channel doest not allow a cooperative channel close by the 4172 // initiator. The thaw_height is the height that this restriction stops 4173 // applying to the channel. This field is optional, not setting it or using a 4174 // value of zero will mean the channel has no additional restrictions. The 4175 // height can be interpreted in two ways: as a relative height if the value is 4176 // less than 500,000, or as an absolute height otherwise. 4177 ThawHeight uint32 `protobuf:"varint,28,opt,name=thaw_height,json=thawHeight,proto3" json:"thaw_height,omitempty"` 4178 // List constraints for the local node. 4179 LocalConstraints *ChannelConstraints `protobuf:"bytes,29,opt,name=local_constraints,json=localConstraints,proto3" json:"local_constraints,omitempty"` 4180 // List constraints for the remote node. 4181 RemoteConstraints *ChannelConstraints `protobuf:"bytes,30,opt,name=remote_constraints,json=remoteConstraints,proto3" json:"remote_constraints,omitempty"` 4182 } 4183 4184 func (x *Channel) Reset() { 4185 *x = Channel{} 4186 if protoimpl.UnsafeEnabled { 4187 mi := &file_lightning_proto_msgTypes[37] 4188 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4189 ms.StoreMessageInfo(mi) 4190 } 4191 } 4192 4193 func (x *Channel) String() string { 4194 return protoimpl.X.MessageStringOf(x) 4195 } 4196 4197 func (*Channel) ProtoMessage() {} 4198 4199 func (x *Channel) ProtoReflect() protoreflect.Message { 4200 mi := &file_lightning_proto_msgTypes[37] 4201 if protoimpl.UnsafeEnabled && x != nil { 4202 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4203 if ms.LoadMessageInfo() == nil { 4204 ms.StoreMessageInfo(mi) 4205 } 4206 return ms 4207 } 4208 return mi.MessageOf(x) 4209 } 4210 4211 // Deprecated: Use Channel.ProtoReflect.Descriptor instead. 4212 func (*Channel) Descriptor() ([]byte, []int) { 4213 return file_lightning_proto_rawDescGZIP(), []int{37} 4214 } 4215 4216 func (x *Channel) GetActive() bool { 4217 if x != nil { 4218 return x.Active 4219 } 4220 return false 4221 } 4222 4223 func (x *Channel) GetRemotePubkey() string { 4224 if x != nil { 4225 return x.RemotePubkey 4226 } 4227 return "" 4228 } 4229 4230 func (x *Channel) GetChannelPoint() string { 4231 if x != nil { 4232 return x.ChannelPoint 4233 } 4234 return "" 4235 } 4236 4237 func (x *Channel) GetChanId() uint64 { 4238 if x != nil { 4239 return x.ChanId 4240 } 4241 return 0 4242 } 4243 4244 func (x *Channel) GetCapacity() int64 { 4245 if x != nil { 4246 return x.Capacity 4247 } 4248 return 0 4249 } 4250 4251 func (x *Channel) GetLocalBalance() int64 { 4252 if x != nil { 4253 return x.LocalBalance 4254 } 4255 return 0 4256 } 4257 4258 func (x *Channel) GetRemoteBalance() int64 { 4259 if x != nil { 4260 return x.RemoteBalance 4261 } 4262 return 0 4263 } 4264 4265 func (x *Channel) GetCommitFee() int64 { 4266 if x != nil { 4267 return x.CommitFee 4268 } 4269 return 0 4270 } 4271 4272 func (x *Channel) GetCommitSize() int64 { 4273 if x != nil { 4274 return x.CommitSize 4275 } 4276 return 0 4277 } 4278 4279 func (x *Channel) GetFeePerKb() int64 { 4280 if x != nil { 4281 return x.FeePerKb 4282 } 4283 return 0 4284 } 4285 4286 func (x *Channel) GetUnsettledBalance() int64 { 4287 if x != nil { 4288 return x.UnsettledBalance 4289 } 4290 return 0 4291 } 4292 4293 func (x *Channel) GetTotalAtomsSent() int64 { 4294 if x != nil { 4295 return x.TotalAtomsSent 4296 } 4297 return 0 4298 } 4299 4300 func (x *Channel) GetTotalAtomsReceived() int64 { 4301 if x != nil { 4302 return x.TotalAtomsReceived 4303 } 4304 return 0 4305 } 4306 4307 func (x *Channel) GetNumUpdates() uint64 { 4308 if x != nil { 4309 return x.NumUpdates 4310 } 4311 return 0 4312 } 4313 4314 func (x *Channel) GetPendingHtlcs() []*HTLC { 4315 if x != nil { 4316 return x.PendingHtlcs 4317 } 4318 return nil 4319 } 4320 4321 // Deprecated: Marked as deprecated in lightning.proto. 4322 func (x *Channel) GetCsvDelay() uint32 { 4323 if x != nil { 4324 return x.CsvDelay 4325 } 4326 return 0 4327 } 4328 4329 func (x *Channel) GetPrivate() bool { 4330 if x != nil { 4331 return x.Private 4332 } 4333 return false 4334 } 4335 4336 func (x *Channel) GetInitiator() bool { 4337 if x != nil { 4338 return x.Initiator 4339 } 4340 return false 4341 } 4342 4343 func (x *Channel) GetChanStatusFlags() string { 4344 if x != nil { 4345 return x.ChanStatusFlags 4346 } 4347 return "" 4348 } 4349 4350 // Deprecated: Marked as deprecated in lightning.proto. 4351 func (x *Channel) GetLocalChanReserveAtoms() int64 { 4352 if x != nil { 4353 return x.LocalChanReserveAtoms 4354 } 4355 return 0 4356 } 4357 4358 // Deprecated: Marked as deprecated in lightning.proto. 4359 func (x *Channel) GetRemoteChanReserveAtoms() int64 { 4360 if x != nil { 4361 return x.RemoteChanReserveAtoms 4362 } 4363 return 0 4364 } 4365 4366 // Deprecated: Marked as deprecated in lightning.proto. 4367 func (x *Channel) GetStaticRemoteKey() bool { 4368 if x != nil { 4369 return x.StaticRemoteKey 4370 } 4371 return false 4372 } 4373 4374 func (x *Channel) GetCommitmentType() CommitmentType { 4375 if x != nil { 4376 return x.CommitmentType 4377 } 4378 return CommitmentType_UNKNOWN_COMMITMENT_TYPE 4379 } 4380 4381 func (x *Channel) GetChanReestablishWaitTimeMs() int64 { 4382 if x != nil { 4383 return x.ChanReestablishWaitTimeMs 4384 } 4385 return 0 4386 } 4387 4388 func (x *Channel) GetShortChanId() string { 4389 if x != nil { 4390 return x.ShortChanId 4391 } 4392 return "" 4393 } 4394 4395 func (x *Channel) GetLifetime() int64 { 4396 if x != nil { 4397 return x.Lifetime 4398 } 4399 return 0 4400 } 4401 4402 func (x *Channel) GetUptime() int64 { 4403 if x != nil { 4404 return x.Uptime 4405 } 4406 return 0 4407 } 4408 4409 func (x *Channel) GetCloseAddress() string { 4410 if x != nil { 4411 return x.CloseAddress 4412 } 4413 return "" 4414 } 4415 4416 func (x *Channel) GetPushAmountAtoms() uint64 { 4417 if x != nil { 4418 return x.PushAmountAtoms 4419 } 4420 return 0 4421 } 4422 4423 func (x *Channel) GetThawHeight() uint32 { 4424 if x != nil { 4425 return x.ThawHeight 4426 } 4427 return 0 4428 } 4429 4430 func (x *Channel) GetLocalConstraints() *ChannelConstraints { 4431 if x != nil { 4432 return x.LocalConstraints 4433 } 4434 return nil 4435 } 4436 4437 func (x *Channel) GetRemoteConstraints() *ChannelConstraints { 4438 if x != nil { 4439 return x.RemoteConstraints 4440 } 4441 return nil 4442 } 4443 4444 type ListChannelsRequest struct { 4445 state protoimpl.MessageState 4446 sizeCache protoimpl.SizeCache 4447 unknownFields protoimpl.UnknownFields 4448 4449 ActiveOnly bool `protobuf:"varint,1,opt,name=active_only,json=activeOnly,proto3" json:"active_only,omitempty"` 4450 InactiveOnly bool `protobuf:"varint,2,opt,name=inactive_only,json=inactiveOnly,proto3" json:"inactive_only,omitempty"` 4451 PublicOnly bool `protobuf:"varint,3,opt,name=public_only,json=publicOnly,proto3" json:"public_only,omitempty"` 4452 PrivateOnly bool `protobuf:"varint,4,opt,name=private_only,json=privateOnly,proto3" json:"private_only,omitempty"` 4453 // Filters the response for channels with a target peer's pubkey. If peer is 4454 // empty, all channels will be returned. 4455 Peer []byte `protobuf:"bytes,5,opt,name=peer,proto3" json:"peer,omitempty"` 4456 } 4457 4458 func (x *ListChannelsRequest) Reset() { 4459 *x = ListChannelsRequest{} 4460 if protoimpl.UnsafeEnabled { 4461 mi := &file_lightning_proto_msgTypes[38] 4462 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4463 ms.StoreMessageInfo(mi) 4464 } 4465 } 4466 4467 func (x *ListChannelsRequest) String() string { 4468 return protoimpl.X.MessageStringOf(x) 4469 } 4470 4471 func (*ListChannelsRequest) ProtoMessage() {} 4472 4473 func (x *ListChannelsRequest) ProtoReflect() protoreflect.Message { 4474 mi := &file_lightning_proto_msgTypes[38] 4475 if protoimpl.UnsafeEnabled && x != nil { 4476 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4477 if ms.LoadMessageInfo() == nil { 4478 ms.StoreMessageInfo(mi) 4479 } 4480 return ms 4481 } 4482 return mi.MessageOf(x) 4483 } 4484 4485 // Deprecated: Use ListChannelsRequest.ProtoReflect.Descriptor instead. 4486 func (*ListChannelsRequest) Descriptor() ([]byte, []int) { 4487 return file_lightning_proto_rawDescGZIP(), []int{38} 4488 } 4489 4490 func (x *ListChannelsRequest) GetActiveOnly() bool { 4491 if x != nil { 4492 return x.ActiveOnly 4493 } 4494 return false 4495 } 4496 4497 func (x *ListChannelsRequest) GetInactiveOnly() bool { 4498 if x != nil { 4499 return x.InactiveOnly 4500 } 4501 return false 4502 } 4503 4504 func (x *ListChannelsRequest) GetPublicOnly() bool { 4505 if x != nil { 4506 return x.PublicOnly 4507 } 4508 return false 4509 } 4510 4511 func (x *ListChannelsRequest) GetPrivateOnly() bool { 4512 if x != nil { 4513 return x.PrivateOnly 4514 } 4515 return false 4516 } 4517 4518 func (x *ListChannelsRequest) GetPeer() []byte { 4519 if x != nil { 4520 return x.Peer 4521 } 4522 return nil 4523 } 4524 4525 type ListChannelsResponse struct { 4526 state protoimpl.MessageState 4527 sizeCache protoimpl.SizeCache 4528 unknownFields protoimpl.UnknownFields 4529 4530 // The list of active channels 4531 Channels []*Channel `protobuf:"bytes,11,rep,name=channels,proto3" json:"channels,omitempty"` 4532 } 4533 4534 func (x *ListChannelsResponse) Reset() { 4535 *x = ListChannelsResponse{} 4536 if protoimpl.UnsafeEnabled { 4537 mi := &file_lightning_proto_msgTypes[39] 4538 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4539 ms.StoreMessageInfo(mi) 4540 } 4541 } 4542 4543 func (x *ListChannelsResponse) String() string { 4544 return protoimpl.X.MessageStringOf(x) 4545 } 4546 4547 func (*ListChannelsResponse) ProtoMessage() {} 4548 4549 func (x *ListChannelsResponse) ProtoReflect() protoreflect.Message { 4550 mi := &file_lightning_proto_msgTypes[39] 4551 if protoimpl.UnsafeEnabled && x != nil { 4552 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4553 if ms.LoadMessageInfo() == nil { 4554 ms.StoreMessageInfo(mi) 4555 } 4556 return ms 4557 } 4558 return mi.MessageOf(x) 4559 } 4560 4561 // Deprecated: Use ListChannelsResponse.ProtoReflect.Descriptor instead. 4562 func (*ListChannelsResponse) Descriptor() ([]byte, []int) { 4563 return file_lightning_proto_rawDescGZIP(), []int{39} 4564 } 4565 4566 func (x *ListChannelsResponse) GetChannels() []*Channel { 4567 if x != nil { 4568 return x.Channels 4569 } 4570 return nil 4571 } 4572 4573 type ChannelCloseSummary struct { 4574 state protoimpl.MessageState 4575 sizeCache protoimpl.SizeCache 4576 unknownFields protoimpl.UnknownFields 4577 4578 // The outpoint (txid:index) of the funding transaction. 4579 ChannelPoint string `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` 4580 // The short channel id represented as a string, to ease log parsing. This is 4581 // the same as chan_id, but returned directly in the string representation. 4582 ShortChanId string `protobuf:"bytes,900,opt,name=short_chan_id,json=shortChanId,proto3" json:"short_chan_id,omitempty"` 4583 // The unique channel ID for the channel. 4584 ChanId uint64 `protobuf:"varint,2,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` 4585 // The hash of the genesis block that this channel resides within. 4586 ChainHash string `protobuf:"bytes,3,opt,name=chain_hash,json=chainHash,proto3" json:"chain_hash,omitempty"` 4587 // The txid of the transaction which ultimately closed this channel. 4588 ClosingTxHash string `protobuf:"bytes,4,opt,name=closing_tx_hash,json=closingTxHash,proto3" json:"closing_tx_hash,omitempty"` 4589 // Public key of the remote peer that we formerly had a channel with. 4590 RemotePubkey string `protobuf:"bytes,5,opt,name=remote_pubkey,json=remotePubkey,proto3" json:"remote_pubkey,omitempty"` 4591 // Total capacity of the channel. 4592 Capacity int64 `protobuf:"varint,6,opt,name=capacity,proto3" json:"capacity,omitempty"` 4593 // Height at which the funding transaction was spent. 4594 CloseHeight uint32 `protobuf:"varint,7,opt,name=close_height,json=closeHeight,proto3" json:"close_height,omitempty"` 4595 // Settled balance at the time of channel closure 4596 SettledBalance int64 `protobuf:"varint,8,opt,name=settled_balance,json=settledBalance,proto3" json:"settled_balance,omitempty"` 4597 // The sum of all the time-locked outputs at the time of channel closure 4598 TimeLockedBalance int64 `protobuf:"varint,9,opt,name=time_locked_balance,json=timeLockedBalance,proto3" json:"time_locked_balance,omitempty"` 4599 // Details on how the channel was closed. 4600 CloseType ChannelCloseSummary_ClosureType `protobuf:"varint,10,opt,name=close_type,json=closeType,proto3,enum=lnrpc.ChannelCloseSummary_ClosureType" json:"close_type,omitempty"` 4601 // Open initiator is the party that initiated opening the channel. Note that 4602 // this value may be unknown if the channel was closed before we migrated to 4603 // store open channel information after close. 4604 OpenInitiator Initiator `protobuf:"varint,11,opt,name=open_initiator,json=openInitiator,proto3,enum=lnrpc.Initiator" json:"open_initiator,omitempty"` 4605 // Close initiator indicates which party initiated the close. This value will 4606 // be unknown for channels that were cooperatively closed before we started 4607 // tracking cooperative close initiators. Note that this indicates which party 4608 // initiated a close, and it is possible for both to initiate cooperative or 4609 // force closes, although only one party's close will be confirmed on chain. 4610 CloseInitiator Initiator `protobuf:"varint,12,opt,name=close_initiator,json=closeInitiator,proto3,enum=lnrpc.Initiator" json:"close_initiator,omitempty"` 4611 Resolutions []*Resolution `protobuf:"bytes,13,rep,name=resolutions,proto3" json:"resolutions,omitempty"` 4612 } 4613 4614 func (x *ChannelCloseSummary) Reset() { 4615 *x = ChannelCloseSummary{} 4616 if protoimpl.UnsafeEnabled { 4617 mi := &file_lightning_proto_msgTypes[40] 4618 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4619 ms.StoreMessageInfo(mi) 4620 } 4621 } 4622 4623 func (x *ChannelCloseSummary) String() string { 4624 return protoimpl.X.MessageStringOf(x) 4625 } 4626 4627 func (*ChannelCloseSummary) ProtoMessage() {} 4628 4629 func (x *ChannelCloseSummary) ProtoReflect() protoreflect.Message { 4630 mi := &file_lightning_proto_msgTypes[40] 4631 if protoimpl.UnsafeEnabled && x != nil { 4632 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4633 if ms.LoadMessageInfo() == nil { 4634 ms.StoreMessageInfo(mi) 4635 } 4636 return ms 4637 } 4638 return mi.MessageOf(x) 4639 } 4640 4641 // Deprecated: Use ChannelCloseSummary.ProtoReflect.Descriptor instead. 4642 func (*ChannelCloseSummary) Descriptor() ([]byte, []int) { 4643 return file_lightning_proto_rawDescGZIP(), []int{40} 4644 } 4645 4646 func (x *ChannelCloseSummary) GetChannelPoint() string { 4647 if x != nil { 4648 return x.ChannelPoint 4649 } 4650 return "" 4651 } 4652 4653 func (x *ChannelCloseSummary) GetShortChanId() string { 4654 if x != nil { 4655 return x.ShortChanId 4656 } 4657 return "" 4658 } 4659 4660 func (x *ChannelCloseSummary) GetChanId() uint64 { 4661 if x != nil { 4662 return x.ChanId 4663 } 4664 return 0 4665 } 4666 4667 func (x *ChannelCloseSummary) GetChainHash() string { 4668 if x != nil { 4669 return x.ChainHash 4670 } 4671 return "" 4672 } 4673 4674 func (x *ChannelCloseSummary) GetClosingTxHash() string { 4675 if x != nil { 4676 return x.ClosingTxHash 4677 } 4678 return "" 4679 } 4680 4681 func (x *ChannelCloseSummary) GetRemotePubkey() string { 4682 if x != nil { 4683 return x.RemotePubkey 4684 } 4685 return "" 4686 } 4687 4688 func (x *ChannelCloseSummary) GetCapacity() int64 { 4689 if x != nil { 4690 return x.Capacity 4691 } 4692 return 0 4693 } 4694 4695 func (x *ChannelCloseSummary) GetCloseHeight() uint32 { 4696 if x != nil { 4697 return x.CloseHeight 4698 } 4699 return 0 4700 } 4701 4702 func (x *ChannelCloseSummary) GetSettledBalance() int64 { 4703 if x != nil { 4704 return x.SettledBalance 4705 } 4706 return 0 4707 } 4708 4709 func (x *ChannelCloseSummary) GetTimeLockedBalance() int64 { 4710 if x != nil { 4711 return x.TimeLockedBalance 4712 } 4713 return 0 4714 } 4715 4716 func (x *ChannelCloseSummary) GetCloseType() ChannelCloseSummary_ClosureType { 4717 if x != nil { 4718 return x.CloseType 4719 } 4720 return ChannelCloseSummary_COOPERATIVE_CLOSE 4721 } 4722 4723 func (x *ChannelCloseSummary) GetOpenInitiator() Initiator { 4724 if x != nil { 4725 return x.OpenInitiator 4726 } 4727 return Initiator_INITIATOR_UNKNOWN 4728 } 4729 4730 func (x *ChannelCloseSummary) GetCloseInitiator() Initiator { 4731 if x != nil { 4732 return x.CloseInitiator 4733 } 4734 return Initiator_INITIATOR_UNKNOWN 4735 } 4736 4737 func (x *ChannelCloseSummary) GetResolutions() []*Resolution { 4738 if x != nil { 4739 return x.Resolutions 4740 } 4741 return nil 4742 } 4743 4744 type Resolution struct { 4745 state protoimpl.MessageState 4746 sizeCache protoimpl.SizeCache 4747 unknownFields protoimpl.UnknownFields 4748 4749 // The type of output we are resolving. 4750 ResolutionType ResolutionType `protobuf:"varint,1,opt,name=resolution_type,json=resolutionType,proto3,enum=lnrpc.ResolutionType" json:"resolution_type,omitempty"` 4751 // The outcome of our on chain action that resolved the outpoint. 4752 Outcome ResolutionOutcome `protobuf:"varint,2,opt,name=outcome,proto3,enum=lnrpc.ResolutionOutcome" json:"outcome,omitempty"` 4753 // The outpoint that was spent by the resolution. 4754 Outpoint *OutPoint `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"` 4755 // The amount that was claimed by the resolution. 4756 AmountAtoms uint64 `protobuf:"varint,4,opt,name=amount_atoms,json=amountAtoms,proto3" json:"amount_atoms,omitempty"` 4757 // The hex-encoded transaction ID of the sweep transaction that spent the 4758 // output. 4759 SweepTxid string `protobuf:"bytes,5,opt,name=sweep_txid,json=sweepTxid,proto3" json:"sweep_txid,omitempty"` 4760 } 4761 4762 func (x *Resolution) Reset() { 4763 *x = Resolution{} 4764 if protoimpl.UnsafeEnabled { 4765 mi := &file_lightning_proto_msgTypes[41] 4766 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4767 ms.StoreMessageInfo(mi) 4768 } 4769 } 4770 4771 func (x *Resolution) String() string { 4772 return protoimpl.X.MessageStringOf(x) 4773 } 4774 4775 func (*Resolution) ProtoMessage() {} 4776 4777 func (x *Resolution) ProtoReflect() protoreflect.Message { 4778 mi := &file_lightning_proto_msgTypes[41] 4779 if protoimpl.UnsafeEnabled && x != nil { 4780 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4781 if ms.LoadMessageInfo() == nil { 4782 ms.StoreMessageInfo(mi) 4783 } 4784 return ms 4785 } 4786 return mi.MessageOf(x) 4787 } 4788 4789 // Deprecated: Use Resolution.ProtoReflect.Descriptor instead. 4790 func (*Resolution) Descriptor() ([]byte, []int) { 4791 return file_lightning_proto_rawDescGZIP(), []int{41} 4792 } 4793 4794 func (x *Resolution) GetResolutionType() ResolutionType { 4795 if x != nil { 4796 return x.ResolutionType 4797 } 4798 return ResolutionType_TYPE_UNKNOWN 4799 } 4800 4801 func (x *Resolution) GetOutcome() ResolutionOutcome { 4802 if x != nil { 4803 return x.Outcome 4804 } 4805 return ResolutionOutcome_OUTCOME_UNKNOWN 4806 } 4807 4808 func (x *Resolution) GetOutpoint() *OutPoint { 4809 if x != nil { 4810 return x.Outpoint 4811 } 4812 return nil 4813 } 4814 4815 func (x *Resolution) GetAmountAtoms() uint64 { 4816 if x != nil { 4817 return x.AmountAtoms 4818 } 4819 return 0 4820 } 4821 4822 func (x *Resolution) GetSweepTxid() string { 4823 if x != nil { 4824 return x.SweepTxid 4825 } 4826 return "" 4827 } 4828 4829 type ClosedChannelsRequest struct { 4830 state protoimpl.MessageState 4831 sizeCache protoimpl.SizeCache 4832 unknownFields protoimpl.UnknownFields 4833 4834 Cooperative bool `protobuf:"varint,1,opt,name=cooperative,proto3" json:"cooperative,omitempty"` 4835 LocalForce bool `protobuf:"varint,2,opt,name=local_force,json=localForce,proto3" json:"local_force,omitempty"` 4836 RemoteForce bool `protobuf:"varint,3,opt,name=remote_force,json=remoteForce,proto3" json:"remote_force,omitempty"` 4837 Breach bool `protobuf:"varint,4,opt,name=breach,proto3" json:"breach,omitempty"` 4838 FundingCanceled bool `protobuf:"varint,5,opt,name=funding_canceled,json=fundingCanceled,proto3" json:"funding_canceled,omitempty"` 4839 Abandoned bool `protobuf:"varint,6,opt,name=abandoned,proto3" json:"abandoned,omitempty"` 4840 } 4841 4842 func (x *ClosedChannelsRequest) Reset() { 4843 *x = ClosedChannelsRequest{} 4844 if protoimpl.UnsafeEnabled { 4845 mi := &file_lightning_proto_msgTypes[42] 4846 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4847 ms.StoreMessageInfo(mi) 4848 } 4849 } 4850 4851 func (x *ClosedChannelsRequest) String() string { 4852 return protoimpl.X.MessageStringOf(x) 4853 } 4854 4855 func (*ClosedChannelsRequest) ProtoMessage() {} 4856 4857 func (x *ClosedChannelsRequest) ProtoReflect() protoreflect.Message { 4858 mi := &file_lightning_proto_msgTypes[42] 4859 if protoimpl.UnsafeEnabled && x != nil { 4860 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4861 if ms.LoadMessageInfo() == nil { 4862 ms.StoreMessageInfo(mi) 4863 } 4864 return ms 4865 } 4866 return mi.MessageOf(x) 4867 } 4868 4869 // Deprecated: Use ClosedChannelsRequest.ProtoReflect.Descriptor instead. 4870 func (*ClosedChannelsRequest) Descriptor() ([]byte, []int) { 4871 return file_lightning_proto_rawDescGZIP(), []int{42} 4872 } 4873 4874 func (x *ClosedChannelsRequest) GetCooperative() bool { 4875 if x != nil { 4876 return x.Cooperative 4877 } 4878 return false 4879 } 4880 4881 func (x *ClosedChannelsRequest) GetLocalForce() bool { 4882 if x != nil { 4883 return x.LocalForce 4884 } 4885 return false 4886 } 4887 4888 func (x *ClosedChannelsRequest) GetRemoteForce() bool { 4889 if x != nil { 4890 return x.RemoteForce 4891 } 4892 return false 4893 } 4894 4895 func (x *ClosedChannelsRequest) GetBreach() bool { 4896 if x != nil { 4897 return x.Breach 4898 } 4899 return false 4900 } 4901 4902 func (x *ClosedChannelsRequest) GetFundingCanceled() bool { 4903 if x != nil { 4904 return x.FundingCanceled 4905 } 4906 return false 4907 } 4908 4909 func (x *ClosedChannelsRequest) GetAbandoned() bool { 4910 if x != nil { 4911 return x.Abandoned 4912 } 4913 return false 4914 } 4915 4916 type ClosedChannelsResponse struct { 4917 state protoimpl.MessageState 4918 sizeCache protoimpl.SizeCache 4919 unknownFields protoimpl.UnknownFields 4920 4921 Channels []*ChannelCloseSummary `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` 4922 } 4923 4924 func (x *ClosedChannelsResponse) Reset() { 4925 *x = ClosedChannelsResponse{} 4926 if protoimpl.UnsafeEnabled { 4927 mi := &file_lightning_proto_msgTypes[43] 4928 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4929 ms.StoreMessageInfo(mi) 4930 } 4931 } 4932 4933 func (x *ClosedChannelsResponse) String() string { 4934 return protoimpl.X.MessageStringOf(x) 4935 } 4936 4937 func (*ClosedChannelsResponse) ProtoMessage() {} 4938 4939 func (x *ClosedChannelsResponse) ProtoReflect() protoreflect.Message { 4940 mi := &file_lightning_proto_msgTypes[43] 4941 if protoimpl.UnsafeEnabled && x != nil { 4942 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 4943 if ms.LoadMessageInfo() == nil { 4944 ms.StoreMessageInfo(mi) 4945 } 4946 return ms 4947 } 4948 return mi.MessageOf(x) 4949 } 4950 4951 // Deprecated: Use ClosedChannelsResponse.ProtoReflect.Descriptor instead. 4952 func (*ClosedChannelsResponse) Descriptor() ([]byte, []int) { 4953 return file_lightning_proto_rawDescGZIP(), []int{43} 4954 } 4955 4956 func (x *ClosedChannelsResponse) GetChannels() []*ChannelCloseSummary { 4957 if x != nil { 4958 return x.Channels 4959 } 4960 return nil 4961 } 4962 4963 type Peer struct { 4964 state protoimpl.MessageState 4965 sizeCache protoimpl.SizeCache 4966 unknownFields protoimpl.UnknownFields 4967 4968 // The identity pubkey of the peer 4969 PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` 4970 // Network address of the peer; eg `127.0.0.1:10011` 4971 Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` 4972 // Bytes of data transmitted to this peer 4973 BytesSent uint64 `protobuf:"varint,4,opt,name=bytes_sent,json=bytesSent,proto3" json:"bytes_sent,omitempty"` 4974 // Bytes of data transmitted from this peer 4975 BytesRecv uint64 `protobuf:"varint,5,opt,name=bytes_recv,json=bytesRecv,proto3" json:"bytes_recv,omitempty"` 4976 // Atoms sent to this peer 4977 AtomsSent int64 `protobuf:"varint,6,opt,name=atoms_sent,json=atomsSent,proto3" json:"atoms_sent,omitempty"` 4978 // Atoms received from this peer 4979 AtomsRecv int64 `protobuf:"varint,7,opt,name=atoms_recv,json=atomsRecv,proto3" json:"atoms_recv,omitempty"` 4980 // A channel is inbound if the counterparty initiated the channel 4981 Inbound bool `protobuf:"varint,8,opt,name=inbound,proto3" json:"inbound,omitempty"` 4982 // Ping time to this peer 4983 PingTime int64 `protobuf:"varint,9,opt,name=ping_time,json=pingTime,proto3" json:"ping_time,omitempty"` 4984 // The type of sync we are currently performing with this peer. 4985 SyncType Peer_SyncType `protobuf:"varint,10,opt,name=sync_type,json=syncType,proto3,enum=lnrpc.Peer_SyncType" json:"sync_type,omitempty"` 4986 // Features advertised by the remote peer in their init message. 4987 Features map[uint32]*Feature `protobuf:"bytes,11,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 4988 // The latest errors received from our peer with timestamps, limited to the 10 4989 // most recent errors. These errors are tracked across peer connections, but 4990 // are not persisted across lnd restarts. Note that these errors are only 4991 // stored for peers that we have channels open with, to prevent peers from 4992 // spamming us with errors at no cost. 4993 Errors []*TimestampedError `protobuf:"bytes,12,rep,name=errors,proto3" json:"errors,omitempty"` 4994 // The number of times we have recorded this peer going offline or coming 4995 // online, recorded across restarts. Note that this value is decreased over 4996 // time if the peer has not recently flapped, so that we can forgive peers 4997 // with historically high flap counts. 4998 FlapCount int32 `protobuf:"varint,13,opt,name=flap_count,json=flapCount,proto3" json:"flap_count,omitempty"` 4999 // The timestamp of the last flap we observed for this peer. If this value is 5000 // zero, we have not observed any flaps for this peer. 5001 LastFlapNs int64 `protobuf:"varint,14,opt,name=last_flap_ns,json=lastFlapNs,proto3" json:"last_flap_ns,omitempty"` 5002 // The last ping payload the peer has sent to us. 5003 LastPingPayload []byte `protobuf:"bytes,15,opt,name=last_ping_payload,json=lastPingPayload,proto3" json:"last_ping_payload,omitempty"` 5004 } 5005 5006 func (x *Peer) Reset() { 5007 *x = Peer{} 5008 if protoimpl.UnsafeEnabled { 5009 mi := &file_lightning_proto_msgTypes[44] 5010 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5011 ms.StoreMessageInfo(mi) 5012 } 5013 } 5014 5015 func (x *Peer) String() string { 5016 return protoimpl.X.MessageStringOf(x) 5017 } 5018 5019 func (*Peer) ProtoMessage() {} 5020 5021 func (x *Peer) ProtoReflect() protoreflect.Message { 5022 mi := &file_lightning_proto_msgTypes[44] 5023 if protoimpl.UnsafeEnabled && x != nil { 5024 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5025 if ms.LoadMessageInfo() == nil { 5026 ms.StoreMessageInfo(mi) 5027 } 5028 return ms 5029 } 5030 return mi.MessageOf(x) 5031 } 5032 5033 // Deprecated: Use Peer.ProtoReflect.Descriptor instead. 5034 func (*Peer) Descriptor() ([]byte, []int) { 5035 return file_lightning_proto_rawDescGZIP(), []int{44} 5036 } 5037 5038 func (x *Peer) GetPubKey() string { 5039 if x != nil { 5040 return x.PubKey 5041 } 5042 return "" 5043 } 5044 5045 func (x *Peer) GetAddress() string { 5046 if x != nil { 5047 return x.Address 5048 } 5049 return "" 5050 } 5051 5052 func (x *Peer) GetBytesSent() uint64 { 5053 if x != nil { 5054 return x.BytesSent 5055 } 5056 return 0 5057 } 5058 5059 func (x *Peer) GetBytesRecv() uint64 { 5060 if x != nil { 5061 return x.BytesRecv 5062 } 5063 return 0 5064 } 5065 5066 func (x *Peer) GetAtomsSent() int64 { 5067 if x != nil { 5068 return x.AtomsSent 5069 } 5070 return 0 5071 } 5072 5073 func (x *Peer) GetAtomsRecv() int64 { 5074 if x != nil { 5075 return x.AtomsRecv 5076 } 5077 return 0 5078 } 5079 5080 func (x *Peer) GetInbound() bool { 5081 if x != nil { 5082 return x.Inbound 5083 } 5084 return false 5085 } 5086 5087 func (x *Peer) GetPingTime() int64 { 5088 if x != nil { 5089 return x.PingTime 5090 } 5091 return 0 5092 } 5093 5094 func (x *Peer) GetSyncType() Peer_SyncType { 5095 if x != nil { 5096 return x.SyncType 5097 } 5098 return Peer_UNKNOWN_SYNC 5099 } 5100 5101 func (x *Peer) GetFeatures() map[uint32]*Feature { 5102 if x != nil { 5103 return x.Features 5104 } 5105 return nil 5106 } 5107 5108 func (x *Peer) GetErrors() []*TimestampedError { 5109 if x != nil { 5110 return x.Errors 5111 } 5112 return nil 5113 } 5114 5115 func (x *Peer) GetFlapCount() int32 { 5116 if x != nil { 5117 return x.FlapCount 5118 } 5119 return 0 5120 } 5121 5122 func (x *Peer) GetLastFlapNs() int64 { 5123 if x != nil { 5124 return x.LastFlapNs 5125 } 5126 return 0 5127 } 5128 5129 func (x *Peer) GetLastPingPayload() []byte { 5130 if x != nil { 5131 return x.LastPingPayload 5132 } 5133 return nil 5134 } 5135 5136 type TimestampedError struct { 5137 state protoimpl.MessageState 5138 sizeCache protoimpl.SizeCache 5139 unknownFields protoimpl.UnknownFields 5140 5141 // The unix timestamp in seconds when the error occurred. 5142 Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 5143 // The string representation of the error sent by our peer. 5144 Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` 5145 } 5146 5147 func (x *TimestampedError) Reset() { 5148 *x = TimestampedError{} 5149 if protoimpl.UnsafeEnabled { 5150 mi := &file_lightning_proto_msgTypes[45] 5151 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5152 ms.StoreMessageInfo(mi) 5153 } 5154 } 5155 5156 func (x *TimestampedError) String() string { 5157 return protoimpl.X.MessageStringOf(x) 5158 } 5159 5160 func (*TimestampedError) ProtoMessage() {} 5161 5162 func (x *TimestampedError) ProtoReflect() protoreflect.Message { 5163 mi := &file_lightning_proto_msgTypes[45] 5164 if protoimpl.UnsafeEnabled && x != nil { 5165 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5166 if ms.LoadMessageInfo() == nil { 5167 ms.StoreMessageInfo(mi) 5168 } 5169 return ms 5170 } 5171 return mi.MessageOf(x) 5172 } 5173 5174 // Deprecated: Use TimestampedError.ProtoReflect.Descriptor instead. 5175 func (*TimestampedError) Descriptor() ([]byte, []int) { 5176 return file_lightning_proto_rawDescGZIP(), []int{45} 5177 } 5178 5179 func (x *TimestampedError) GetTimestamp() uint64 { 5180 if x != nil { 5181 return x.Timestamp 5182 } 5183 return 0 5184 } 5185 5186 func (x *TimestampedError) GetError() string { 5187 if x != nil { 5188 return x.Error 5189 } 5190 return "" 5191 } 5192 5193 type ListPeersRequest struct { 5194 state protoimpl.MessageState 5195 sizeCache protoimpl.SizeCache 5196 unknownFields protoimpl.UnknownFields 5197 5198 // If true, only the last error that our peer sent us will be returned with 5199 // the peer's information, rather than the full set of historic errors we have 5200 // stored. 5201 LatestError bool `protobuf:"varint,1,opt,name=latest_error,json=latestError,proto3" json:"latest_error,omitempty"` 5202 } 5203 5204 func (x *ListPeersRequest) Reset() { 5205 *x = ListPeersRequest{} 5206 if protoimpl.UnsafeEnabled { 5207 mi := &file_lightning_proto_msgTypes[46] 5208 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5209 ms.StoreMessageInfo(mi) 5210 } 5211 } 5212 5213 func (x *ListPeersRequest) String() string { 5214 return protoimpl.X.MessageStringOf(x) 5215 } 5216 5217 func (*ListPeersRequest) ProtoMessage() {} 5218 5219 func (x *ListPeersRequest) ProtoReflect() protoreflect.Message { 5220 mi := &file_lightning_proto_msgTypes[46] 5221 if protoimpl.UnsafeEnabled && x != nil { 5222 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5223 if ms.LoadMessageInfo() == nil { 5224 ms.StoreMessageInfo(mi) 5225 } 5226 return ms 5227 } 5228 return mi.MessageOf(x) 5229 } 5230 5231 // Deprecated: Use ListPeersRequest.ProtoReflect.Descriptor instead. 5232 func (*ListPeersRequest) Descriptor() ([]byte, []int) { 5233 return file_lightning_proto_rawDescGZIP(), []int{46} 5234 } 5235 5236 func (x *ListPeersRequest) GetLatestError() bool { 5237 if x != nil { 5238 return x.LatestError 5239 } 5240 return false 5241 } 5242 5243 type ListPeersResponse struct { 5244 state protoimpl.MessageState 5245 sizeCache protoimpl.SizeCache 5246 unknownFields protoimpl.UnknownFields 5247 5248 // The list of currently connected peers 5249 Peers []*Peer `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` 5250 } 5251 5252 func (x *ListPeersResponse) Reset() { 5253 *x = ListPeersResponse{} 5254 if protoimpl.UnsafeEnabled { 5255 mi := &file_lightning_proto_msgTypes[47] 5256 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5257 ms.StoreMessageInfo(mi) 5258 } 5259 } 5260 5261 func (x *ListPeersResponse) String() string { 5262 return protoimpl.X.MessageStringOf(x) 5263 } 5264 5265 func (*ListPeersResponse) ProtoMessage() {} 5266 5267 func (x *ListPeersResponse) ProtoReflect() protoreflect.Message { 5268 mi := &file_lightning_proto_msgTypes[47] 5269 if protoimpl.UnsafeEnabled && x != nil { 5270 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5271 if ms.LoadMessageInfo() == nil { 5272 ms.StoreMessageInfo(mi) 5273 } 5274 return ms 5275 } 5276 return mi.MessageOf(x) 5277 } 5278 5279 // Deprecated: Use ListPeersResponse.ProtoReflect.Descriptor instead. 5280 func (*ListPeersResponse) Descriptor() ([]byte, []int) { 5281 return file_lightning_proto_rawDescGZIP(), []int{47} 5282 } 5283 5284 func (x *ListPeersResponse) GetPeers() []*Peer { 5285 if x != nil { 5286 return x.Peers 5287 } 5288 return nil 5289 } 5290 5291 type PeerEventSubscription struct { 5292 state protoimpl.MessageState 5293 sizeCache protoimpl.SizeCache 5294 unknownFields protoimpl.UnknownFields 5295 } 5296 5297 func (x *PeerEventSubscription) Reset() { 5298 *x = PeerEventSubscription{} 5299 if protoimpl.UnsafeEnabled { 5300 mi := &file_lightning_proto_msgTypes[48] 5301 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5302 ms.StoreMessageInfo(mi) 5303 } 5304 } 5305 5306 func (x *PeerEventSubscription) String() string { 5307 return protoimpl.X.MessageStringOf(x) 5308 } 5309 5310 func (*PeerEventSubscription) ProtoMessage() {} 5311 5312 func (x *PeerEventSubscription) ProtoReflect() protoreflect.Message { 5313 mi := &file_lightning_proto_msgTypes[48] 5314 if protoimpl.UnsafeEnabled && x != nil { 5315 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5316 if ms.LoadMessageInfo() == nil { 5317 ms.StoreMessageInfo(mi) 5318 } 5319 return ms 5320 } 5321 return mi.MessageOf(x) 5322 } 5323 5324 // Deprecated: Use PeerEventSubscription.ProtoReflect.Descriptor instead. 5325 func (*PeerEventSubscription) Descriptor() ([]byte, []int) { 5326 return file_lightning_proto_rawDescGZIP(), []int{48} 5327 } 5328 5329 type PeerEvent struct { 5330 state protoimpl.MessageState 5331 sizeCache protoimpl.SizeCache 5332 unknownFields protoimpl.UnknownFields 5333 5334 // The identity pubkey of the peer. 5335 PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` 5336 Type PeerEvent_EventType `protobuf:"varint,2,opt,name=type,proto3,enum=lnrpc.PeerEvent_EventType" json:"type,omitempty"` 5337 } 5338 5339 func (x *PeerEvent) Reset() { 5340 *x = PeerEvent{} 5341 if protoimpl.UnsafeEnabled { 5342 mi := &file_lightning_proto_msgTypes[49] 5343 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5344 ms.StoreMessageInfo(mi) 5345 } 5346 } 5347 5348 func (x *PeerEvent) String() string { 5349 return protoimpl.X.MessageStringOf(x) 5350 } 5351 5352 func (*PeerEvent) ProtoMessage() {} 5353 5354 func (x *PeerEvent) ProtoReflect() protoreflect.Message { 5355 mi := &file_lightning_proto_msgTypes[49] 5356 if protoimpl.UnsafeEnabled && x != nil { 5357 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5358 if ms.LoadMessageInfo() == nil { 5359 ms.StoreMessageInfo(mi) 5360 } 5361 return ms 5362 } 5363 return mi.MessageOf(x) 5364 } 5365 5366 // Deprecated: Use PeerEvent.ProtoReflect.Descriptor instead. 5367 func (*PeerEvent) Descriptor() ([]byte, []int) { 5368 return file_lightning_proto_rawDescGZIP(), []int{49} 5369 } 5370 5371 func (x *PeerEvent) GetPubKey() string { 5372 if x != nil { 5373 return x.PubKey 5374 } 5375 return "" 5376 } 5377 5378 func (x *PeerEvent) GetType() PeerEvent_EventType { 5379 if x != nil { 5380 return x.Type 5381 } 5382 return PeerEvent_PEER_ONLINE 5383 } 5384 5385 type GetInfoRequest struct { 5386 state protoimpl.MessageState 5387 sizeCache protoimpl.SizeCache 5388 unknownFields protoimpl.UnknownFields 5389 } 5390 5391 func (x *GetInfoRequest) Reset() { 5392 *x = GetInfoRequest{} 5393 if protoimpl.UnsafeEnabled { 5394 mi := &file_lightning_proto_msgTypes[50] 5395 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5396 ms.StoreMessageInfo(mi) 5397 } 5398 } 5399 5400 func (x *GetInfoRequest) String() string { 5401 return protoimpl.X.MessageStringOf(x) 5402 } 5403 5404 func (*GetInfoRequest) ProtoMessage() {} 5405 5406 func (x *GetInfoRequest) ProtoReflect() protoreflect.Message { 5407 mi := &file_lightning_proto_msgTypes[50] 5408 if protoimpl.UnsafeEnabled && x != nil { 5409 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5410 if ms.LoadMessageInfo() == nil { 5411 ms.StoreMessageInfo(mi) 5412 } 5413 return ms 5414 } 5415 return mi.MessageOf(x) 5416 } 5417 5418 // Deprecated: Use GetInfoRequest.ProtoReflect.Descriptor instead. 5419 func (*GetInfoRequest) Descriptor() ([]byte, []int) { 5420 return file_lightning_proto_rawDescGZIP(), []int{50} 5421 } 5422 5423 type GetInfoResponse struct { 5424 state protoimpl.MessageState 5425 sizeCache protoimpl.SizeCache 5426 unknownFields protoimpl.UnknownFields 5427 5428 // The version of the LND software that the node is running. 5429 Version string `protobuf:"bytes,14,opt,name=version,proto3" json:"version,omitempty"` 5430 // The SHA1 commit hash that the daemon is compiled with. 5431 CommitHash string `protobuf:"bytes,20,opt,name=commit_hash,json=commitHash,proto3" json:"commit_hash,omitempty"` 5432 // The identity pubkey of the current node. 5433 IdentityPubkey string `protobuf:"bytes,1,opt,name=identity_pubkey,json=identityPubkey,proto3" json:"identity_pubkey,omitempty"` 5434 // If applicable, the alias of the current node, e.g. "bob" 5435 Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"` 5436 // The color of the current node in hex code format 5437 Color string `protobuf:"bytes,17,opt,name=color,proto3" json:"color,omitempty"` 5438 // Number of pending channels 5439 NumPendingChannels uint32 `protobuf:"varint,3,opt,name=num_pending_channels,json=numPendingChannels,proto3" json:"num_pending_channels,omitempty"` 5440 // Number of active channels 5441 NumActiveChannels uint32 `protobuf:"varint,4,opt,name=num_active_channels,json=numActiveChannels,proto3" json:"num_active_channels,omitempty"` 5442 // Number of inactive channels 5443 NumInactiveChannels uint32 `protobuf:"varint,15,opt,name=num_inactive_channels,json=numInactiveChannels,proto3" json:"num_inactive_channels,omitempty"` 5444 // Number of peers 5445 NumPeers uint32 `protobuf:"varint,5,opt,name=num_peers,json=numPeers,proto3" json:"num_peers,omitempty"` 5446 // The node's current view of the height of the best block 5447 BlockHeight uint32 `protobuf:"varint,6,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` 5448 // The node's current view of the hash of the best block 5449 BlockHash string `protobuf:"bytes,8,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` 5450 // Timestamp of the block best known to the wallet 5451 BestHeaderTimestamp int64 `protobuf:"varint,13,opt,name=best_header_timestamp,json=bestHeaderTimestamp,proto3" json:"best_header_timestamp,omitempty"` 5452 // Whether the wallet's view is synced to the main chain 5453 SyncedToChain bool `protobuf:"varint,9,opt,name=synced_to_chain,json=syncedToChain,proto3" json:"synced_to_chain,omitempty"` 5454 // Whether we consider ourselves synced with the public channel graph. 5455 SyncedToGraph bool `protobuf:"varint,18,opt,name=synced_to_graph,json=syncedToGraph,proto3" json:"synced_to_graph,omitempty"` 5456 // Whether the current node is connected to testnet. This field is 5457 // deprecated and the network field should be used instead 5458 // 5459 // Deprecated: Marked as deprecated in lightning.proto. 5460 Testnet bool `protobuf:"varint,10,opt,name=testnet,proto3" json:"testnet,omitempty"` 5461 // A list of active chains the node is connected to 5462 Chains []*Chain `protobuf:"bytes,16,rep,name=chains,proto3" json:"chains,omitempty"` 5463 // The URIs of the current node. 5464 Uris []string `protobuf:"bytes,12,rep,name=uris,proto3" json:"uris,omitempty"` 5465 // Features that our node has advertised in our init message, node 5466 // announcements and invoices. 5467 Features map[uint32]*Feature `protobuf:"bytes,19,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 5468 // Whether all server sub-processes have started and the node is ready to be 5469 // used. 5470 ServerActive bool `protobuf:"varint,901,opt,name=server_active,proto3" json:"server_active,omitempty"` 5471 // Target height of the channel router startup graph pruning process. 5472 RouterPruneTarget uint32 `protobuf:"varint,902,opt,name=router_prune_target,json=routerPruneTarget,proto3" json:"router_prune_target,omitempty"` 5473 // Last checked height of the channel router startup graph pruning process. 5474 RouterPruneHeight uint32 `protobuf:"varint,903,opt,name=router_prune_height,json=routerPruneHeight,proto3" json:"router_prune_height,omitempty"` 5475 } 5476 5477 func (x *GetInfoResponse) Reset() { 5478 *x = GetInfoResponse{} 5479 if protoimpl.UnsafeEnabled { 5480 mi := &file_lightning_proto_msgTypes[51] 5481 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5482 ms.StoreMessageInfo(mi) 5483 } 5484 } 5485 5486 func (x *GetInfoResponse) String() string { 5487 return protoimpl.X.MessageStringOf(x) 5488 } 5489 5490 func (*GetInfoResponse) ProtoMessage() {} 5491 5492 func (x *GetInfoResponse) ProtoReflect() protoreflect.Message { 5493 mi := &file_lightning_proto_msgTypes[51] 5494 if protoimpl.UnsafeEnabled && x != nil { 5495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5496 if ms.LoadMessageInfo() == nil { 5497 ms.StoreMessageInfo(mi) 5498 } 5499 return ms 5500 } 5501 return mi.MessageOf(x) 5502 } 5503 5504 // Deprecated: Use GetInfoResponse.ProtoReflect.Descriptor instead. 5505 func (*GetInfoResponse) Descriptor() ([]byte, []int) { 5506 return file_lightning_proto_rawDescGZIP(), []int{51} 5507 } 5508 5509 func (x *GetInfoResponse) GetVersion() string { 5510 if x != nil { 5511 return x.Version 5512 } 5513 return "" 5514 } 5515 5516 func (x *GetInfoResponse) GetCommitHash() string { 5517 if x != nil { 5518 return x.CommitHash 5519 } 5520 return "" 5521 } 5522 5523 func (x *GetInfoResponse) GetIdentityPubkey() string { 5524 if x != nil { 5525 return x.IdentityPubkey 5526 } 5527 return "" 5528 } 5529 5530 func (x *GetInfoResponse) GetAlias() string { 5531 if x != nil { 5532 return x.Alias 5533 } 5534 return "" 5535 } 5536 5537 func (x *GetInfoResponse) GetColor() string { 5538 if x != nil { 5539 return x.Color 5540 } 5541 return "" 5542 } 5543 5544 func (x *GetInfoResponse) GetNumPendingChannels() uint32 { 5545 if x != nil { 5546 return x.NumPendingChannels 5547 } 5548 return 0 5549 } 5550 5551 func (x *GetInfoResponse) GetNumActiveChannels() uint32 { 5552 if x != nil { 5553 return x.NumActiveChannels 5554 } 5555 return 0 5556 } 5557 5558 func (x *GetInfoResponse) GetNumInactiveChannels() uint32 { 5559 if x != nil { 5560 return x.NumInactiveChannels 5561 } 5562 return 0 5563 } 5564 5565 func (x *GetInfoResponse) GetNumPeers() uint32 { 5566 if x != nil { 5567 return x.NumPeers 5568 } 5569 return 0 5570 } 5571 5572 func (x *GetInfoResponse) GetBlockHeight() uint32 { 5573 if x != nil { 5574 return x.BlockHeight 5575 } 5576 return 0 5577 } 5578 5579 func (x *GetInfoResponse) GetBlockHash() string { 5580 if x != nil { 5581 return x.BlockHash 5582 } 5583 return "" 5584 } 5585 5586 func (x *GetInfoResponse) GetBestHeaderTimestamp() int64 { 5587 if x != nil { 5588 return x.BestHeaderTimestamp 5589 } 5590 return 0 5591 } 5592 5593 func (x *GetInfoResponse) GetSyncedToChain() bool { 5594 if x != nil { 5595 return x.SyncedToChain 5596 } 5597 return false 5598 } 5599 5600 func (x *GetInfoResponse) GetSyncedToGraph() bool { 5601 if x != nil { 5602 return x.SyncedToGraph 5603 } 5604 return false 5605 } 5606 5607 // Deprecated: Marked as deprecated in lightning.proto. 5608 func (x *GetInfoResponse) GetTestnet() bool { 5609 if x != nil { 5610 return x.Testnet 5611 } 5612 return false 5613 } 5614 5615 func (x *GetInfoResponse) GetChains() []*Chain { 5616 if x != nil { 5617 return x.Chains 5618 } 5619 return nil 5620 } 5621 5622 func (x *GetInfoResponse) GetUris() []string { 5623 if x != nil { 5624 return x.Uris 5625 } 5626 return nil 5627 } 5628 5629 func (x *GetInfoResponse) GetFeatures() map[uint32]*Feature { 5630 if x != nil { 5631 return x.Features 5632 } 5633 return nil 5634 } 5635 5636 func (x *GetInfoResponse) GetServerActive() bool { 5637 if x != nil { 5638 return x.ServerActive 5639 } 5640 return false 5641 } 5642 5643 func (x *GetInfoResponse) GetRouterPruneTarget() uint32 { 5644 if x != nil { 5645 return x.RouterPruneTarget 5646 } 5647 return 0 5648 } 5649 5650 func (x *GetInfoResponse) GetRouterPruneHeight() uint32 { 5651 if x != nil { 5652 return x.RouterPruneHeight 5653 } 5654 return 0 5655 } 5656 5657 type GetRecoveryInfoRequest struct { 5658 state protoimpl.MessageState 5659 sizeCache protoimpl.SizeCache 5660 unknownFields protoimpl.UnknownFields 5661 } 5662 5663 func (x *GetRecoveryInfoRequest) Reset() { 5664 *x = GetRecoveryInfoRequest{} 5665 if protoimpl.UnsafeEnabled { 5666 mi := &file_lightning_proto_msgTypes[52] 5667 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5668 ms.StoreMessageInfo(mi) 5669 } 5670 } 5671 5672 func (x *GetRecoveryInfoRequest) String() string { 5673 return protoimpl.X.MessageStringOf(x) 5674 } 5675 5676 func (*GetRecoveryInfoRequest) ProtoMessage() {} 5677 5678 func (x *GetRecoveryInfoRequest) ProtoReflect() protoreflect.Message { 5679 mi := &file_lightning_proto_msgTypes[52] 5680 if protoimpl.UnsafeEnabled && x != nil { 5681 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5682 if ms.LoadMessageInfo() == nil { 5683 ms.StoreMessageInfo(mi) 5684 } 5685 return ms 5686 } 5687 return mi.MessageOf(x) 5688 } 5689 5690 // Deprecated: Use GetRecoveryInfoRequest.ProtoReflect.Descriptor instead. 5691 func (*GetRecoveryInfoRequest) Descriptor() ([]byte, []int) { 5692 return file_lightning_proto_rawDescGZIP(), []int{52} 5693 } 5694 5695 type GetRecoveryInfoResponse struct { 5696 state protoimpl.MessageState 5697 sizeCache protoimpl.SizeCache 5698 unknownFields protoimpl.UnknownFields 5699 5700 // Whether the wallet is in recovery mode 5701 RecoveryMode bool `protobuf:"varint,1,opt,name=recovery_mode,json=recoveryMode,proto3" json:"recovery_mode,omitempty"` 5702 // Whether the wallet recovery progress is finished 5703 RecoveryFinished bool `protobuf:"varint,2,opt,name=recovery_finished,json=recoveryFinished,proto3" json:"recovery_finished,omitempty"` 5704 // The recovery progress, ranging from 0 to 1. 5705 Progress float64 `protobuf:"fixed64,3,opt,name=progress,proto3" json:"progress,omitempty"` 5706 } 5707 5708 func (x *GetRecoveryInfoResponse) Reset() { 5709 *x = GetRecoveryInfoResponse{} 5710 if protoimpl.UnsafeEnabled { 5711 mi := &file_lightning_proto_msgTypes[53] 5712 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5713 ms.StoreMessageInfo(mi) 5714 } 5715 } 5716 5717 func (x *GetRecoveryInfoResponse) String() string { 5718 return protoimpl.X.MessageStringOf(x) 5719 } 5720 5721 func (*GetRecoveryInfoResponse) ProtoMessage() {} 5722 5723 func (x *GetRecoveryInfoResponse) ProtoReflect() protoreflect.Message { 5724 mi := &file_lightning_proto_msgTypes[53] 5725 if protoimpl.UnsafeEnabled && x != nil { 5726 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5727 if ms.LoadMessageInfo() == nil { 5728 ms.StoreMessageInfo(mi) 5729 } 5730 return ms 5731 } 5732 return mi.MessageOf(x) 5733 } 5734 5735 // Deprecated: Use GetRecoveryInfoResponse.ProtoReflect.Descriptor instead. 5736 func (*GetRecoveryInfoResponse) Descriptor() ([]byte, []int) { 5737 return file_lightning_proto_rawDescGZIP(), []int{53} 5738 } 5739 5740 func (x *GetRecoveryInfoResponse) GetRecoveryMode() bool { 5741 if x != nil { 5742 return x.RecoveryMode 5743 } 5744 return false 5745 } 5746 5747 func (x *GetRecoveryInfoResponse) GetRecoveryFinished() bool { 5748 if x != nil { 5749 return x.RecoveryFinished 5750 } 5751 return false 5752 } 5753 5754 func (x *GetRecoveryInfoResponse) GetProgress() float64 { 5755 if x != nil { 5756 return x.Progress 5757 } 5758 return 0 5759 } 5760 5761 type Chain struct { 5762 state protoimpl.MessageState 5763 sizeCache protoimpl.SizeCache 5764 unknownFields protoimpl.UnknownFields 5765 5766 // The blockchain the node is on (eg decred) 5767 Chain string `protobuf:"bytes,1,opt,name=chain,proto3" json:"chain,omitempty"` 5768 // The network the node is on (eg regtest, testnet, mainnet) 5769 Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` 5770 } 5771 5772 func (x *Chain) Reset() { 5773 *x = Chain{} 5774 if protoimpl.UnsafeEnabled { 5775 mi := &file_lightning_proto_msgTypes[54] 5776 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5777 ms.StoreMessageInfo(mi) 5778 } 5779 } 5780 5781 func (x *Chain) String() string { 5782 return protoimpl.X.MessageStringOf(x) 5783 } 5784 5785 func (*Chain) ProtoMessage() {} 5786 5787 func (x *Chain) ProtoReflect() protoreflect.Message { 5788 mi := &file_lightning_proto_msgTypes[54] 5789 if protoimpl.UnsafeEnabled && x != nil { 5790 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5791 if ms.LoadMessageInfo() == nil { 5792 ms.StoreMessageInfo(mi) 5793 } 5794 return ms 5795 } 5796 return mi.MessageOf(x) 5797 } 5798 5799 // Deprecated: Use Chain.ProtoReflect.Descriptor instead. 5800 func (*Chain) Descriptor() ([]byte, []int) { 5801 return file_lightning_proto_rawDescGZIP(), []int{54} 5802 } 5803 5804 func (x *Chain) GetChain() string { 5805 if x != nil { 5806 return x.Chain 5807 } 5808 return "" 5809 } 5810 5811 func (x *Chain) GetNetwork() string { 5812 if x != nil { 5813 return x.Network 5814 } 5815 return "" 5816 } 5817 5818 type ConfirmationUpdate struct { 5819 state protoimpl.MessageState 5820 sizeCache protoimpl.SizeCache 5821 unknownFields protoimpl.UnknownFields 5822 5823 BlockSha []byte `protobuf:"bytes,1,opt,name=block_sha,json=blockSha,proto3" json:"block_sha,omitempty"` 5824 BlockHeight int32 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` 5825 NumConfsLeft uint32 `protobuf:"varint,3,opt,name=num_confs_left,json=numConfsLeft,proto3" json:"num_confs_left,omitempty"` 5826 } 5827 5828 func (x *ConfirmationUpdate) Reset() { 5829 *x = ConfirmationUpdate{} 5830 if protoimpl.UnsafeEnabled { 5831 mi := &file_lightning_proto_msgTypes[55] 5832 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5833 ms.StoreMessageInfo(mi) 5834 } 5835 } 5836 5837 func (x *ConfirmationUpdate) String() string { 5838 return protoimpl.X.MessageStringOf(x) 5839 } 5840 5841 func (*ConfirmationUpdate) ProtoMessage() {} 5842 5843 func (x *ConfirmationUpdate) ProtoReflect() protoreflect.Message { 5844 mi := &file_lightning_proto_msgTypes[55] 5845 if protoimpl.UnsafeEnabled && x != nil { 5846 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5847 if ms.LoadMessageInfo() == nil { 5848 ms.StoreMessageInfo(mi) 5849 } 5850 return ms 5851 } 5852 return mi.MessageOf(x) 5853 } 5854 5855 // Deprecated: Use ConfirmationUpdate.ProtoReflect.Descriptor instead. 5856 func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { 5857 return file_lightning_proto_rawDescGZIP(), []int{55} 5858 } 5859 5860 func (x *ConfirmationUpdate) GetBlockSha() []byte { 5861 if x != nil { 5862 return x.BlockSha 5863 } 5864 return nil 5865 } 5866 5867 func (x *ConfirmationUpdate) GetBlockHeight() int32 { 5868 if x != nil { 5869 return x.BlockHeight 5870 } 5871 return 0 5872 } 5873 5874 func (x *ConfirmationUpdate) GetNumConfsLeft() uint32 { 5875 if x != nil { 5876 return x.NumConfsLeft 5877 } 5878 return 0 5879 } 5880 5881 type ChannelOpenUpdate struct { 5882 state protoimpl.MessageState 5883 sizeCache protoimpl.SizeCache 5884 unknownFields protoimpl.UnknownFields 5885 5886 ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` 5887 } 5888 5889 func (x *ChannelOpenUpdate) Reset() { 5890 *x = ChannelOpenUpdate{} 5891 if protoimpl.UnsafeEnabled { 5892 mi := &file_lightning_proto_msgTypes[56] 5893 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5894 ms.StoreMessageInfo(mi) 5895 } 5896 } 5897 5898 func (x *ChannelOpenUpdate) String() string { 5899 return protoimpl.X.MessageStringOf(x) 5900 } 5901 5902 func (*ChannelOpenUpdate) ProtoMessage() {} 5903 5904 func (x *ChannelOpenUpdate) ProtoReflect() protoreflect.Message { 5905 mi := &file_lightning_proto_msgTypes[56] 5906 if protoimpl.UnsafeEnabled && x != nil { 5907 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5908 if ms.LoadMessageInfo() == nil { 5909 ms.StoreMessageInfo(mi) 5910 } 5911 return ms 5912 } 5913 return mi.MessageOf(x) 5914 } 5915 5916 // Deprecated: Use ChannelOpenUpdate.ProtoReflect.Descriptor instead. 5917 func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { 5918 return file_lightning_proto_rawDescGZIP(), []int{56} 5919 } 5920 5921 func (x *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint { 5922 if x != nil { 5923 return x.ChannelPoint 5924 } 5925 return nil 5926 } 5927 5928 type ChannelCloseUpdate struct { 5929 state protoimpl.MessageState 5930 sizeCache protoimpl.SizeCache 5931 unknownFields protoimpl.UnknownFields 5932 5933 ClosingTxid []byte `protobuf:"bytes,1,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"` 5934 Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` 5935 } 5936 5937 func (x *ChannelCloseUpdate) Reset() { 5938 *x = ChannelCloseUpdate{} 5939 if protoimpl.UnsafeEnabled { 5940 mi := &file_lightning_proto_msgTypes[57] 5941 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5942 ms.StoreMessageInfo(mi) 5943 } 5944 } 5945 5946 func (x *ChannelCloseUpdate) String() string { 5947 return protoimpl.X.MessageStringOf(x) 5948 } 5949 5950 func (*ChannelCloseUpdate) ProtoMessage() {} 5951 5952 func (x *ChannelCloseUpdate) ProtoReflect() protoreflect.Message { 5953 mi := &file_lightning_proto_msgTypes[57] 5954 if protoimpl.UnsafeEnabled && x != nil { 5955 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 5956 if ms.LoadMessageInfo() == nil { 5957 ms.StoreMessageInfo(mi) 5958 } 5959 return ms 5960 } 5961 return mi.MessageOf(x) 5962 } 5963 5964 // Deprecated: Use ChannelCloseUpdate.ProtoReflect.Descriptor instead. 5965 func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { 5966 return file_lightning_proto_rawDescGZIP(), []int{57} 5967 } 5968 5969 func (x *ChannelCloseUpdate) GetClosingTxid() []byte { 5970 if x != nil { 5971 return x.ClosingTxid 5972 } 5973 return nil 5974 } 5975 5976 func (x *ChannelCloseUpdate) GetSuccess() bool { 5977 if x != nil { 5978 return x.Success 5979 } 5980 return false 5981 } 5982 5983 type CloseChannelRequest struct { 5984 state protoimpl.MessageState 5985 sizeCache protoimpl.SizeCache 5986 unknownFields protoimpl.UnknownFields 5987 5988 // The outpoint (txid:index) of the funding transaction. With this value, Bob 5989 // will be able to generate a signature for Alice's version of the commitment 5990 // transaction. 5991 ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` 5992 // If true, then the channel will be closed forcibly. This means the 5993 // current commitment transaction will be signed and broadcast. 5994 Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` 5995 // The target number of blocks that the closure transaction should be 5996 // confirmed by. 5997 TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` 5998 // A manual fee rate set in atom/byte that should be used when crafting the 5999 // closure transaction. 6000 AtomsPerByte int64 `protobuf:"varint,4,opt,name=atoms_per_byte,json=atomsPerByte,proto3" json:"atoms_per_byte,omitempty"` 6001 // An optional address to send funds to in the case of a cooperative close. 6002 // If the channel was opened with an upfront shutdown script and this field 6003 // is set, the request to close will fail because the channel must pay out 6004 // to the upfront shutdown addresss. 6005 DeliveryAddress string `protobuf:"bytes,5,opt,name=delivery_address,json=deliveryAddress,proto3" json:"delivery_address,omitempty"` 6006 } 6007 6008 func (x *CloseChannelRequest) Reset() { 6009 *x = CloseChannelRequest{} 6010 if protoimpl.UnsafeEnabled { 6011 mi := &file_lightning_proto_msgTypes[58] 6012 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6013 ms.StoreMessageInfo(mi) 6014 } 6015 } 6016 6017 func (x *CloseChannelRequest) String() string { 6018 return protoimpl.X.MessageStringOf(x) 6019 } 6020 6021 func (*CloseChannelRequest) ProtoMessage() {} 6022 6023 func (x *CloseChannelRequest) ProtoReflect() protoreflect.Message { 6024 mi := &file_lightning_proto_msgTypes[58] 6025 if protoimpl.UnsafeEnabled && x != nil { 6026 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6027 if ms.LoadMessageInfo() == nil { 6028 ms.StoreMessageInfo(mi) 6029 } 6030 return ms 6031 } 6032 return mi.MessageOf(x) 6033 } 6034 6035 // Deprecated: Use CloseChannelRequest.ProtoReflect.Descriptor instead. 6036 func (*CloseChannelRequest) Descriptor() ([]byte, []int) { 6037 return file_lightning_proto_rawDescGZIP(), []int{58} 6038 } 6039 6040 func (x *CloseChannelRequest) GetChannelPoint() *ChannelPoint { 6041 if x != nil { 6042 return x.ChannelPoint 6043 } 6044 return nil 6045 } 6046 6047 func (x *CloseChannelRequest) GetForce() bool { 6048 if x != nil { 6049 return x.Force 6050 } 6051 return false 6052 } 6053 6054 func (x *CloseChannelRequest) GetTargetConf() int32 { 6055 if x != nil { 6056 return x.TargetConf 6057 } 6058 return 0 6059 } 6060 6061 func (x *CloseChannelRequest) GetAtomsPerByte() int64 { 6062 if x != nil { 6063 return x.AtomsPerByte 6064 } 6065 return 0 6066 } 6067 6068 func (x *CloseChannelRequest) GetDeliveryAddress() string { 6069 if x != nil { 6070 return x.DeliveryAddress 6071 } 6072 return "" 6073 } 6074 6075 type CloseStatusUpdate struct { 6076 state protoimpl.MessageState 6077 sizeCache protoimpl.SizeCache 6078 unknownFields protoimpl.UnknownFields 6079 6080 // Types that are assignable to Update: 6081 // 6082 // *CloseStatusUpdate_ClosePending 6083 // *CloseStatusUpdate_ChanClose 6084 Update isCloseStatusUpdate_Update `protobuf_oneof:"update"` 6085 } 6086 6087 func (x *CloseStatusUpdate) Reset() { 6088 *x = CloseStatusUpdate{} 6089 if protoimpl.UnsafeEnabled { 6090 mi := &file_lightning_proto_msgTypes[59] 6091 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6092 ms.StoreMessageInfo(mi) 6093 } 6094 } 6095 6096 func (x *CloseStatusUpdate) String() string { 6097 return protoimpl.X.MessageStringOf(x) 6098 } 6099 6100 func (*CloseStatusUpdate) ProtoMessage() {} 6101 6102 func (x *CloseStatusUpdate) ProtoReflect() protoreflect.Message { 6103 mi := &file_lightning_proto_msgTypes[59] 6104 if protoimpl.UnsafeEnabled && x != nil { 6105 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6106 if ms.LoadMessageInfo() == nil { 6107 ms.StoreMessageInfo(mi) 6108 } 6109 return ms 6110 } 6111 return mi.MessageOf(x) 6112 } 6113 6114 // Deprecated: Use CloseStatusUpdate.ProtoReflect.Descriptor instead. 6115 func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { 6116 return file_lightning_proto_rawDescGZIP(), []int{59} 6117 } 6118 6119 func (m *CloseStatusUpdate) GetUpdate() isCloseStatusUpdate_Update { 6120 if m != nil { 6121 return m.Update 6122 } 6123 return nil 6124 } 6125 6126 func (x *CloseStatusUpdate) GetClosePending() *PendingUpdate { 6127 if x, ok := x.GetUpdate().(*CloseStatusUpdate_ClosePending); ok { 6128 return x.ClosePending 6129 } 6130 return nil 6131 } 6132 6133 func (x *CloseStatusUpdate) GetChanClose() *ChannelCloseUpdate { 6134 if x, ok := x.GetUpdate().(*CloseStatusUpdate_ChanClose); ok { 6135 return x.ChanClose 6136 } 6137 return nil 6138 } 6139 6140 type isCloseStatusUpdate_Update interface { 6141 isCloseStatusUpdate_Update() 6142 } 6143 6144 type CloseStatusUpdate_ClosePending struct { 6145 ClosePending *PendingUpdate `protobuf:"bytes,1,opt,name=close_pending,json=closePending,proto3,oneof"` 6146 } 6147 6148 type CloseStatusUpdate_ChanClose struct { 6149 ChanClose *ChannelCloseUpdate `protobuf:"bytes,3,opt,name=chan_close,json=chanClose,proto3,oneof"` 6150 } 6151 6152 func (*CloseStatusUpdate_ClosePending) isCloseStatusUpdate_Update() {} 6153 6154 func (*CloseStatusUpdate_ChanClose) isCloseStatusUpdate_Update() {} 6155 6156 type PendingUpdate struct { 6157 state protoimpl.MessageState 6158 sizeCache protoimpl.SizeCache 6159 unknownFields protoimpl.UnknownFields 6160 6161 Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` 6162 OutputIndex uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"` 6163 } 6164 6165 func (x *PendingUpdate) Reset() { 6166 *x = PendingUpdate{} 6167 if protoimpl.UnsafeEnabled { 6168 mi := &file_lightning_proto_msgTypes[60] 6169 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6170 ms.StoreMessageInfo(mi) 6171 } 6172 } 6173 6174 func (x *PendingUpdate) String() string { 6175 return protoimpl.X.MessageStringOf(x) 6176 } 6177 6178 func (*PendingUpdate) ProtoMessage() {} 6179 6180 func (x *PendingUpdate) ProtoReflect() protoreflect.Message { 6181 mi := &file_lightning_proto_msgTypes[60] 6182 if protoimpl.UnsafeEnabled && x != nil { 6183 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6184 if ms.LoadMessageInfo() == nil { 6185 ms.StoreMessageInfo(mi) 6186 } 6187 return ms 6188 } 6189 return mi.MessageOf(x) 6190 } 6191 6192 // Deprecated: Use PendingUpdate.ProtoReflect.Descriptor instead. 6193 func (*PendingUpdate) Descriptor() ([]byte, []int) { 6194 return file_lightning_proto_rawDescGZIP(), []int{60} 6195 } 6196 6197 func (x *PendingUpdate) GetTxid() []byte { 6198 if x != nil { 6199 return x.Txid 6200 } 6201 return nil 6202 } 6203 6204 func (x *PendingUpdate) GetOutputIndex() uint32 { 6205 if x != nil { 6206 return x.OutputIndex 6207 } 6208 return 0 6209 } 6210 6211 type ReadyForPsbtFunding struct { 6212 state protoimpl.MessageState 6213 sizeCache protoimpl.SizeCache 6214 unknownFields protoimpl.UnknownFields 6215 6216 // The P2WSH address of the channel funding multisig address that the below 6217 // specified amount in satoshis needs to be sent to. 6218 FundingAddress string `protobuf:"bytes,1,opt,name=funding_address,json=fundingAddress,proto3" json:"funding_address,omitempty"` 6219 // The exact amount in satoshis that needs to be sent to the above address to 6220 // fund the pending channel. 6221 FundingAmount int64 `protobuf:"varint,2,opt,name=funding_amount,json=fundingAmount,proto3" json:"funding_amount,omitempty"` 6222 // A raw PSBT that contains the pending channel output. If a base PSBT was 6223 // provided in the PsbtShim, this is the base PSBT with one additional output. 6224 // If no base PSBT was specified, this is an otherwise empty PSBT with exactly 6225 // one output. 6226 Psbt []byte `protobuf:"bytes,3,opt,name=psbt,proto3" json:"psbt,omitempty"` 6227 } 6228 6229 func (x *ReadyForPsbtFunding) Reset() { 6230 *x = ReadyForPsbtFunding{} 6231 if protoimpl.UnsafeEnabled { 6232 mi := &file_lightning_proto_msgTypes[61] 6233 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6234 ms.StoreMessageInfo(mi) 6235 } 6236 } 6237 6238 func (x *ReadyForPsbtFunding) String() string { 6239 return protoimpl.X.MessageStringOf(x) 6240 } 6241 6242 func (*ReadyForPsbtFunding) ProtoMessage() {} 6243 6244 func (x *ReadyForPsbtFunding) ProtoReflect() protoreflect.Message { 6245 mi := &file_lightning_proto_msgTypes[61] 6246 if protoimpl.UnsafeEnabled && x != nil { 6247 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6248 if ms.LoadMessageInfo() == nil { 6249 ms.StoreMessageInfo(mi) 6250 } 6251 return ms 6252 } 6253 return mi.MessageOf(x) 6254 } 6255 6256 // Deprecated: Use ReadyForPsbtFunding.ProtoReflect.Descriptor instead. 6257 func (*ReadyForPsbtFunding) Descriptor() ([]byte, []int) { 6258 return file_lightning_proto_rawDescGZIP(), []int{61} 6259 } 6260 6261 func (x *ReadyForPsbtFunding) GetFundingAddress() string { 6262 if x != nil { 6263 return x.FundingAddress 6264 } 6265 return "" 6266 } 6267 6268 func (x *ReadyForPsbtFunding) GetFundingAmount() int64 { 6269 if x != nil { 6270 return x.FundingAmount 6271 } 6272 return 0 6273 } 6274 6275 func (x *ReadyForPsbtFunding) GetPsbt() []byte { 6276 if x != nil { 6277 return x.Psbt 6278 } 6279 return nil 6280 } 6281 6282 type BatchOpenChannelRequest struct { 6283 state protoimpl.MessageState 6284 sizeCache protoimpl.SizeCache 6285 unknownFields protoimpl.UnknownFields 6286 6287 // The list of channels to open. 6288 Channels []*BatchOpenChannel `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` 6289 // The target number of blocks that the funding transaction should be 6290 // confirmed by. 6291 TargetConf int32 `protobuf:"varint,2,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` 6292 // A manual fee rate set in atoms/Byte that should be used when crafting the 6293 // funding transaction. 6294 AtomsPerByte int64 `protobuf:"varint,3,opt,name=atoms_per_byte,json=atomsPerByte,proto3" json:"atoms_per_byte,omitempty"` 6295 // The minimum number of confirmations each one of your outputs used for 6296 // the funding transaction must satisfy. 6297 MinConfs int32 `protobuf:"varint,4,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` 6298 // Whether unconfirmed outputs should be used as inputs for the funding 6299 // transaction. 6300 SpendUnconfirmed bool `protobuf:"varint,5,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"` 6301 // An optional label for the batch transaction, limited to 500 characters. 6302 Label string `protobuf:"bytes,6,opt,name=label,proto3" json:"label,omitempty"` 6303 } 6304 6305 func (x *BatchOpenChannelRequest) Reset() { 6306 *x = BatchOpenChannelRequest{} 6307 if protoimpl.UnsafeEnabled { 6308 mi := &file_lightning_proto_msgTypes[62] 6309 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6310 ms.StoreMessageInfo(mi) 6311 } 6312 } 6313 6314 func (x *BatchOpenChannelRequest) String() string { 6315 return protoimpl.X.MessageStringOf(x) 6316 } 6317 6318 func (*BatchOpenChannelRequest) ProtoMessage() {} 6319 6320 func (x *BatchOpenChannelRequest) ProtoReflect() protoreflect.Message { 6321 mi := &file_lightning_proto_msgTypes[62] 6322 if protoimpl.UnsafeEnabled && x != nil { 6323 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6324 if ms.LoadMessageInfo() == nil { 6325 ms.StoreMessageInfo(mi) 6326 } 6327 return ms 6328 } 6329 return mi.MessageOf(x) 6330 } 6331 6332 // Deprecated: Use BatchOpenChannelRequest.ProtoReflect.Descriptor instead. 6333 func (*BatchOpenChannelRequest) Descriptor() ([]byte, []int) { 6334 return file_lightning_proto_rawDescGZIP(), []int{62} 6335 } 6336 6337 func (x *BatchOpenChannelRequest) GetChannels() []*BatchOpenChannel { 6338 if x != nil { 6339 return x.Channels 6340 } 6341 return nil 6342 } 6343 6344 func (x *BatchOpenChannelRequest) GetTargetConf() int32 { 6345 if x != nil { 6346 return x.TargetConf 6347 } 6348 return 0 6349 } 6350 6351 func (x *BatchOpenChannelRequest) GetAtomsPerByte() int64 { 6352 if x != nil { 6353 return x.AtomsPerByte 6354 } 6355 return 0 6356 } 6357 6358 func (x *BatchOpenChannelRequest) GetMinConfs() int32 { 6359 if x != nil { 6360 return x.MinConfs 6361 } 6362 return 0 6363 } 6364 6365 func (x *BatchOpenChannelRequest) GetSpendUnconfirmed() bool { 6366 if x != nil { 6367 return x.SpendUnconfirmed 6368 } 6369 return false 6370 } 6371 6372 func (x *BatchOpenChannelRequest) GetLabel() string { 6373 if x != nil { 6374 return x.Label 6375 } 6376 return "" 6377 } 6378 6379 type BatchOpenChannel struct { 6380 state protoimpl.MessageState 6381 sizeCache protoimpl.SizeCache 6382 unknownFields protoimpl.UnknownFields 6383 6384 // The pubkey of the node to open a channel with. When using REST, this 6385 // field must be encoded as base64. 6386 NodePubkey []byte `protobuf:"bytes,1,opt,name=node_pubkey,json=nodePubkey,proto3" json:"node_pubkey,omitempty"` 6387 // The number of satoshis the wallet should commit to the channel. 6388 LocalFundingAmount int64 `protobuf:"varint,2,opt,name=local_funding_amount,json=localFundingAmount,proto3" json:"local_funding_amount,omitempty"` 6389 // The number of atoms to push to the remote side as part of the initial 6390 // commitment state. 6391 PushAtoms int64 `protobuf:"varint,3,opt,name=push_atoms,json=pushAtoms,proto3" json:"push_atoms,omitempty"` 6392 // Whether this channel should be private, not announced to the greater 6393 // network. 6394 Private bool `protobuf:"varint,4,opt,name=private,proto3" json:"private,omitempty"` 6395 // The minimum value in milliatoms we will require for incoming HTLCs on 6396 // the channel. 6397 MinHtlcMAtoms int64 `protobuf:"varint,5,opt,name=min_htlc_m_atoms,json=minHtlcMAtoms,proto3" json:"min_htlc_m_atoms,omitempty"` 6398 // The delay we require on the remote's commitment transaction. If this is 6399 // not set, it will be scaled automatically with the channel size. 6400 RemoteCsvDelay uint32 `protobuf:"varint,6,opt,name=remote_csv_delay,json=remoteCsvDelay,proto3" json:"remote_csv_delay,omitempty"` 6401 // Close address is an optional address which specifies the address to which 6402 // funds should be paid out to upon cooperative close. This field may only be 6403 // set if the peer supports the option upfront feature bit (call listpeers 6404 // to check). The remote peer will only accept cooperative closes to this 6405 // address if it is set. 6406 // 6407 // Note: If this value is set on channel creation, you will *not* be able to 6408 // cooperatively close out to a different address. 6409 CloseAddress string `protobuf:"bytes,7,opt,name=close_address,json=closeAddress,proto3" json:"close_address,omitempty"` 6410 // An optional, unique identifier of 32 random bytes that will be used as the 6411 // pending channel ID to identify the channel while it is in the pre-pending 6412 // state. 6413 PendingChanId []byte `protobuf:"bytes,8,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` 6414 // The explicit commitment type to use. Note this field will only be used if 6415 // the remote peer supports explicit channel negotiation. 6416 CommitmentType CommitmentType `protobuf:"varint,9,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"` 6417 } 6418 6419 func (x *BatchOpenChannel) Reset() { 6420 *x = BatchOpenChannel{} 6421 if protoimpl.UnsafeEnabled { 6422 mi := &file_lightning_proto_msgTypes[63] 6423 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6424 ms.StoreMessageInfo(mi) 6425 } 6426 } 6427 6428 func (x *BatchOpenChannel) String() string { 6429 return protoimpl.X.MessageStringOf(x) 6430 } 6431 6432 func (*BatchOpenChannel) ProtoMessage() {} 6433 6434 func (x *BatchOpenChannel) ProtoReflect() protoreflect.Message { 6435 mi := &file_lightning_proto_msgTypes[63] 6436 if protoimpl.UnsafeEnabled && x != nil { 6437 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6438 if ms.LoadMessageInfo() == nil { 6439 ms.StoreMessageInfo(mi) 6440 } 6441 return ms 6442 } 6443 return mi.MessageOf(x) 6444 } 6445 6446 // Deprecated: Use BatchOpenChannel.ProtoReflect.Descriptor instead. 6447 func (*BatchOpenChannel) Descriptor() ([]byte, []int) { 6448 return file_lightning_proto_rawDescGZIP(), []int{63} 6449 } 6450 6451 func (x *BatchOpenChannel) GetNodePubkey() []byte { 6452 if x != nil { 6453 return x.NodePubkey 6454 } 6455 return nil 6456 } 6457 6458 func (x *BatchOpenChannel) GetLocalFundingAmount() int64 { 6459 if x != nil { 6460 return x.LocalFundingAmount 6461 } 6462 return 0 6463 } 6464 6465 func (x *BatchOpenChannel) GetPushAtoms() int64 { 6466 if x != nil { 6467 return x.PushAtoms 6468 } 6469 return 0 6470 } 6471 6472 func (x *BatchOpenChannel) GetPrivate() bool { 6473 if x != nil { 6474 return x.Private 6475 } 6476 return false 6477 } 6478 6479 func (x *BatchOpenChannel) GetMinHtlcMAtoms() int64 { 6480 if x != nil { 6481 return x.MinHtlcMAtoms 6482 } 6483 return 0 6484 } 6485 6486 func (x *BatchOpenChannel) GetRemoteCsvDelay() uint32 { 6487 if x != nil { 6488 return x.RemoteCsvDelay 6489 } 6490 return 0 6491 } 6492 6493 func (x *BatchOpenChannel) GetCloseAddress() string { 6494 if x != nil { 6495 return x.CloseAddress 6496 } 6497 return "" 6498 } 6499 6500 func (x *BatchOpenChannel) GetPendingChanId() []byte { 6501 if x != nil { 6502 return x.PendingChanId 6503 } 6504 return nil 6505 } 6506 6507 func (x *BatchOpenChannel) GetCommitmentType() CommitmentType { 6508 if x != nil { 6509 return x.CommitmentType 6510 } 6511 return CommitmentType_UNKNOWN_COMMITMENT_TYPE 6512 } 6513 6514 type BatchOpenChannelResponse struct { 6515 state protoimpl.MessageState 6516 sizeCache protoimpl.SizeCache 6517 unknownFields protoimpl.UnknownFields 6518 6519 PendingChannels []*PendingUpdate `protobuf:"bytes,1,rep,name=pending_channels,json=pendingChannels,proto3" json:"pending_channels,omitempty"` 6520 } 6521 6522 func (x *BatchOpenChannelResponse) Reset() { 6523 *x = BatchOpenChannelResponse{} 6524 if protoimpl.UnsafeEnabled { 6525 mi := &file_lightning_proto_msgTypes[64] 6526 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6527 ms.StoreMessageInfo(mi) 6528 } 6529 } 6530 6531 func (x *BatchOpenChannelResponse) String() string { 6532 return protoimpl.X.MessageStringOf(x) 6533 } 6534 6535 func (*BatchOpenChannelResponse) ProtoMessage() {} 6536 6537 func (x *BatchOpenChannelResponse) ProtoReflect() protoreflect.Message { 6538 mi := &file_lightning_proto_msgTypes[64] 6539 if protoimpl.UnsafeEnabled && x != nil { 6540 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6541 if ms.LoadMessageInfo() == nil { 6542 ms.StoreMessageInfo(mi) 6543 } 6544 return ms 6545 } 6546 return mi.MessageOf(x) 6547 } 6548 6549 // Deprecated: Use BatchOpenChannelResponse.ProtoReflect.Descriptor instead. 6550 func (*BatchOpenChannelResponse) Descriptor() ([]byte, []int) { 6551 return file_lightning_proto_rawDescGZIP(), []int{64} 6552 } 6553 6554 func (x *BatchOpenChannelResponse) GetPendingChannels() []*PendingUpdate { 6555 if x != nil { 6556 return x.PendingChannels 6557 } 6558 return nil 6559 } 6560 6561 type OpenChannelRequest struct { 6562 state protoimpl.MessageState 6563 sizeCache protoimpl.SizeCache 6564 unknownFields protoimpl.UnknownFields 6565 6566 // The pubkey of the node to open a channel with. When using REST, this field 6567 // must be encoded as base64. 6568 NodePubkey []byte `protobuf:"bytes,2,opt,name=node_pubkey,json=nodePubkey,proto3" json:"node_pubkey,omitempty"` 6569 // The hex encoded pubkey of the node to open a channel with. Deprecated now 6570 // that the REST gateway supports base64 encoding of bytes fields. 6571 // 6572 // Deprecated: Marked as deprecated in lightning.proto. 6573 NodePubkeyString string `protobuf:"bytes,3,opt,name=node_pubkey_string,json=nodePubkeyString,proto3" json:"node_pubkey_string,omitempty"` 6574 // The number of atoms the wallet should commit to the channel 6575 LocalFundingAmount int64 `protobuf:"varint,4,opt,name=local_funding_amount,json=localFundingAmount,proto3" json:"local_funding_amount,omitempty"` 6576 // The number of atoms to push to the remote side as part of the initial 6577 // commitment state 6578 PushAtoms int64 `protobuf:"varint,5,opt,name=push_atoms,json=pushAtoms,proto3" json:"push_atoms,omitempty"` 6579 // The target number of blocks that the funding transaction should be 6580 // confirmed by. 6581 TargetConf int32 `protobuf:"varint,6,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` 6582 // A manual fee rate set in atom/byte that should be used when crafting the 6583 // funding transaction. 6584 AtomsPerByte int64 `protobuf:"varint,7,opt,name=atoms_per_byte,json=atomsPerByte,proto3" json:"atoms_per_byte,omitempty"` 6585 // Whether this channel should be private, not announced to the greater 6586 // network. 6587 Private bool `protobuf:"varint,8,opt,name=private,proto3" json:"private,omitempty"` 6588 // The minimum value in MilliAtom we will require for incoming HTLCs on the 6589 // channel. 6590 MinHtlcMAtoms int64 `protobuf:"varint,9,opt,name=min_htlc_m_atoms,json=minHtlcMAtoms,proto3" json:"min_htlc_m_atoms,omitempty"` 6591 // The delay we require on the remote's commitment transaction. If this is 6592 // not set, it will be scaled automatically with the channel size. 6593 RemoteCsvDelay uint32 `protobuf:"varint,10,opt,name=remote_csv_delay,json=remoteCsvDelay,proto3" json:"remote_csv_delay,omitempty"` 6594 // The minimum number of confirmations each one of your outputs used for 6595 // the funding transaction must satisfy. 6596 MinConfs int32 `protobuf:"varint,11,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` 6597 // Whether unconfirmed outputs should be used as inputs for the funding 6598 // transaction. 6599 SpendUnconfirmed bool `protobuf:"varint,12,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"` 6600 // Close address is an optional address which specifies the address to which 6601 // funds should be paid out to upon cooperative close. This field may only be 6602 // set if the peer supports the option upfront feature bit (call listpeers 6603 // to check). The remote peer will only accept cooperative closes to this 6604 // address if it is set. 6605 // 6606 // Note: If this value is set on channel creation, you will *not* be able to 6607 // cooperatively close out to a different address. 6608 CloseAddress string `protobuf:"bytes,13,opt,name=close_address,json=closeAddress,proto3" json:"close_address,omitempty"` 6609 // Funding shims are an optional argument that allow the caller to intercept 6610 // certain funding functionality. For example, a shim can be provided to use a 6611 // particular key for the commitment key (ideally cold) rather than use one 6612 // that is generated by the wallet as normal, or signal that signing will be 6613 // carried out in an interactive manner (PSBT based). 6614 FundingShim *FundingShim `protobuf:"bytes,14,opt,name=funding_shim,json=fundingShim,proto3" json:"funding_shim,omitempty"` 6615 // The maximum amount of coins in milliatoms that can be pending within 6616 // the channel. It only applies to the remote party. 6617 RemoteMaxValueInFlightMAtoms uint64 `protobuf:"varint,15,opt,name=remote_max_value_in_flight_m_atoms,json=remoteMaxValueInFlightMAtoms,proto3" json:"remote_max_value_in_flight_m_atoms,omitempty"` 6618 // The maximum number of concurrent HTLCs we will allow the remote party to add 6619 // to the commitment transaction. 6620 RemoteMaxHtlcs uint32 `protobuf:"varint,16,opt,name=remote_max_htlcs,json=remoteMaxHtlcs,proto3" json:"remote_max_htlcs,omitempty"` 6621 // Max local csv is the maximum csv delay we will allow for our own commitment 6622 // transaction. 6623 MaxLocalCsv uint32 `protobuf:"varint,17,opt,name=max_local_csv,json=maxLocalCsv,proto3" json:"max_local_csv,omitempty"` 6624 // The explicit commitment type to use. Note this field will only be used if 6625 // the remote peer supports explicit channel negotiation. 6626 CommitmentType CommitmentType `protobuf:"varint,18,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"` 6627 } 6628 6629 func (x *OpenChannelRequest) Reset() { 6630 *x = OpenChannelRequest{} 6631 if protoimpl.UnsafeEnabled { 6632 mi := &file_lightning_proto_msgTypes[65] 6633 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6634 ms.StoreMessageInfo(mi) 6635 } 6636 } 6637 6638 func (x *OpenChannelRequest) String() string { 6639 return protoimpl.X.MessageStringOf(x) 6640 } 6641 6642 func (*OpenChannelRequest) ProtoMessage() {} 6643 6644 func (x *OpenChannelRequest) ProtoReflect() protoreflect.Message { 6645 mi := &file_lightning_proto_msgTypes[65] 6646 if protoimpl.UnsafeEnabled && x != nil { 6647 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6648 if ms.LoadMessageInfo() == nil { 6649 ms.StoreMessageInfo(mi) 6650 } 6651 return ms 6652 } 6653 return mi.MessageOf(x) 6654 } 6655 6656 // Deprecated: Use OpenChannelRequest.ProtoReflect.Descriptor instead. 6657 func (*OpenChannelRequest) Descriptor() ([]byte, []int) { 6658 return file_lightning_proto_rawDescGZIP(), []int{65} 6659 } 6660 6661 func (x *OpenChannelRequest) GetNodePubkey() []byte { 6662 if x != nil { 6663 return x.NodePubkey 6664 } 6665 return nil 6666 } 6667 6668 // Deprecated: Marked as deprecated in lightning.proto. 6669 func (x *OpenChannelRequest) GetNodePubkeyString() string { 6670 if x != nil { 6671 return x.NodePubkeyString 6672 } 6673 return "" 6674 } 6675 6676 func (x *OpenChannelRequest) GetLocalFundingAmount() int64 { 6677 if x != nil { 6678 return x.LocalFundingAmount 6679 } 6680 return 0 6681 } 6682 6683 func (x *OpenChannelRequest) GetPushAtoms() int64 { 6684 if x != nil { 6685 return x.PushAtoms 6686 } 6687 return 0 6688 } 6689 6690 func (x *OpenChannelRequest) GetTargetConf() int32 { 6691 if x != nil { 6692 return x.TargetConf 6693 } 6694 return 0 6695 } 6696 6697 func (x *OpenChannelRequest) GetAtomsPerByte() int64 { 6698 if x != nil { 6699 return x.AtomsPerByte 6700 } 6701 return 0 6702 } 6703 6704 func (x *OpenChannelRequest) GetPrivate() bool { 6705 if x != nil { 6706 return x.Private 6707 } 6708 return false 6709 } 6710 6711 func (x *OpenChannelRequest) GetMinHtlcMAtoms() int64 { 6712 if x != nil { 6713 return x.MinHtlcMAtoms 6714 } 6715 return 0 6716 } 6717 6718 func (x *OpenChannelRequest) GetRemoteCsvDelay() uint32 { 6719 if x != nil { 6720 return x.RemoteCsvDelay 6721 } 6722 return 0 6723 } 6724 6725 func (x *OpenChannelRequest) GetMinConfs() int32 { 6726 if x != nil { 6727 return x.MinConfs 6728 } 6729 return 0 6730 } 6731 6732 func (x *OpenChannelRequest) GetSpendUnconfirmed() bool { 6733 if x != nil { 6734 return x.SpendUnconfirmed 6735 } 6736 return false 6737 } 6738 6739 func (x *OpenChannelRequest) GetCloseAddress() string { 6740 if x != nil { 6741 return x.CloseAddress 6742 } 6743 return "" 6744 } 6745 6746 func (x *OpenChannelRequest) GetFundingShim() *FundingShim { 6747 if x != nil { 6748 return x.FundingShim 6749 } 6750 return nil 6751 } 6752 6753 func (x *OpenChannelRequest) GetRemoteMaxValueInFlightMAtoms() uint64 { 6754 if x != nil { 6755 return x.RemoteMaxValueInFlightMAtoms 6756 } 6757 return 0 6758 } 6759 6760 func (x *OpenChannelRequest) GetRemoteMaxHtlcs() uint32 { 6761 if x != nil { 6762 return x.RemoteMaxHtlcs 6763 } 6764 return 0 6765 } 6766 6767 func (x *OpenChannelRequest) GetMaxLocalCsv() uint32 { 6768 if x != nil { 6769 return x.MaxLocalCsv 6770 } 6771 return 0 6772 } 6773 6774 func (x *OpenChannelRequest) GetCommitmentType() CommitmentType { 6775 if x != nil { 6776 return x.CommitmentType 6777 } 6778 return CommitmentType_UNKNOWN_COMMITMENT_TYPE 6779 } 6780 6781 type OpenStatusUpdate struct { 6782 state protoimpl.MessageState 6783 sizeCache protoimpl.SizeCache 6784 unknownFields protoimpl.UnknownFields 6785 6786 // Types that are assignable to Update: 6787 // 6788 // *OpenStatusUpdate_ChanPending 6789 // *OpenStatusUpdate_ChanOpen 6790 // *OpenStatusUpdate_PsbtFund 6791 Update isOpenStatusUpdate_Update `protobuf_oneof:"update"` 6792 // The pending channel ID of the created channel. This value may be used to 6793 // further the funding flow manually via the FundingStateStep method. 6794 PendingChanId []byte `protobuf:"bytes,4,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` 6795 } 6796 6797 func (x *OpenStatusUpdate) Reset() { 6798 *x = OpenStatusUpdate{} 6799 if protoimpl.UnsafeEnabled { 6800 mi := &file_lightning_proto_msgTypes[66] 6801 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6802 ms.StoreMessageInfo(mi) 6803 } 6804 } 6805 6806 func (x *OpenStatusUpdate) String() string { 6807 return protoimpl.X.MessageStringOf(x) 6808 } 6809 6810 func (*OpenStatusUpdate) ProtoMessage() {} 6811 6812 func (x *OpenStatusUpdate) ProtoReflect() protoreflect.Message { 6813 mi := &file_lightning_proto_msgTypes[66] 6814 if protoimpl.UnsafeEnabled && x != nil { 6815 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6816 if ms.LoadMessageInfo() == nil { 6817 ms.StoreMessageInfo(mi) 6818 } 6819 return ms 6820 } 6821 return mi.MessageOf(x) 6822 } 6823 6824 // Deprecated: Use OpenStatusUpdate.ProtoReflect.Descriptor instead. 6825 func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { 6826 return file_lightning_proto_rawDescGZIP(), []int{66} 6827 } 6828 6829 func (m *OpenStatusUpdate) GetUpdate() isOpenStatusUpdate_Update { 6830 if m != nil { 6831 return m.Update 6832 } 6833 return nil 6834 } 6835 6836 func (x *OpenStatusUpdate) GetChanPending() *PendingUpdate { 6837 if x, ok := x.GetUpdate().(*OpenStatusUpdate_ChanPending); ok { 6838 return x.ChanPending 6839 } 6840 return nil 6841 } 6842 6843 func (x *OpenStatusUpdate) GetChanOpen() *ChannelOpenUpdate { 6844 if x, ok := x.GetUpdate().(*OpenStatusUpdate_ChanOpen); ok { 6845 return x.ChanOpen 6846 } 6847 return nil 6848 } 6849 6850 func (x *OpenStatusUpdate) GetPsbtFund() *ReadyForPsbtFunding { 6851 if x, ok := x.GetUpdate().(*OpenStatusUpdate_PsbtFund); ok { 6852 return x.PsbtFund 6853 } 6854 return nil 6855 } 6856 6857 func (x *OpenStatusUpdate) GetPendingChanId() []byte { 6858 if x != nil { 6859 return x.PendingChanId 6860 } 6861 return nil 6862 } 6863 6864 type isOpenStatusUpdate_Update interface { 6865 isOpenStatusUpdate_Update() 6866 } 6867 6868 type OpenStatusUpdate_ChanPending struct { 6869 // Signals that the channel is now fully negotiated and the funding 6870 // transaction published. 6871 ChanPending *PendingUpdate `protobuf:"bytes,1,opt,name=chan_pending,json=chanPending,proto3,oneof"` 6872 } 6873 6874 type OpenStatusUpdate_ChanOpen struct { 6875 // Signals that the channel's funding transaction has now reached the 6876 // required number of confirmations on chain and can be used. 6877 ChanOpen *ChannelOpenUpdate `protobuf:"bytes,3,opt,name=chan_open,json=chanOpen,proto3,oneof"` 6878 } 6879 6880 type OpenStatusUpdate_PsbtFund struct { 6881 // Signals that the funding process has been suspended and the construction 6882 // of a PSBT that funds the channel PK script is now required. 6883 PsbtFund *ReadyForPsbtFunding `protobuf:"bytes,5,opt,name=psbt_fund,json=psbtFund,proto3,oneof"` 6884 } 6885 6886 func (*OpenStatusUpdate_ChanPending) isOpenStatusUpdate_Update() {} 6887 6888 func (*OpenStatusUpdate_ChanOpen) isOpenStatusUpdate_Update() {} 6889 6890 func (*OpenStatusUpdate_PsbtFund) isOpenStatusUpdate_Update() {} 6891 6892 type KeyLocator struct { 6893 state protoimpl.MessageState 6894 sizeCache protoimpl.SizeCache 6895 unknownFields protoimpl.UnknownFields 6896 6897 // The family of key being identified. 6898 KeyFamily int32 `protobuf:"varint,1,opt,name=key_family,json=keyFamily,proto3" json:"key_family,omitempty"` 6899 // The precise index of the key being identified. 6900 KeyIndex int32 `protobuf:"varint,2,opt,name=key_index,json=keyIndex,proto3" json:"key_index,omitempty"` 6901 } 6902 6903 func (x *KeyLocator) Reset() { 6904 *x = KeyLocator{} 6905 if protoimpl.UnsafeEnabled { 6906 mi := &file_lightning_proto_msgTypes[67] 6907 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6908 ms.StoreMessageInfo(mi) 6909 } 6910 } 6911 6912 func (x *KeyLocator) String() string { 6913 return protoimpl.X.MessageStringOf(x) 6914 } 6915 6916 func (*KeyLocator) ProtoMessage() {} 6917 6918 func (x *KeyLocator) ProtoReflect() protoreflect.Message { 6919 mi := &file_lightning_proto_msgTypes[67] 6920 if protoimpl.UnsafeEnabled && x != nil { 6921 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6922 if ms.LoadMessageInfo() == nil { 6923 ms.StoreMessageInfo(mi) 6924 } 6925 return ms 6926 } 6927 return mi.MessageOf(x) 6928 } 6929 6930 // Deprecated: Use KeyLocator.ProtoReflect.Descriptor instead. 6931 func (*KeyLocator) Descriptor() ([]byte, []int) { 6932 return file_lightning_proto_rawDescGZIP(), []int{67} 6933 } 6934 6935 func (x *KeyLocator) GetKeyFamily() int32 { 6936 if x != nil { 6937 return x.KeyFamily 6938 } 6939 return 0 6940 } 6941 6942 func (x *KeyLocator) GetKeyIndex() int32 { 6943 if x != nil { 6944 return x.KeyIndex 6945 } 6946 return 0 6947 } 6948 6949 type KeyDescriptor struct { 6950 state protoimpl.MessageState 6951 sizeCache protoimpl.SizeCache 6952 unknownFields protoimpl.UnknownFields 6953 6954 // The raw bytes of the key being identified. 6955 RawKeyBytes []byte `protobuf:"bytes,1,opt,name=raw_key_bytes,json=rawKeyBytes,proto3" json:"raw_key_bytes,omitempty"` 6956 // The key locator that identifies which key to use for signing. 6957 KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"` 6958 } 6959 6960 func (x *KeyDescriptor) Reset() { 6961 *x = KeyDescriptor{} 6962 if protoimpl.UnsafeEnabled { 6963 mi := &file_lightning_proto_msgTypes[68] 6964 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6965 ms.StoreMessageInfo(mi) 6966 } 6967 } 6968 6969 func (x *KeyDescriptor) String() string { 6970 return protoimpl.X.MessageStringOf(x) 6971 } 6972 6973 func (*KeyDescriptor) ProtoMessage() {} 6974 6975 func (x *KeyDescriptor) ProtoReflect() protoreflect.Message { 6976 mi := &file_lightning_proto_msgTypes[68] 6977 if protoimpl.UnsafeEnabled && x != nil { 6978 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 6979 if ms.LoadMessageInfo() == nil { 6980 ms.StoreMessageInfo(mi) 6981 } 6982 return ms 6983 } 6984 return mi.MessageOf(x) 6985 } 6986 6987 // Deprecated: Use KeyDescriptor.ProtoReflect.Descriptor instead. 6988 func (*KeyDescriptor) Descriptor() ([]byte, []int) { 6989 return file_lightning_proto_rawDescGZIP(), []int{68} 6990 } 6991 6992 func (x *KeyDescriptor) GetRawKeyBytes() []byte { 6993 if x != nil { 6994 return x.RawKeyBytes 6995 } 6996 return nil 6997 } 6998 6999 func (x *KeyDescriptor) GetKeyLoc() *KeyLocator { 7000 if x != nil { 7001 return x.KeyLoc 7002 } 7003 return nil 7004 } 7005 7006 type ChanPointShim struct { 7007 state protoimpl.MessageState 7008 sizeCache protoimpl.SizeCache 7009 unknownFields protoimpl.UnknownFields 7010 7011 // The size of the pre-crafted output to be used as the channel point for this 7012 // channel funding. 7013 Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` 7014 // The target channel point to refrence in created commitment transactions. 7015 ChanPoint *ChannelPoint `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` 7016 // Our local key to use when creating the multi-sig output. 7017 LocalKey *KeyDescriptor `protobuf:"bytes,3,opt,name=local_key,json=localKey,proto3" json:"local_key,omitempty"` 7018 // The key of the remote party to use when creating the multi-sig output. 7019 RemoteKey []byte `protobuf:"bytes,4,opt,name=remote_key,json=remoteKey,proto3" json:"remote_key,omitempty"` 7020 // If non-zero, then this will be used as the pending channel ID on the wire 7021 // protocol to initate the funding request. This is an optional field, and 7022 // should only be set if the responder is already expecting a specific pending 7023 // channel ID. 7024 PendingChanId []byte `protobuf:"bytes,5,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` 7025 // This uint32 indicates if this channel is to be considered 'frozen'. A frozen 7026 // channel does not allow a cooperative channel close by the initiator. The 7027 // thaw_height is the height that this restriction stops applying to the 7028 // channel. The height can be interpreted in two ways: as a relative height if 7029 // the value is less than 500,000, or as an absolute height otherwise. 7030 ThawHeight uint32 `protobuf:"varint,6,opt,name=thaw_height,json=thawHeight,proto3" json:"thaw_height,omitempty"` 7031 } 7032 7033 func (x *ChanPointShim) Reset() { 7034 *x = ChanPointShim{} 7035 if protoimpl.UnsafeEnabled { 7036 mi := &file_lightning_proto_msgTypes[69] 7037 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7038 ms.StoreMessageInfo(mi) 7039 } 7040 } 7041 7042 func (x *ChanPointShim) String() string { 7043 return protoimpl.X.MessageStringOf(x) 7044 } 7045 7046 func (*ChanPointShim) ProtoMessage() {} 7047 7048 func (x *ChanPointShim) ProtoReflect() protoreflect.Message { 7049 mi := &file_lightning_proto_msgTypes[69] 7050 if protoimpl.UnsafeEnabled && x != nil { 7051 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7052 if ms.LoadMessageInfo() == nil { 7053 ms.StoreMessageInfo(mi) 7054 } 7055 return ms 7056 } 7057 return mi.MessageOf(x) 7058 } 7059 7060 // Deprecated: Use ChanPointShim.ProtoReflect.Descriptor instead. 7061 func (*ChanPointShim) Descriptor() ([]byte, []int) { 7062 return file_lightning_proto_rawDescGZIP(), []int{69} 7063 } 7064 7065 func (x *ChanPointShim) GetAmt() int64 { 7066 if x != nil { 7067 return x.Amt 7068 } 7069 return 0 7070 } 7071 7072 func (x *ChanPointShim) GetChanPoint() *ChannelPoint { 7073 if x != nil { 7074 return x.ChanPoint 7075 } 7076 return nil 7077 } 7078 7079 func (x *ChanPointShim) GetLocalKey() *KeyDescriptor { 7080 if x != nil { 7081 return x.LocalKey 7082 } 7083 return nil 7084 } 7085 7086 func (x *ChanPointShim) GetRemoteKey() []byte { 7087 if x != nil { 7088 return x.RemoteKey 7089 } 7090 return nil 7091 } 7092 7093 func (x *ChanPointShim) GetPendingChanId() []byte { 7094 if x != nil { 7095 return x.PendingChanId 7096 } 7097 return nil 7098 } 7099 7100 func (x *ChanPointShim) GetThawHeight() uint32 { 7101 if x != nil { 7102 return x.ThawHeight 7103 } 7104 return 0 7105 } 7106 7107 type PsbtShim struct { 7108 state protoimpl.MessageState 7109 sizeCache protoimpl.SizeCache 7110 unknownFields protoimpl.UnknownFields 7111 7112 // A unique identifier of 32 random bytes that will be used as the pending 7113 // channel ID to identify the PSBT state machine when interacting with it and 7114 // on the wire protocol to initiate the funding request. 7115 PendingChanId []byte `protobuf:"bytes,1,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` 7116 // An optional base PSBT the new channel output will be added to. If this is 7117 // non-empty, it must be a binary serialized PSBT. 7118 BasePsbt []byte `protobuf:"bytes,2,opt,name=base_psbt,json=basePsbt,proto3" json:"base_psbt,omitempty"` 7119 // If a channel should be part of a batch (multiple channel openings in one 7120 // transaction), it can be dangerous if the whole batch transaction is 7121 // published too early before all channel opening negotiations are completed. 7122 // This flag prevents this particular channel from broadcasting the transaction 7123 // after the negotiation with the remote peer. In a batch of channel openings 7124 // this flag should be set to true for every channel but the very last. 7125 NoPublish bool `protobuf:"varint,3,opt,name=no_publish,json=noPublish,proto3" json:"no_publish,omitempty"` 7126 } 7127 7128 func (x *PsbtShim) Reset() { 7129 *x = PsbtShim{} 7130 if protoimpl.UnsafeEnabled { 7131 mi := &file_lightning_proto_msgTypes[70] 7132 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7133 ms.StoreMessageInfo(mi) 7134 } 7135 } 7136 7137 func (x *PsbtShim) String() string { 7138 return protoimpl.X.MessageStringOf(x) 7139 } 7140 7141 func (*PsbtShim) ProtoMessage() {} 7142 7143 func (x *PsbtShim) ProtoReflect() protoreflect.Message { 7144 mi := &file_lightning_proto_msgTypes[70] 7145 if protoimpl.UnsafeEnabled && x != nil { 7146 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7147 if ms.LoadMessageInfo() == nil { 7148 ms.StoreMessageInfo(mi) 7149 } 7150 return ms 7151 } 7152 return mi.MessageOf(x) 7153 } 7154 7155 // Deprecated: Use PsbtShim.ProtoReflect.Descriptor instead. 7156 func (*PsbtShim) Descriptor() ([]byte, []int) { 7157 return file_lightning_proto_rawDescGZIP(), []int{70} 7158 } 7159 7160 func (x *PsbtShim) GetPendingChanId() []byte { 7161 if x != nil { 7162 return x.PendingChanId 7163 } 7164 return nil 7165 } 7166 7167 func (x *PsbtShim) GetBasePsbt() []byte { 7168 if x != nil { 7169 return x.BasePsbt 7170 } 7171 return nil 7172 } 7173 7174 func (x *PsbtShim) GetNoPublish() bool { 7175 if x != nil { 7176 return x.NoPublish 7177 } 7178 return false 7179 } 7180 7181 type FundingShim struct { 7182 state protoimpl.MessageState 7183 sizeCache protoimpl.SizeCache 7184 unknownFields protoimpl.UnknownFields 7185 7186 // Types that are assignable to Shim: 7187 // 7188 // *FundingShim_ChanPointShim 7189 // *FundingShim_PsbtShim 7190 Shim isFundingShim_Shim `protobuf_oneof:"shim"` 7191 } 7192 7193 func (x *FundingShim) Reset() { 7194 *x = FundingShim{} 7195 if protoimpl.UnsafeEnabled { 7196 mi := &file_lightning_proto_msgTypes[71] 7197 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7198 ms.StoreMessageInfo(mi) 7199 } 7200 } 7201 7202 func (x *FundingShim) String() string { 7203 return protoimpl.X.MessageStringOf(x) 7204 } 7205 7206 func (*FundingShim) ProtoMessage() {} 7207 7208 func (x *FundingShim) ProtoReflect() protoreflect.Message { 7209 mi := &file_lightning_proto_msgTypes[71] 7210 if protoimpl.UnsafeEnabled && x != nil { 7211 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7212 if ms.LoadMessageInfo() == nil { 7213 ms.StoreMessageInfo(mi) 7214 } 7215 return ms 7216 } 7217 return mi.MessageOf(x) 7218 } 7219 7220 // Deprecated: Use FundingShim.ProtoReflect.Descriptor instead. 7221 func (*FundingShim) Descriptor() ([]byte, []int) { 7222 return file_lightning_proto_rawDescGZIP(), []int{71} 7223 } 7224 7225 func (m *FundingShim) GetShim() isFundingShim_Shim { 7226 if m != nil { 7227 return m.Shim 7228 } 7229 return nil 7230 } 7231 7232 func (x *FundingShim) GetChanPointShim() *ChanPointShim { 7233 if x, ok := x.GetShim().(*FundingShim_ChanPointShim); ok { 7234 return x.ChanPointShim 7235 } 7236 return nil 7237 } 7238 7239 func (x *FundingShim) GetPsbtShim() *PsbtShim { 7240 if x, ok := x.GetShim().(*FundingShim_PsbtShim); ok { 7241 return x.PsbtShim 7242 } 7243 return nil 7244 } 7245 7246 type isFundingShim_Shim interface { 7247 isFundingShim_Shim() 7248 } 7249 7250 type FundingShim_ChanPointShim struct { 7251 // A channel shim where the channel point was fully constructed outside 7252 // of lnd's wallet and the transaction might already be published. 7253 ChanPointShim *ChanPointShim `protobuf:"bytes,1,opt,name=chan_point_shim,json=chanPointShim,proto3,oneof"` 7254 } 7255 7256 type FundingShim_PsbtShim struct { 7257 // A channel shim that uses a PSBT to fund and sign the channel funding 7258 // transaction. 7259 PsbtShim *PsbtShim `protobuf:"bytes,2,opt,name=psbt_shim,json=psbtShim,proto3,oneof"` 7260 } 7261 7262 func (*FundingShim_ChanPointShim) isFundingShim_Shim() {} 7263 7264 func (*FundingShim_PsbtShim) isFundingShim_Shim() {} 7265 7266 type FundingShimCancel struct { 7267 state protoimpl.MessageState 7268 sizeCache protoimpl.SizeCache 7269 unknownFields protoimpl.UnknownFields 7270 7271 // The pending channel ID of the channel to cancel the funding shim for. 7272 PendingChanId []byte `protobuf:"bytes,1,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` 7273 } 7274 7275 func (x *FundingShimCancel) Reset() { 7276 *x = FundingShimCancel{} 7277 if protoimpl.UnsafeEnabled { 7278 mi := &file_lightning_proto_msgTypes[72] 7279 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7280 ms.StoreMessageInfo(mi) 7281 } 7282 } 7283 7284 func (x *FundingShimCancel) String() string { 7285 return protoimpl.X.MessageStringOf(x) 7286 } 7287 7288 func (*FundingShimCancel) ProtoMessage() {} 7289 7290 func (x *FundingShimCancel) ProtoReflect() protoreflect.Message { 7291 mi := &file_lightning_proto_msgTypes[72] 7292 if protoimpl.UnsafeEnabled && x != nil { 7293 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7294 if ms.LoadMessageInfo() == nil { 7295 ms.StoreMessageInfo(mi) 7296 } 7297 return ms 7298 } 7299 return mi.MessageOf(x) 7300 } 7301 7302 // Deprecated: Use FundingShimCancel.ProtoReflect.Descriptor instead. 7303 func (*FundingShimCancel) Descriptor() ([]byte, []int) { 7304 return file_lightning_proto_rawDescGZIP(), []int{72} 7305 } 7306 7307 func (x *FundingShimCancel) GetPendingChanId() []byte { 7308 if x != nil { 7309 return x.PendingChanId 7310 } 7311 return nil 7312 } 7313 7314 type FundingPsbtVerify struct { 7315 state protoimpl.MessageState 7316 sizeCache protoimpl.SizeCache 7317 unknownFields protoimpl.UnknownFields 7318 7319 // The funded but not yet signed PSBT that sends the exact channel capacity 7320 // amount to the PK script returned in the open channel message in a previous 7321 // step. 7322 FundedPsbt []byte `protobuf:"bytes,1,opt,name=funded_psbt,json=fundedPsbt,proto3" json:"funded_psbt,omitempty"` 7323 // The pending channel ID of the channel to get the PSBT for. 7324 PendingChanId []byte `protobuf:"bytes,2,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` 7325 // Can only be used if the no_publish flag was set to true in the OpenChannel 7326 // call meaning that the caller is solely responsible for publishing the final 7327 // funding transaction. If skip_finalize is set to true then lnd will not wait 7328 // for a FundingPsbtFinalize state step and instead assumes that a transaction 7329 // with the same TXID as the passed in PSBT will eventually confirm. 7330 // IT IS ABSOLUTELY IMPERATIVE that the TXID of the transaction that is 7331 // eventually published does have the _same TXID_ as the verified PSBT. That 7332 // means no inputs or outputs can change, only signatures can be added. If the 7333 // TXID changes between this call and the publish step then the channel will 7334 // never be created and the funds will be in limbo. 7335 SkipFinalize bool `protobuf:"varint,3,opt,name=skip_finalize,json=skipFinalize,proto3" json:"skip_finalize,omitempty"` 7336 } 7337 7338 func (x *FundingPsbtVerify) Reset() { 7339 *x = FundingPsbtVerify{} 7340 if protoimpl.UnsafeEnabled { 7341 mi := &file_lightning_proto_msgTypes[73] 7342 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7343 ms.StoreMessageInfo(mi) 7344 } 7345 } 7346 7347 func (x *FundingPsbtVerify) String() string { 7348 return protoimpl.X.MessageStringOf(x) 7349 } 7350 7351 func (*FundingPsbtVerify) ProtoMessage() {} 7352 7353 func (x *FundingPsbtVerify) ProtoReflect() protoreflect.Message { 7354 mi := &file_lightning_proto_msgTypes[73] 7355 if protoimpl.UnsafeEnabled && x != nil { 7356 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7357 if ms.LoadMessageInfo() == nil { 7358 ms.StoreMessageInfo(mi) 7359 } 7360 return ms 7361 } 7362 return mi.MessageOf(x) 7363 } 7364 7365 // Deprecated: Use FundingPsbtVerify.ProtoReflect.Descriptor instead. 7366 func (*FundingPsbtVerify) Descriptor() ([]byte, []int) { 7367 return file_lightning_proto_rawDescGZIP(), []int{73} 7368 } 7369 7370 func (x *FundingPsbtVerify) GetFundedPsbt() []byte { 7371 if x != nil { 7372 return x.FundedPsbt 7373 } 7374 return nil 7375 } 7376 7377 func (x *FundingPsbtVerify) GetPendingChanId() []byte { 7378 if x != nil { 7379 return x.PendingChanId 7380 } 7381 return nil 7382 } 7383 7384 func (x *FundingPsbtVerify) GetSkipFinalize() bool { 7385 if x != nil { 7386 return x.SkipFinalize 7387 } 7388 return false 7389 } 7390 7391 type FundingPsbtFinalize struct { 7392 state protoimpl.MessageState 7393 sizeCache protoimpl.SizeCache 7394 unknownFields protoimpl.UnknownFields 7395 7396 // The funded PSBT that contains all witness data to send the exact channel 7397 // capacity amount to the PK script returned in the open channel message in a 7398 // previous step. Cannot be set at the same time as final_raw_tx. 7399 SignedPsbt []byte `protobuf:"bytes,1,opt,name=signed_psbt,json=signedPsbt,proto3" json:"signed_psbt,omitempty"` 7400 // The pending channel ID of the channel to get the PSBT for. 7401 PendingChanId []byte `protobuf:"bytes,2,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` 7402 // As an alternative to the signed PSBT with all witness data, the final raw 7403 // wire format transaction can also be specified directly. Cannot be set at the 7404 // same time as signed_psbt. 7405 FinalRawTx []byte `protobuf:"bytes,3,opt,name=final_raw_tx,json=finalRawTx,proto3" json:"final_raw_tx,omitempty"` 7406 } 7407 7408 func (x *FundingPsbtFinalize) Reset() { 7409 *x = FundingPsbtFinalize{} 7410 if protoimpl.UnsafeEnabled { 7411 mi := &file_lightning_proto_msgTypes[74] 7412 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7413 ms.StoreMessageInfo(mi) 7414 } 7415 } 7416 7417 func (x *FundingPsbtFinalize) String() string { 7418 return protoimpl.X.MessageStringOf(x) 7419 } 7420 7421 func (*FundingPsbtFinalize) ProtoMessage() {} 7422 7423 func (x *FundingPsbtFinalize) ProtoReflect() protoreflect.Message { 7424 mi := &file_lightning_proto_msgTypes[74] 7425 if protoimpl.UnsafeEnabled && x != nil { 7426 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7427 if ms.LoadMessageInfo() == nil { 7428 ms.StoreMessageInfo(mi) 7429 } 7430 return ms 7431 } 7432 return mi.MessageOf(x) 7433 } 7434 7435 // Deprecated: Use FundingPsbtFinalize.ProtoReflect.Descriptor instead. 7436 func (*FundingPsbtFinalize) Descriptor() ([]byte, []int) { 7437 return file_lightning_proto_rawDescGZIP(), []int{74} 7438 } 7439 7440 func (x *FundingPsbtFinalize) GetSignedPsbt() []byte { 7441 if x != nil { 7442 return x.SignedPsbt 7443 } 7444 return nil 7445 } 7446 7447 func (x *FundingPsbtFinalize) GetPendingChanId() []byte { 7448 if x != nil { 7449 return x.PendingChanId 7450 } 7451 return nil 7452 } 7453 7454 func (x *FundingPsbtFinalize) GetFinalRawTx() []byte { 7455 if x != nil { 7456 return x.FinalRawTx 7457 } 7458 return nil 7459 } 7460 7461 type FundingTransitionMsg struct { 7462 state protoimpl.MessageState 7463 sizeCache protoimpl.SizeCache 7464 unknownFields protoimpl.UnknownFields 7465 7466 // Types that are assignable to Trigger: 7467 // 7468 // *FundingTransitionMsg_ShimRegister 7469 // *FundingTransitionMsg_ShimCancel 7470 // *FundingTransitionMsg_PsbtVerify 7471 // *FundingTransitionMsg_PsbtFinalize 7472 Trigger isFundingTransitionMsg_Trigger `protobuf_oneof:"trigger"` 7473 } 7474 7475 func (x *FundingTransitionMsg) Reset() { 7476 *x = FundingTransitionMsg{} 7477 if protoimpl.UnsafeEnabled { 7478 mi := &file_lightning_proto_msgTypes[75] 7479 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7480 ms.StoreMessageInfo(mi) 7481 } 7482 } 7483 7484 func (x *FundingTransitionMsg) String() string { 7485 return protoimpl.X.MessageStringOf(x) 7486 } 7487 7488 func (*FundingTransitionMsg) ProtoMessage() {} 7489 7490 func (x *FundingTransitionMsg) ProtoReflect() protoreflect.Message { 7491 mi := &file_lightning_proto_msgTypes[75] 7492 if protoimpl.UnsafeEnabled && x != nil { 7493 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7494 if ms.LoadMessageInfo() == nil { 7495 ms.StoreMessageInfo(mi) 7496 } 7497 return ms 7498 } 7499 return mi.MessageOf(x) 7500 } 7501 7502 // Deprecated: Use FundingTransitionMsg.ProtoReflect.Descriptor instead. 7503 func (*FundingTransitionMsg) Descriptor() ([]byte, []int) { 7504 return file_lightning_proto_rawDescGZIP(), []int{75} 7505 } 7506 7507 func (m *FundingTransitionMsg) GetTrigger() isFundingTransitionMsg_Trigger { 7508 if m != nil { 7509 return m.Trigger 7510 } 7511 return nil 7512 } 7513 7514 func (x *FundingTransitionMsg) GetShimRegister() *FundingShim { 7515 if x, ok := x.GetTrigger().(*FundingTransitionMsg_ShimRegister); ok { 7516 return x.ShimRegister 7517 } 7518 return nil 7519 } 7520 7521 func (x *FundingTransitionMsg) GetShimCancel() *FundingShimCancel { 7522 if x, ok := x.GetTrigger().(*FundingTransitionMsg_ShimCancel); ok { 7523 return x.ShimCancel 7524 } 7525 return nil 7526 } 7527 7528 func (x *FundingTransitionMsg) GetPsbtVerify() *FundingPsbtVerify { 7529 if x, ok := x.GetTrigger().(*FundingTransitionMsg_PsbtVerify); ok { 7530 return x.PsbtVerify 7531 } 7532 return nil 7533 } 7534 7535 func (x *FundingTransitionMsg) GetPsbtFinalize() *FundingPsbtFinalize { 7536 if x, ok := x.GetTrigger().(*FundingTransitionMsg_PsbtFinalize); ok { 7537 return x.PsbtFinalize 7538 } 7539 return nil 7540 } 7541 7542 type isFundingTransitionMsg_Trigger interface { 7543 isFundingTransitionMsg_Trigger() 7544 } 7545 7546 type FundingTransitionMsg_ShimRegister struct { 7547 // The funding shim to register. This should be used before any 7548 // channel funding has began by the remote party, as it is intended as a 7549 // preparatory step for the full channel funding. 7550 ShimRegister *FundingShim `protobuf:"bytes,1,opt,name=shim_register,json=shimRegister,proto3,oneof"` 7551 } 7552 7553 type FundingTransitionMsg_ShimCancel struct { 7554 // Used to cancel an existing registered funding shim. 7555 ShimCancel *FundingShimCancel `protobuf:"bytes,2,opt,name=shim_cancel,json=shimCancel,proto3,oneof"` 7556 } 7557 7558 type FundingTransitionMsg_PsbtVerify struct { 7559 // Used to continue a funding flow that was initiated to be executed 7560 // through a PSBT. This step verifies that the PSBT contains the correct 7561 // outputs to fund the channel. 7562 PsbtVerify *FundingPsbtVerify `protobuf:"bytes,3,opt,name=psbt_verify,json=psbtVerify,proto3,oneof"` 7563 } 7564 7565 type FundingTransitionMsg_PsbtFinalize struct { 7566 // Used to continue a funding flow that was initiated to be executed 7567 // through a PSBT. This step finalizes the funded and signed PSBT, finishes 7568 // negotiation with the peer and finally publishes the resulting funding 7569 // transaction. 7570 PsbtFinalize *FundingPsbtFinalize `protobuf:"bytes,4,opt,name=psbt_finalize,json=psbtFinalize,proto3,oneof"` 7571 } 7572 7573 func (*FundingTransitionMsg_ShimRegister) isFundingTransitionMsg_Trigger() {} 7574 7575 func (*FundingTransitionMsg_ShimCancel) isFundingTransitionMsg_Trigger() {} 7576 7577 func (*FundingTransitionMsg_PsbtVerify) isFundingTransitionMsg_Trigger() {} 7578 7579 func (*FundingTransitionMsg_PsbtFinalize) isFundingTransitionMsg_Trigger() {} 7580 7581 type FundingStateStepResp struct { 7582 state protoimpl.MessageState 7583 sizeCache protoimpl.SizeCache 7584 unknownFields protoimpl.UnknownFields 7585 } 7586 7587 func (x *FundingStateStepResp) Reset() { 7588 *x = FundingStateStepResp{} 7589 if protoimpl.UnsafeEnabled { 7590 mi := &file_lightning_proto_msgTypes[76] 7591 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7592 ms.StoreMessageInfo(mi) 7593 } 7594 } 7595 7596 func (x *FundingStateStepResp) String() string { 7597 return protoimpl.X.MessageStringOf(x) 7598 } 7599 7600 func (*FundingStateStepResp) ProtoMessage() {} 7601 7602 func (x *FundingStateStepResp) ProtoReflect() protoreflect.Message { 7603 mi := &file_lightning_proto_msgTypes[76] 7604 if protoimpl.UnsafeEnabled && x != nil { 7605 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7606 if ms.LoadMessageInfo() == nil { 7607 ms.StoreMessageInfo(mi) 7608 } 7609 return ms 7610 } 7611 return mi.MessageOf(x) 7612 } 7613 7614 // Deprecated: Use FundingStateStepResp.ProtoReflect.Descriptor instead. 7615 func (*FundingStateStepResp) Descriptor() ([]byte, []int) { 7616 return file_lightning_proto_rawDescGZIP(), []int{76} 7617 } 7618 7619 type PendingHTLC struct { 7620 state protoimpl.MessageState 7621 sizeCache protoimpl.SizeCache 7622 unknownFields protoimpl.UnknownFields 7623 7624 // The direction within the channel that the htlc was sent 7625 Incoming bool `protobuf:"varint,1,opt,name=incoming,proto3" json:"incoming,omitempty"` 7626 // The total value of the htlc 7627 Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` 7628 // The final output to be swept back to the user's wallet 7629 Outpoint string `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"` 7630 // The next block height at which we can spend the current stage 7631 MaturityHeight uint32 `protobuf:"varint,4,opt,name=maturity_height,json=maturityHeight,proto3" json:"maturity_height,omitempty"` 7632 // The number of blocks remaining until the current stage can be swept. 7633 // Negative values indicate how many blocks have passed since becoming 7634 // mature. 7635 BlocksTilMaturity int32 `protobuf:"varint,5,opt,name=blocks_til_maturity,json=blocksTilMaturity,proto3" json:"blocks_til_maturity,omitempty"` 7636 // Indicates whether the htlc is in its first or second stage of recovery 7637 Stage uint32 `protobuf:"varint,6,opt,name=stage,proto3" json:"stage,omitempty"` 7638 } 7639 7640 func (x *PendingHTLC) Reset() { 7641 *x = PendingHTLC{} 7642 if protoimpl.UnsafeEnabled { 7643 mi := &file_lightning_proto_msgTypes[77] 7644 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7645 ms.StoreMessageInfo(mi) 7646 } 7647 } 7648 7649 func (x *PendingHTLC) String() string { 7650 return protoimpl.X.MessageStringOf(x) 7651 } 7652 7653 func (*PendingHTLC) ProtoMessage() {} 7654 7655 func (x *PendingHTLC) ProtoReflect() protoreflect.Message { 7656 mi := &file_lightning_proto_msgTypes[77] 7657 if protoimpl.UnsafeEnabled && x != nil { 7658 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7659 if ms.LoadMessageInfo() == nil { 7660 ms.StoreMessageInfo(mi) 7661 } 7662 return ms 7663 } 7664 return mi.MessageOf(x) 7665 } 7666 7667 // Deprecated: Use PendingHTLC.ProtoReflect.Descriptor instead. 7668 func (*PendingHTLC) Descriptor() ([]byte, []int) { 7669 return file_lightning_proto_rawDescGZIP(), []int{77} 7670 } 7671 7672 func (x *PendingHTLC) GetIncoming() bool { 7673 if x != nil { 7674 return x.Incoming 7675 } 7676 return false 7677 } 7678 7679 func (x *PendingHTLC) GetAmount() int64 { 7680 if x != nil { 7681 return x.Amount 7682 } 7683 return 0 7684 } 7685 7686 func (x *PendingHTLC) GetOutpoint() string { 7687 if x != nil { 7688 return x.Outpoint 7689 } 7690 return "" 7691 } 7692 7693 func (x *PendingHTLC) GetMaturityHeight() uint32 { 7694 if x != nil { 7695 return x.MaturityHeight 7696 } 7697 return 0 7698 } 7699 7700 func (x *PendingHTLC) GetBlocksTilMaturity() int32 { 7701 if x != nil { 7702 return x.BlocksTilMaturity 7703 } 7704 return 0 7705 } 7706 7707 func (x *PendingHTLC) GetStage() uint32 { 7708 if x != nil { 7709 return x.Stage 7710 } 7711 return 0 7712 } 7713 7714 type PendingChannelsRequest struct { 7715 state protoimpl.MessageState 7716 sizeCache protoimpl.SizeCache 7717 unknownFields protoimpl.UnknownFields 7718 } 7719 7720 func (x *PendingChannelsRequest) Reset() { 7721 *x = PendingChannelsRequest{} 7722 if protoimpl.UnsafeEnabled { 7723 mi := &file_lightning_proto_msgTypes[78] 7724 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7725 ms.StoreMessageInfo(mi) 7726 } 7727 } 7728 7729 func (x *PendingChannelsRequest) String() string { 7730 return protoimpl.X.MessageStringOf(x) 7731 } 7732 7733 func (*PendingChannelsRequest) ProtoMessage() {} 7734 7735 func (x *PendingChannelsRequest) ProtoReflect() protoreflect.Message { 7736 mi := &file_lightning_proto_msgTypes[78] 7737 if protoimpl.UnsafeEnabled && x != nil { 7738 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7739 if ms.LoadMessageInfo() == nil { 7740 ms.StoreMessageInfo(mi) 7741 } 7742 return ms 7743 } 7744 return mi.MessageOf(x) 7745 } 7746 7747 // Deprecated: Use PendingChannelsRequest.ProtoReflect.Descriptor instead. 7748 func (*PendingChannelsRequest) Descriptor() ([]byte, []int) { 7749 return file_lightning_proto_rawDescGZIP(), []int{78} 7750 } 7751 7752 type PendingChannelsResponse struct { 7753 state protoimpl.MessageState 7754 sizeCache protoimpl.SizeCache 7755 unknownFields protoimpl.UnknownFields 7756 7757 // The balance in atoms encumbered in pending channels 7758 TotalLimboBalance int64 `protobuf:"varint,1,opt,name=total_limbo_balance,json=totalLimboBalance,proto3" json:"total_limbo_balance,omitempty"` 7759 // Channels pending opening 7760 PendingOpenChannels []*PendingChannelsResponse_PendingOpenChannel `protobuf:"bytes,2,rep,name=pending_open_channels,json=pendingOpenChannels,proto3" json:"pending_open_channels,omitempty"` 7761 // Deprecated: Channels pending closing previously contained cooperatively 7762 // closed channels with a single confirmation. These channels are now 7763 // considered closed from the time we see them on chain. 7764 // 7765 // Deprecated: Marked as deprecated in lightning.proto. 7766 PendingClosingChannels []*PendingChannelsResponse_ClosedChannel `protobuf:"bytes,3,rep,name=pending_closing_channels,json=pendingClosingChannels,proto3" json:"pending_closing_channels,omitempty"` 7767 // Channels pending force closing 7768 PendingForceClosingChannels []*PendingChannelsResponse_ForceClosedChannel `protobuf:"bytes,4,rep,name=pending_force_closing_channels,json=pendingForceClosingChannels,proto3" json:"pending_force_closing_channels,omitempty"` 7769 // Channels waiting for closing tx to confirm 7770 WaitingCloseChannels []*PendingChannelsResponse_WaitingCloseChannel `protobuf:"bytes,5,rep,name=waiting_close_channels,json=waitingCloseChannels,proto3" json:"waiting_close_channels,omitempty"` 7771 } 7772 7773 func (x *PendingChannelsResponse) Reset() { 7774 *x = PendingChannelsResponse{} 7775 if protoimpl.UnsafeEnabled { 7776 mi := &file_lightning_proto_msgTypes[79] 7777 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7778 ms.StoreMessageInfo(mi) 7779 } 7780 } 7781 7782 func (x *PendingChannelsResponse) String() string { 7783 return protoimpl.X.MessageStringOf(x) 7784 } 7785 7786 func (*PendingChannelsResponse) ProtoMessage() {} 7787 7788 func (x *PendingChannelsResponse) ProtoReflect() protoreflect.Message { 7789 mi := &file_lightning_proto_msgTypes[79] 7790 if protoimpl.UnsafeEnabled && x != nil { 7791 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7792 if ms.LoadMessageInfo() == nil { 7793 ms.StoreMessageInfo(mi) 7794 } 7795 return ms 7796 } 7797 return mi.MessageOf(x) 7798 } 7799 7800 // Deprecated: Use PendingChannelsResponse.ProtoReflect.Descriptor instead. 7801 func (*PendingChannelsResponse) Descriptor() ([]byte, []int) { 7802 return file_lightning_proto_rawDescGZIP(), []int{79} 7803 } 7804 7805 func (x *PendingChannelsResponse) GetTotalLimboBalance() int64 { 7806 if x != nil { 7807 return x.TotalLimboBalance 7808 } 7809 return 0 7810 } 7811 7812 func (x *PendingChannelsResponse) GetPendingOpenChannels() []*PendingChannelsResponse_PendingOpenChannel { 7813 if x != nil { 7814 return x.PendingOpenChannels 7815 } 7816 return nil 7817 } 7818 7819 // Deprecated: Marked as deprecated in lightning.proto. 7820 func (x *PendingChannelsResponse) GetPendingClosingChannels() []*PendingChannelsResponse_ClosedChannel { 7821 if x != nil { 7822 return x.PendingClosingChannels 7823 } 7824 return nil 7825 } 7826 7827 func (x *PendingChannelsResponse) GetPendingForceClosingChannels() []*PendingChannelsResponse_ForceClosedChannel { 7828 if x != nil { 7829 return x.PendingForceClosingChannels 7830 } 7831 return nil 7832 } 7833 7834 func (x *PendingChannelsResponse) GetWaitingCloseChannels() []*PendingChannelsResponse_WaitingCloseChannel { 7835 if x != nil { 7836 return x.WaitingCloseChannels 7837 } 7838 return nil 7839 } 7840 7841 type ChannelEventSubscription struct { 7842 state protoimpl.MessageState 7843 sizeCache protoimpl.SizeCache 7844 unknownFields protoimpl.UnknownFields 7845 } 7846 7847 func (x *ChannelEventSubscription) Reset() { 7848 *x = ChannelEventSubscription{} 7849 if protoimpl.UnsafeEnabled { 7850 mi := &file_lightning_proto_msgTypes[80] 7851 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7852 ms.StoreMessageInfo(mi) 7853 } 7854 } 7855 7856 func (x *ChannelEventSubscription) String() string { 7857 return protoimpl.X.MessageStringOf(x) 7858 } 7859 7860 func (*ChannelEventSubscription) ProtoMessage() {} 7861 7862 func (x *ChannelEventSubscription) ProtoReflect() protoreflect.Message { 7863 mi := &file_lightning_proto_msgTypes[80] 7864 if protoimpl.UnsafeEnabled && x != nil { 7865 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7866 if ms.LoadMessageInfo() == nil { 7867 ms.StoreMessageInfo(mi) 7868 } 7869 return ms 7870 } 7871 return mi.MessageOf(x) 7872 } 7873 7874 // Deprecated: Use ChannelEventSubscription.ProtoReflect.Descriptor instead. 7875 func (*ChannelEventSubscription) Descriptor() ([]byte, []int) { 7876 return file_lightning_proto_rawDescGZIP(), []int{80} 7877 } 7878 7879 type ChannelEventUpdate struct { 7880 state protoimpl.MessageState 7881 sizeCache protoimpl.SizeCache 7882 unknownFields protoimpl.UnknownFields 7883 7884 // Types that are assignable to Channel: 7885 // 7886 // *ChannelEventUpdate_OpenChannel 7887 // *ChannelEventUpdate_ClosedChannel 7888 // *ChannelEventUpdate_ActiveChannel 7889 // *ChannelEventUpdate_InactiveChannel 7890 // *ChannelEventUpdate_PendingOpenChannel 7891 // *ChannelEventUpdate_FullyResolvedChannel 7892 Channel isChannelEventUpdate_Channel `protobuf_oneof:"channel"` 7893 Type ChannelEventUpdate_UpdateType `protobuf:"varint,5,opt,name=type,proto3,enum=lnrpc.ChannelEventUpdate_UpdateType" json:"type,omitempty"` 7894 } 7895 7896 func (x *ChannelEventUpdate) Reset() { 7897 *x = ChannelEventUpdate{} 7898 if protoimpl.UnsafeEnabled { 7899 mi := &file_lightning_proto_msgTypes[81] 7900 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7901 ms.StoreMessageInfo(mi) 7902 } 7903 } 7904 7905 func (x *ChannelEventUpdate) String() string { 7906 return protoimpl.X.MessageStringOf(x) 7907 } 7908 7909 func (*ChannelEventUpdate) ProtoMessage() {} 7910 7911 func (x *ChannelEventUpdate) ProtoReflect() protoreflect.Message { 7912 mi := &file_lightning_proto_msgTypes[81] 7913 if protoimpl.UnsafeEnabled && x != nil { 7914 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 7915 if ms.LoadMessageInfo() == nil { 7916 ms.StoreMessageInfo(mi) 7917 } 7918 return ms 7919 } 7920 return mi.MessageOf(x) 7921 } 7922 7923 // Deprecated: Use ChannelEventUpdate.ProtoReflect.Descriptor instead. 7924 func (*ChannelEventUpdate) Descriptor() ([]byte, []int) { 7925 return file_lightning_proto_rawDescGZIP(), []int{81} 7926 } 7927 7928 func (m *ChannelEventUpdate) GetChannel() isChannelEventUpdate_Channel { 7929 if m != nil { 7930 return m.Channel 7931 } 7932 return nil 7933 } 7934 7935 func (x *ChannelEventUpdate) GetOpenChannel() *Channel { 7936 if x, ok := x.GetChannel().(*ChannelEventUpdate_OpenChannel); ok { 7937 return x.OpenChannel 7938 } 7939 return nil 7940 } 7941 7942 func (x *ChannelEventUpdate) GetClosedChannel() *ChannelCloseSummary { 7943 if x, ok := x.GetChannel().(*ChannelEventUpdate_ClosedChannel); ok { 7944 return x.ClosedChannel 7945 } 7946 return nil 7947 } 7948 7949 func (x *ChannelEventUpdate) GetActiveChannel() *ChannelPoint { 7950 if x, ok := x.GetChannel().(*ChannelEventUpdate_ActiveChannel); ok { 7951 return x.ActiveChannel 7952 } 7953 return nil 7954 } 7955 7956 func (x *ChannelEventUpdate) GetInactiveChannel() *ChannelPoint { 7957 if x, ok := x.GetChannel().(*ChannelEventUpdate_InactiveChannel); ok { 7958 return x.InactiveChannel 7959 } 7960 return nil 7961 } 7962 7963 func (x *ChannelEventUpdate) GetPendingOpenChannel() *PendingUpdate { 7964 if x, ok := x.GetChannel().(*ChannelEventUpdate_PendingOpenChannel); ok { 7965 return x.PendingOpenChannel 7966 } 7967 return nil 7968 } 7969 7970 func (x *ChannelEventUpdate) GetFullyResolvedChannel() *ChannelPoint { 7971 if x, ok := x.GetChannel().(*ChannelEventUpdate_FullyResolvedChannel); ok { 7972 return x.FullyResolvedChannel 7973 } 7974 return nil 7975 } 7976 7977 func (x *ChannelEventUpdate) GetType() ChannelEventUpdate_UpdateType { 7978 if x != nil { 7979 return x.Type 7980 } 7981 return ChannelEventUpdate_OPEN_CHANNEL 7982 } 7983 7984 type isChannelEventUpdate_Channel interface { 7985 isChannelEventUpdate_Channel() 7986 } 7987 7988 type ChannelEventUpdate_OpenChannel struct { 7989 OpenChannel *Channel `protobuf:"bytes,1,opt,name=open_channel,json=openChannel,proto3,oneof"` 7990 } 7991 7992 type ChannelEventUpdate_ClosedChannel struct { 7993 ClosedChannel *ChannelCloseSummary `protobuf:"bytes,2,opt,name=closed_channel,json=closedChannel,proto3,oneof"` 7994 } 7995 7996 type ChannelEventUpdate_ActiveChannel struct { 7997 ActiveChannel *ChannelPoint `protobuf:"bytes,3,opt,name=active_channel,json=activeChannel,proto3,oneof"` 7998 } 7999 8000 type ChannelEventUpdate_InactiveChannel struct { 8001 InactiveChannel *ChannelPoint `protobuf:"bytes,4,opt,name=inactive_channel,json=inactiveChannel,proto3,oneof"` 8002 } 8003 8004 type ChannelEventUpdate_PendingOpenChannel struct { 8005 PendingOpenChannel *PendingUpdate `protobuf:"bytes,6,opt,name=pending_open_channel,json=pendingOpenChannel,proto3,oneof"` 8006 } 8007 8008 type ChannelEventUpdate_FullyResolvedChannel struct { 8009 FullyResolvedChannel *ChannelPoint `protobuf:"bytes,7,opt,name=fully_resolved_channel,json=fullyResolvedChannel,proto3,oneof"` 8010 } 8011 8012 func (*ChannelEventUpdate_OpenChannel) isChannelEventUpdate_Channel() {} 8013 8014 func (*ChannelEventUpdate_ClosedChannel) isChannelEventUpdate_Channel() {} 8015 8016 func (*ChannelEventUpdate_ActiveChannel) isChannelEventUpdate_Channel() {} 8017 8018 func (*ChannelEventUpdate_InactiveChannel) isChannelEventUpdate_Channel() {} 8019 8020 func (*ChannelEventUpdate_PendingOpenChannel) isChannelEventUpdate_Channel() {} 8021 8022 func (*ChannelEventUpdate_FullyResolvedChannel) isChannelEventUpdate_Channel() {} 8023 8024 type WalletAccountBalance struct { 8025 state protoimpl.MessageState 8026 sizeCache protoimpl.SizeCache 8027 unknownFields protoimpl.UnknownFields 8028 8029 // The confirmed balance of the account (with >= 1 confirmations). 8030 ConfirmedBalance int64 `protobuf:"varint,1,opt,name=confirmed_balance,json=confirmedBalance,proto3" json:"confirmed_balance,omitempty"` 8031 // The unconfirmed balance of the account (with 0 confirmations). 8032 UnconfirmedBalance int64 `protobuf:"varint,2,opt,name=unconfirmed_balance,json=unconfirmedBalance,proto3" json:"unconfirmed_balance,omitempty"` 8033 } 8034 8035 func (x *WalletAccountBalance) Reset() { 8036 *x = WalletAccountBalance{} 8037 if protoimpl.UnsafeEnabled { 8038 mi := &file_lightning_proto_msgTypes[82] 8039 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8040 ms.StoreMessageInfo(mi) 8041 } 8042 } 8043 8044 func (x *WalletAccountBalance) String() string { 8045 return protoimpl.X.MessageStringOf(x) 8046 } 8047 8048 func (*WalletAccountBalance) ProtoMessage() {} 8049 8050 func (x *WalletAccountBalance) ProtoReflect() protoreflect.Message { 8051 mi := &file_lightning_proto_msgTypes[82] 8052 if protoimpl.UnsafeEnabled && x != nil { 8053 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8054 if ms.LoadMessageInfo() == nil { 8055 ms.StoreMessageInfo(mi) 8056 } 8057 return ms 8058 } 8059 return mi.MessageOf(x) 8060 } 8061 8062 // Deprecated: Use WalletAccountBalance.ProtoReflect.Descriptor instead. 8063 func (*WalletAccountBalance) Descriptor() ([]byte, []int) { 8064 return file_lightning_proto_rawDescGZIP(), []int{82} 8065 } 8066 8067 func (x *WalletAccountBalance) GetConfirmedBalance() int64 { 8068 if x != nil { 8069 return x.ConfirmedBalance 8070 } 8071 return 0 8072 } 8073 8074 func (x *WalletAccountBalance) GetUnconfirmedBalance() int64 { 8075 if x != nil { 8076 return x.UnconfirmedBalance 8077 } 8078 return 0 8079 } 8080 8081 type WalletBalanceRequest struct { 8082 state protoimpl.MessageState 8083 sizeCache protoimpl.SizeCache 8084 unknownFields protoimpl.UnknownFields 8085 } 8086 8087 func (x *WalletBalanceRequest) Reset() { 8088 *x = WalletBalanceRequest{} 8089 if protoimpl.UnsafeEnabled { 8090 mi := &file_lightning_proto_msgTypes[83] 8091 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8092 ms.StoreMessageInfo(mi) 8093 } 8094 } 8095 8096 func (x *WalletBalanceRequest) String() string { 8097 return protoimpl.X.MessageStringOf(x) 8098 } 8099 8100 func (*WalletBalanceRequest) ProtoMessage() {} 8101 8102 func (x *WalletBalanceRequest) ProtoReflect() protoreflect.Message { 8103 mi := &file_lightning_proto_msgTypes[83] 8104 if protoimpl.UnsafeEnabled && x != nil { 8105 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8106 if ms.LoadMessageInfo() == nil { 8107 ms.StoreMessageInfo(mi) 8108 } 8109 return ms 8110 } 8111 return mi.MessageOf(x) 8112 } 8113 8114 // Deprecated: Use WalletBalanceRequest.ProtoReflect.Descriptor instead. 8115 func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { 8116 return file_lightning_proto_rawDescGZIP(), []int{83} 8117 } 8118 8119 type WalletBalanceResponse struct { 8120 state protoimpl.MessageState 8121 sizeCache protoimpl.SizeCache 8122 unknownFields protoimpl.UnknownFields 8123 8124 // The balance of the wallet 8125 TotalBalance int64 `protobuf:"varint,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` 8126 // The confirmed balance of a wallet(with >= 1 confirmations) 8127 ConfirmedBalance int64 `protobuf:"varint,2,opt,name=confirmed_balance,json=confirmedBalance,proto3" json:"confirmed_balance,omitempty"` 8128 // The unconfirmed balance of a wallet(with 0 confirmations) 8129 UnconfirmedBalance int64 `protobuf:"varint,3,opt,name=unconfirmed_balance,json=unconfirmedBalance,proto3" json:"unconfirmed_balance,omitempty"` 8130 // The total amount of wallet UTXOs held in outputs that are locked for 8131 // other usage. 8132 LockedBalance int64 `protobuf:"varint,5,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` 8133 // A mapping of each wallet account's name to its balance. 8134 AccountBalance map[string]*WalletAccountBalance `protobuf:"bytes,4,rep,name=account_balance,json=accountBalance,proto3" json:"account_balance,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 8135 } 8136 8137 func (x *WalletBalanceResponse) Reset() { 8138 *x = WalletBalanceResponse{} 8139 if protoimpl.UnsafeEnabled { 8140 mi := &file_lightning_proto_msgTypes[84] 8141 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8142 ms.StoreMessageInfo(mi) 8143 } 8144 } 8145 8146 func (x *WalletBalanceResponse) String() string { 8147 return protoimpl.X.MessageStringOf(x) 8148 } 8149 8150 func (*WalletBalanceResponse) ProtoMessage() {} 8151 8152 func (x *WalletBalanceResponse) ProtoReflect() protoreflect.Message { 8153 mi := &file_lightning_proto_msgTypes[84] 8154 if protoimpl.UnsafeEnabled && x != nil { 8155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8156 if ms.LoadMessageInfo() == nil { 8157 ms.StoreMessageInfo(mi) 8158 } 8159 return ms 8160 } 8161 return mi.MessageOf(x) 8162 } 8163 8164 // Deprecated: Use WalletBalanceResponse.ProtoReflect.Descriptor instead. 8165 func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { 8166 return file_lightning_proto_rawDescGZIP(), []int{84} 8167 } 8168 8169 func (x *WalletBalanceResponse) GetTotalBalance() int64 { 8170 if x != nil { 8171 return x.TotalBalance 8172 } 8173 return 0 8174 } 8175 8176 func (x *WalletBalanceResponse) GetConfirmedBalance() int64 { 8177 if x != nil { 8178 return x.ConfirmedBalance 8179 } 8180 return 0 8181 } 8182 8183 func (x *WalletBalanceResponse) GetUnconfirmedBalance() int64 { 8184 if x != nil { 8185 return x.UnconfirmedBalance 8186 } 8187 return 0 8188 } 8189 8190 func (x *WalletBalanceResponse) GetLockedBalance() int64 { 8191 if x != nil { 8192 return x.LockedBalance 8193 } 8194 return 0 8195 } 8196 8197 func (x *WalletBalanceResponse) GetAccountBalance() map[string]*WalletAccountBalance { 8198 if x != nil { 8199 return x.AccountBalance 8200 } 8201 return nil 8202 } 8203 8204 type Amount struct { 8205 state protoimpl.MessageState 8206 sizeCache protoimpl.SizeCache 8207 unknownFields protoimpl.UnknownFields 8208 8209 // Value denominated in atoms. 8210 Atoms uint64 `protobuf:"varint,1,opt,name=atoms,proto3" json:"atoms,omitempty"` 8211 // Value denominated in milli-atoms. 8212 Matoms uint64 `protobuf:"varint,2,opt,name=matoms,proto3" json:"matoms,omitempty"` 8213 } 8214 8215 func (x *Amount) Reset() { 8216 *x = Amount{} 8217 if protoimpl.UnsafeEnabled { 8218 mi := &file_lightning_proto_msgTypes[85] 8219 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8220 ms.StoreMessageInfo(mi) 8221 } 8222 } 8223 8224 func (x *Amount) String() string { 8225 return protoimpl.X.MessageStringOf(x) 8226 } 8227 8228 func (*Amount) ProtoMessage() {} 8229 8230 func (x *Amount) ProtoReflect() protoreflect.Message { 8231 mi := &file_lightning_proto_msgTypes[85] 8232 if protoimpl.UnsafeEnabled && x != nil { 8233 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8234 if ms.LoadMessageInfo() == nil { 8235 ms.StoreMessageInfo(mi) 8236 } 8237 return ms 8238 } 8239 return mi.MessageOf(x) 8240 } 8241 8242 // Deprecated: Use Amount.ProtoReflect.Descriptor instead. 8243 func (*Amount) Descriptor() ([]byte, []int) { 8244 return file_lightning_proto_rawDescGZIP(), []int{85} 8245 } 8246 8247 func (x *Amount) GetAtoms() uint64 { 8248 if x != nil { 8249 return x.Atoms 8250 } 8251 return 0 8252 } 8253 8254 func (x *Amount) GetMatoms() uint64 { 8255 if x != nil { 8256 return x.Matoms 8257 } 8258 return 0 8259 } 8260 8261 type ChannelBalanceRequest struct { 8262 state protoimpl.MessageState 8263 sizeCache protoimpl.SizeCache 8264 unknownFields protoimpl.UnknownFields 8265 } 8266 8267 func (x *ChannelBalanceRequest) Reset() { 8268 *x = ChannelBalanceRequest{} 8269 if protoimpl.UnsafeEnabled { 8270 mi := &file_lightning_proto_msgTypes[86] 8271 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8272 ms.StoreMessageInfo(mi) 8273 } 8274 } 8275 8276 func (x *ChannelBalanceRequest) String() string { 8277 return protoimpl.X.MessageStringOf(x) 8278 } 8279 8280 func (*ChannelBalanceRequest) ProtoMessage() {} 8281 8282 func (x *ChannelBalanceRequest) ProtoReflect() protoreflect.Message { 8283 mi := &file_lightning_proto_msgTypes[86] 8284 if protoimpl.UnsafeEnabled && x != nil { 8285 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8286 if ms.LoadMessageInfo() == nil { 8287 ms.StoreMessageInfo(mi) 8288 } 8289 return ms 8290 } 8291 return mi.MessageOf(x) 8292 } 8293 8294 // Deprecated: Use ChannelBalanceRequest.ProtoReflect.Descriptor instead. 8295 func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) { 8296 return file_lightning_proto_rawDescGZIP(), []int{86} 8297 } 8298 8299 type ChannelBalanceResponse struct { 8300 state protoimpl.MessageState 8301 sizeCache protoimpl.SizeCache 8302 unknownFields protoimpl.UnknownFields 8303 8304 // Deprecated. Sum of channels balances denominated in satoshis 8305 // 8306 // Deprecated: Marked as deprecated in lightning.proto. 8307 Balance int64 `protobuf:"varint,1,opt,name=balance,proto3" json:"balance,omitempty"` 8308 // Deprecated. Sum of channels pending balances denominated in satoshis 8309 // 8310 // Deprecated: Marked as deprecated in lightning.proto. 8311 PendingOpenBalance int64 `protobuf:"varint,2,opt,name=pending_open_balance,json=pendingOpenBalance,proto3" json:"pending_open_balance,omitempty"` 8312 // Sum of channels local balances. 8313 LocalBalance *Amount `protobuf:"bytes,3,opt,name=local_balance,json=localBalance,proto3" json:"local_balance,omitempty"` 8314 // Sum of channels remote balances. 8315 RemoteBalance *Amount `protobuf:"bytes,4,opt,name=remote_balance,json=remoteBalance,proto3" json:"remote_balance,omitempty"` 8316 // Sum of channels local unsettled balances. 8317 UnsettledLocalBalance *Amount `protobuf:"bytes,5,opt,name=unsettled_local_balance,json=unsettledLocalBalance,proto3" json:"unsettled_local_balance,omitempty"` 8318 // Sum of channels remote unsettled balances. 8319 UnsettledRemoteBalance *Amount `protobuf:"bytes,6,opt,name=unsettled_remote_balance,json=unsettledRemoteBalance,proto3" json:"unsettled_remote_balance,omitempty"` 8320 // Sum of channels pending local balances. 8321 PendingOpenLocalBalance *Amount `protobuf:"bytes,7,opt,name=pending_open_local_balance,json=pendingOpenLocalBalance,proto3" json:"pending_open_local_balance,omitempty"` 8322 // Sum of channels pending remote balances. 8323 PendingOpenRemoteBalance *Amount `protobuf:"bytes,8,opt,name=pending_open_remote_balance,json=pendingOpenRemoteBalance,proto3" json:"pending_open_remote_balance,omitempty"` 8324 // Maximum amount we can receive across all our channels, after accounting 8325 // for required reserves. 8326 MaxInboundAmount int64 `protobuf:"varint,900,opt,name=max_inbound_amount,json=maxInboundAmount,proto3" json:"max_inbound_amount,omitempty"` 8327 // Maximum amount we can send across all our channels, after accounting for 8328 // required reserves. 8329 MaxOutboundAmount int64 `protobuf:"varint,901,opt,name=max_outbound_amount,json=maxOutboundAmount,proto3" json:"max_outbound_amount,omitempty"` 8330 } 8331 8332 func (x *ChannelBalanceResponse) Reset() { 8333 *x = ChannelBalanceResponse{} 8334 if protoimpl.UnsafeEnabled { 8335 mi := &file_lightning_proto_msgTypes[87] 8336 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8337 ms.StoreMessageInfo(mi) 8338 } 8339 } 8340 8341 func (x *ChannelBalanceResponse) String() string { 8342 return protoimpl.X.MessageStringOf(x) 8343 } 8344 8345 func (*ChannelBalanceResponse) ProtoMessage() {} 8346 8347 func (x *ChannelBalanceResponse) ProtoReflect() protoreflect.Message { 8348 mi := &file_lightning_proto_msgTypes[87] 8349 if protoimpl.UnsafeEnabled && x != nil { 8350 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8351 if ms.LoadMessageInfo() == nil { 8352 ms.StoreMessageInfo(mi) 8353 } 8354 return ms 8355 } 8356 return mi.MessageOf(x) 8357 } 8358 8359 // Deprecated: Use ChannelBalanceResponse.ProtoReflect.Descriptor instead. 8360 func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) { 8361 return file_lightning_proto_rawDescGZIP(), []int{87} 8362 } 8363 8364 // Deprecated: Marked as deprecated in lightning.proto. 8365 func (x *ChannelBalanceResponse) GetBalance() int64 { 8366 if x != nil { 8367 return x.Balance 8368 } 8369 return 0 8370 } 8371 8372 // Deprecated: Marked as deprecated in lightning.proto. 8373 func (x *ChannelBalanceResponse) GetPendingOpenBalance() int64 { 8374 if x != nil { 8375 return x.PendingOpenBalance 8376 } 8377 return 0 8378 } 8379 8380 func (x *ChannelBalanceResponse) GetLocalBalance() *Amount { 8381 if x != nil { 8382 return x.LocalBalance 8383 } 8384 return nil 8385 } 8386 8387 func (x *ChannelBalanceResponse) GetRemoteBalance() *Amount { 8388 if x != nil { 8389 return x.RemoteBalance 8390 } 8391 return nil 8392 } 8393 8394 func (x *ChannelBalanceResponse) GetUnsettledLocalBalance() *Amount { 8395 if x != nil { 8396 return x.UnsettledLocalBalance 8397 } 8398 return nil 8399 } 8400 8401 func (x *ChannelBalanceResponse) GetUnsettledRemoteBalance() *Amount { 8402 if x != nil { 8403 return x.UnsettledRemoteBalance 8404 } 8405 return nil 8406 } 8407 8408 func (x *ChannelBalanceResponse) GetPendingOpenLocalBalance() *Amount { 8409 if x != nil { 8410 return x.PendingOpenLocalBalance 8411 } 8412 return nil 8413 } 8414 8415 func (x *ChannelBalanceResponse) GetPendingOpenRemoteBalance() *Amount { 8416 if x != nil { 8417 return x.PendingOpenRemoteBalance 8418 } 8419 return nil 8420 } 8421 8422 func (x *ChannelBalanceResponse) GetMaxInboundAmount() int64 { 8423 if x != nil { 8424 return x.MaxInboundAmount 8425 } 8426 return 0 8427 } 8428 8429 func (x *ChannelBalanceResponse) GetMaxOutboundAmount() int64 { 8430 if x != nil { 8431 return x.MaxOutboundAmount 8432 } 8433 return 0 8434 } 8435 8436 type QueryRoutesRequest struct { 8437 state protoimpl.MessageState 8438 sizeCache protoimpl.SizeCache 8439 unknownFields protoimpl.UnknownFields 8440 8441 // The 33-byte hex-encoded public key for the payment destination 8442 PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` 8443 // The amount to send expressed in atoms. 8444 // 8445 // The fields amt and amt_m_atoms are mutually exclusive. 8446 Amt int64 `protobuf:"varint,2,opt,name=amt,proto3" json:"amt,omitempty"` 8447 // The amount to send expressed in milliatoms. 8448 // 8449 // The fields amt and amt_m_atoms are mutually exclusive. 8450 AmtMAtoms int64 `protobuf:"varint,12,opt,name=amt_m_atoms,json=amtMAtoms,proto3" json:"amt_m_atoms,omitempty"` 8451 // An optional CLTV delta from the current height that should be used for the 8452 // timelock of the final hop. Note that unlike SendPayment, QueryRoutes does 8453 // not add any additional block padding on top of final_ctlv_delta. This 8454 // padding of a few blocks needs to be added manually or otherwise failures may 8455 // happen when a block comes in while the payment is in flight. 8456 FinalCltvDelta int32 `protobuf:"varint,4,opt,name=final_cltv_delta,json=finalCltvDelta,proto3" json:"final_cltv_delta,omitempty"` 8457 // The maximum number of atoms that will be paid as a fee of the payment. 8458 // This value can be represented either as a percentage of the amount being 8459 // sent, or as a fixed amount of the maximum fee the user is willing the pay to 8460 // send the payment. If not specified, lnd will use a default value of 100% 8461 // fees for small amounts (<=1k atoms) or 5% fees for larger amounts. 8462 FeeLimit *FeeLimit `protobuf:"bytes,5,opt,name=fee_limit,json=feeLimit,proto3" json:"fee_limit,omitempty"` 8463 // A list of nodes to ignore during path finding. When using REST, these fields 8464 // must be encoded as base64. 8465 IgnoredNodes [][]byte `protobuf:"bytes,6,rep,name=ignored_nodes,json=ignoredNodes,proto3" json:"ignored_nodes,omitempty"` 8466 // Deprecated. A list of edges to ignore during path finding. 8467 // 8468 // Deprecated: Marked as deprecated in lightning.proto. 8469 IgnoredEdges []*EdgeLocator `protobuf:"bytes,7,rep,name=ignored_edges,json=ignoredEdges,proto3" json:"ignored_edges,omitempty"` 8470 // The source node where the request route should originated from. If empty, 8471 // self is assumed. 8472 SourcePubKey string `protobuf:"bytes,8,opt,name=source_pub_key,json=sourcePubKey,proto3" json:"source_pub_key,omitempty"` 8473 // If set to true, edge probabilities from mission control will be used to get 8474 // the optimal route. 8475 UseMissionControl bool `protobuf:"varint,9,opt,name=use_mission_control,json=useMissionControl,proto3" json:"use_mission_control,omitempty"` 8476 // A list of directed node pairs that will be ignored during path finding. 8477 IgnoredPairs []*NodePair `protobuf:"bytes,10,rep,name=ignored_pairs,json=ignoredPairs,proto3" json:"ignored_pairs,omitempty"` 8478 // An optional maximum total time lock for the route. If the source is empty or 8479 // ourselves, this should not exceed lnd's `--max-cltv-expiry` setting. If 8480 // zero, then the value of `--max-cltv-expiry` is used as the limit. 8481 CltvLimit uint32 `protobuf:"varint,11,opt,name=cltv_limit,json=cltvLimit,proto3" json:"cltv_limit,omitempty"` 8482 // An optional field that can be used to pass an arbitrary set of TLV records 8483 // to a peer which understands the new records. This can be used to pass 8484 // application specific data during the payment attempt. If the destination 8485 // does not support the specified records, and error will be returned. 8486 // Record types are required to be in the custom range >= 65536. When using 8487 // REST, the values must be encoded as base64. 8488 DestCustomRecords map[uint64][]byte `protobuf:"bytes,13,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"` 8489 // The channel id of the channel that must be taken to the first hop. If zero, 8490 // any channel may be used. 8491 OutgoingChanId uint64 `protobuf:"varint,14,opt,name=outgoing_chan_id,json=outgoingChanId,proto3" json:"outgoing_chan_id,omitempty"` 8492 // The pubkey of the last hop of the route. If empty, any hop may be used. 8493 LastHopPubkey []byte `protobuf:"bytes,15,opt,name=last_hop_pubkey,json=lastHopPubkey,proto3" json:"last_hop_pubkey,omitempty"` 8494 // Optional route hints to reach the destination through private channels. 8495 RouteHints []*RouteHint `protobuf:"bytes,16,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` 8496 // Features assumed to be supported by the final node. All transitive feature 8497 // dependencies must also be set properly. For a given feature bit pair, either 8498 // optional or remote may be set, but not both. If this field is nil or empty, 8499 // the router will try to load destination features from the graph as a 8500 // fallback. 8501 DestFeatures []FeatureBit `protobuf:"varint,17,rep,packed,name=dest_features,json=destFeatures,proto3,enum=lnrpc.FeatureBit" json:"dest_features,omitempty"` 8502 } 8503 8504 func (x *QueryRoutesRequest) Reset() { 8505 *x = QueryRoutesRequest{} 8506 if protoimpl.UnsafeEnabled { 8507 mi := &file_lightning_proto_msgTypes[88] 8508 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8509 ms.StoreMessageInfo(mi) 8510 } 8511 } 8512 8513 func (x *QueryRoutesRequest) String() string { 8514 return protoimpl.X.MessageStringOf(x) 8515 } 8516 8517 func (*QueryRoutesRequest) ProtoMessage() {} 8518 8519 func (x *QueryRoutesRequest) ProtoReflect() protoreflect.Message { 8520 mi := &file_lightning_proto_msgTypes[88] 8521 if protoimpl.UnsafeEnabled && x != nil { 8522 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8523 if ms.LoadMessageInfo() == nil { 8524 ms.StoreMessageInfo(mi) 8525 } 8526 return ms 8527 } 8528 return mi.MessageOf(x) 8529 } 8530 8531 // Deprecated: Use QueryRoutesRequest.ProtoReflect.Descriptor instead. 8532 func (*QueryRoutesRequest) Descriptor() ([]byte, []int) { 8533 return file_lightning_proto_rawDescGZIP(), []int{88} 8534 } 8535 8536 func (x *QueryRoutesRequest) GetPubKey() string { 8537 if x != nil { 8538 return x.PubKey 8539 } 8540 return "" 8541 } 8542 8543 func (x *QueryRoutesRequest) GetAmt() int64 { 8544 if x != nil { 8545 return x.Amt 8546 } 8547 return 0 8548 } 8549 8550 func (x *QueryRoutesRequest) GetAmtMAtoms() int64 { 8551 if x != nil { 8552 return x.AmtMAtoms 8553 } 8554 return 0 8555 } 8556 8557 func (x *QueryRoutesRequest) GetFinalCltvDelta() int32 { 8558 if x != nil { 8559 return x.FinalCltvDelta 8560 } 8561 return 0 8562 } 8563 8564 func (x *QueryRoutesRequest) GetFeeLimit() *FeeLimit { 8565 if x != nil { 8566 return x.FeeLimit 8567 } 8568 return nil 8569 } 8570 8571 func (x *QueryRoutesRequest) GetIgnoredNodes() [][]byte { 8572 if x != nil { 8573 return x.IgnoredNodes 8574 } 8575 return nil 8576 } 8577 8578 // Deprecated: Marked as deprecated in lightning.proto. 8579 func (x *QueryRoutesRequest) GetIgnoredEdges() []*EdgeLocator { 8580 if x != nil { 8581 return x.IgnoredEdges 8582 } 8583 return nil 8584 } 8585 8586 func (x *QueryRoutesRequest) GetSourcePubKey() string { 8587 if x != nil { 8588 return x.SourcePubKey 8589 } 8590 return "" 8591 } 8592 8593 func (x *QueryRoutesRequest) GetUseMissionControl() bool { 8594 if x != nil { 8595 return x.UseMissionControl 8596 } 8597 return false 8598 } 8599 8600 func (x *QueryRoutesRequest) GetIgnoredPairs() []*NodePair { 8601 if x != nil { 8602 return x.IgnoredPairs 8603 } 8604 return nil 8605 } 8606 8607 func (x *QueryRoutesRequest) GetCltvLimit() uint32 { 8608 if x != nil { 8609 return x.CltvLimit 8610 } 8611 return 0 8612 } 8613 8614 func (x *QueryRoutesRequest) GetDestCustomRecords() map[uint64][]byte { 8615 if x != nil { 8616 return x.DestCustomRecords 8617 } 8618 return nil 8619 } 8620 8621 func (x *QueryRoutesRequest) GetOutgoingChanId() uint64 { 8622 if x != nil { 8623 return x.OutgoingChanId 8624 } 8625 return 0 8626 } 8627 8628 func (x *QueryRoutesRequest) GetLastHopPubkey() []byte { 8629 if x != nil { 8630 return x.LastHopPubkey 8631 } 8632 return nil 8633 } 8634 8635 func (x *QueryRoutesRequest) GetRouteHints() []*RouteHint { 8636 if x != nil { 8637 return x.RouteHints 8638 } 8639 return nil 8640 } 8641 8642 func (x *QueryRoutesRequest) GetDestFeatures() []FeatureBit { 8643 if x != nil { 8644 return x.DestFeatures 8645 } 8646 return nil 8647 } 8648 8649 type NodePair struct { 8650 state protoimpl.MessageState 8651 sizeCache protoimpl.SizeCache 8652 unknownFields protoimpl.UnknownFields 8653 8654 // The sending node of the pair. When using REST, this field must be encoded as 8655 // base64. 8656 From []byte `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` 8657 // The receiving node of the pair. When using REST, this field must be encoded 8658 // as base64. 8659 To []byte `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` 8660 } 8661 8662 func (x *NodePair) Reset() { 8663 *x = NodePair{} 8664 if protoimpl.UnsafeEnabled { 8665 mi := &file_lightning_proto_msgTypes[89] 8666 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8667 ms.StoreMessageInfo(mi) 8668 } 8669 } 8670 8671 func (x *NodePair) String() string { 8672 return protoimpl.X.MessageStringOf(x) 8673 } 8674 8675 func (*NodePair) ProtoMessage() {} 8676 8677 func (x *NodePair) ProtoReflect() protoreflect.Message { 8678 mi := &file_lightning_proto_msgTypes[89] 8679 if protoimpl.UnsafeEnabled && x != nil { 8680 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8681 if ms.LoadMessageInfo() == nil { 8682 ms.StoreMessageInfo(mi) 8683 } 8684 return ms 8685 } 8686 return mi.MessageOf(x) 8687 } 8688 8689 // Deprecated: Use NodePair.ProtoReflect.Descriptor instead. 8690 func (*NodePair) Descriptor() ([]byte, []int) { 8691 return file_lightning_proto_rawDescGZIP(), []int{89} 8692 } 8693 8694 func (x *NodePair) GetFrom() []byte { 8695 if x != nil { 8696 return x.From 8697 } 8698 return nil 8699 } 8700 8701 func (x *NodePair) GetTo() []byte { 8702 if x != nil { 8703 return x.To 8704 } 8705 return nil 8706 } 8707 8708 type EdgeLocator struct { 8709 state protoimpl.MessageState 8710 sizeCache protoimpl.SizeCache 8711 unknownFields protoimpl.UnknownFields 8712 8713 // The short channel id of this edge. 8714 ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` 8715 // The direction of this edge. If direction_reverse is false, the direction 8716 // of this edge is from the channel endpoint with the lexicographically smaller 8717 // pub key to the endpoint with the larger pub key. If direction_reverse is 8718 // is true, the edge goes the other way. 8719 DirectionReverse bool `protobuf:"varint,2,opt,name=direction_reverse,json=directionReverse,proto3" json:"direction_reverse,omitempty"` 8720 } 8721 8722 func (x *EdgeLocator) Reset() { 8723 *x = EdgeLocator{} 8724 if protoimpl.UnsafeEnabled { 8725 mi := &file_lightning_proto_msgTypes[90] 8726 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8727 ms.StoreMessageInfo(mi) 8728 } 8729 } 8730 8731 func (x *EdgeLocator) String() string { 8732 return protoimpl.X.MessageStringOf(x) 8733 } 8734 8735 func (*EdgeLocator) ProtoMessage() {} 8736 8737 func (x *EdgeLocator) ProtoReflect() protoreflect.Message { 8738 mi := &file_lightning_proto_msgTypes[90] 8739 if protoimpl.UnsafeEnabled && x != nil { 8740 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8741 if ms.LoadMessageInfo() == nil { 8742 ms.StoreMessageInfo(mi) 8743 } 8744 return ms 8745 } 8746 return mi.MessageOf(x) 8747 } 8748 8749 // Deprecated: Use EdgeLocator.ProtoReflect.Descriptor instead. 8750 func (*EdgeLocator) Descriptor() ([]byte, []int) { 8751 return file_lightning_proto_rawDescGZIP(), []int{90} 8752 } 8753 8754 func (x *EdgeLocator) GetChannelId() uint64 { 8755 if x != nil { 8756 return x.ChannelId 8757 } 8758 return 0 8759 } 8760 8761 func (x *EdgeLocator) GetDirectionReverse() bool { 8762 if x != nil { 8763 return x.DirectionReverse 8764 } 8765 return false 8766 } 8767 8768 type QueryRoutesResponse struct { 8769 state protoimpl.MessageState 8770 sizeCache protoimpl.SizeCache 8771 unknownFields protoimpl.UnknownFields 8772 8773 // The route that results from the path finding operation. This is still a 8774 // repeated field to retain backwards compatibility. 8775 Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` 8776 // The success probability of the returned route based on the current mission 8777 // control state. [EXPERIMENTAL] 8778 SuccessProb float64 `protobuf:"fixed64,2,opt,name=success_prob,json=successProb,proto3" json:"success_prob,omitempty"` 8779 } 8780 8781 func (x *QueryRoutesResponse) Reset() { 8782 *x = QueryRoutesResponse{} 8783 if protoimpl.UnsafeEnabled { 8784 mi := &file_lightning_proto_msgTypes[91] 8785 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8786 ms.StoreMessageInfo(mi) 8787 } 8788 } 8789 8790 func (x *QueryRoutesResponse) String() string { 8791 return protoimpl.X.MessageStringOf(x) 8792 } 8793 8794 func (*QueryRoutesResponse) ProtoMessage() {} 8795 8796 func (x *QueryRoutesResponse) ProtoReflect() protoreflect.Message { 8797 mi := &file_lightning_proto_msgTypes[91] 8798 if protoimpl.UnsafeEnabled && x != nil { 8799 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8800 if ms.LoadMessageInfo() == nil { 8801 ms.StoreMessageInfo(mi) 8802 } 8803 return ms 8804 } 8805 return mi.MessageOf(x) 8806 } 8807 8808 // Deprecated: Use QueryRoutesResponse.ProtoReflect.Descriptor instead. 8809 func (*QueryRoutesResponse) Descriptor() ([]byte, []int) { 8810 return file_lightning_proto_rawDescGZIP(), []int{91} 8811 } 8812 8813 func (x *QueryRoutesResponse) GetRoutes() []*Route { 8814 if x != nil { 8815 return x.Routes 8816 } 8817 return nil 8818 } 8819 8820 func (x *QueryRoutesResponse) GetSuccessProb() float64 { 8821 if x != nil { 8822 return x.SuccessProb 8823 } 8824 return 0 8825 } 8826 8827 type Hop struct { 8828 state protoimpl.MessageState 8829 sizeCache protoimpl.SizeCache 8830 unknownFields protoimpl.UnknownFields 8831 8832 // The unique channel ID for the channel. The first 3 bytes are the block 8833 // height, the next 3 the index within the block, and the last 2 bytes are the 8834 // output index for the channel. 8835 ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` 8836 // Deprecated: Marked as deprecated in lightning.proto. 8837 ChanCapacity int64 `protobuf:"varint,2,opt,name=chan_capacity,json=chanCapacity,proto3" json:"chan_capacity,omitempty"` 8838 // Deprecated: Marked as deprecated in lightning.proto. 8839 AmtToForward int64 `protobuf:"varint,3,opt,name=amt_to_forward,json=amtToForward,proto3" json:"amt_to_forward,omitempty"` 8840 // Deprecated: Marked as deprecated in lightning.proto. 8841 Fee int64 `protobuf:"varint,4,opt,name=fee,proto3" json:"fee,omitempty"` 8842 Expiry uint32 `protobuf:"varint,5,opt,name=expiry,proto3" json:"expiry,omitempty"` 8843 AmtToForwardMAtoms int64 `protobuf:"varint,6,opt,name=amt_to_forward_m_atoms,json=amtToForwardMAtoms,proto3" json:"amt_to_forward_m_atoms,omitempty"` 8844 FeeMAtoms int64 `protobuf:"varint,7,opt,name=fee_m_atoms,json=feeMAtoms,proto3" json:"fee_m_atoms,omitempty"` 8845 // An optional public key of the hop. If the public key is given, the payment 8846 // can be executed without relying on a copy of the channel graph. 8847 PubKey string `protobuf:"bytes,8,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` 8848 // If set to true, then this hop will be encoded using the new variable length 8849 // TLV format. Note that if any custom tlv_records below are specified, then 8850 // this field MUST be set to true for them to be encoded properly. 8851 // 8852 // Deprecated: Marked as deprecated in lightning.proto. 8853 TlvPayload bool `protobuf:"varint,9,opt,name=tlv_payload,json=tlvPayload,proto3" json:"tlv_payload,omitempty"` 8854 // An optional TLV record that signals the use of an MPP payment. If present, 8855 // the receiver will enforce that the same mpp_record is included in the final 8856 // hop payload of all non-zero payments in the HTLC set. If empty, a regular 8857 // single-shot payment is or was attempted. 8858 MppRecord *MPPRecord `protobuf:"bytes,10,opt,name=mpp_record,json=mppRecord,proto3" json:"mpp_record,omitempty"` 8859 // An optional TLV record that signals the use of an AMP payment. If present, 8860 // the receiver will treat all received payments including the same 8861 // (payment_addr, set_id) pair as being part of one logical payment. The 8862 // payment will be settled by XORing the root_share's together and deriving the 8863 // child hashes and preimages according to BOLT XX. Must be used in conjunction 8864 // with mpp_record. 8865 AmpRecord *AMPRecord `protobuf:"bytes,12,opt,name=amp_record,json=ampRecord,proto3" json:"amp_record,omitempty"` 8866 // An optional set of key-value TLV records. This is useful within the context 8867 // of the SendToRoute call as it allows callers to specify arbitrary K-V pairs 8868 // to drop off at each hop within the onion. 8869 CustomRecords map[uint64][]byte `protobuf:"bytes,11,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"` 8870 } 8871 8872 func (x *Hop) Reset() { 8873 *x = Hop{} 8874 if protoimpl.UnsafeEnabled { 8875 mi := &file_lightning_proto_msgTypes[92] 8876 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8877 ms.StoreMessageInfo(mi) 8878 } 8879 } 8880 8881 func (x *Hop) String() string { 8882 return protoimpl.X.MessageStringOf(x) 8883 } 8884 8885 func (*Hop) ProtoMessage() {} 8886 8887 func (x *Hop) ProtoReflect() protoreflect.Message { 8888 mi := &file_lightning_proto_msgTypes[92] 8889 if protoimpl.UnsafeEnabled && x != nil { 8890 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 8891 if ms.LoadMessageInfo() == nil { 8892 ms.StoreMessageInfo(mi) 8893 } 8894 return ms 8895 } 8896 return mi.MessageOf(x) 8897 } 8898 8899 // Deprecated: Use Hop.ProtoReflect.Descriptor instead. 8900 func (*Hop) Descriptor() ([]byte, []int) { 8901 return file_lightning_proto_rawDescGZIP(), []int{92} 8902 } 8903 8904 func (x *Hop) GetChanId() uint64 { 8905 if x != nil { 8906 return x.ChanId 8907 } 8908 return 0 8909 } 8910 8911 // Deprecated: Marked as deprecated in lightning.proto. 8912 func (x *Hop) GetChanCapacity() int64 { 8913 if x != nil { 8914 return x.ChanCapacity 8915 } 8916 return 0 8917 } 8918 8919 // Deprecated: Marked as deprecated in lightning.proto. 8920 func (x *Hop) GetAmtToForward() int64 { 8921 if x != nil { 8922 return x.AmtToForward 8923 } 8924 return 0 8925 } 8926 8927 // Deprecated: Marked as deprecated in lightning.proto. 8928 func (x *Hop) GetFee() int64 { 8929 if x != nil { 8930 return x.Fee 8931 } 8932 return 0 8933 } 8934 8935 func (x *Hop) GetExpiry() uint32 { 8936 if x != nil { 8937 return x.Expiry 8938 } 8939 return 0 8940 } 8941 8942 func (x *Hop) GetAmtToForwardMAtoms() int64 { 8943 if x != nil { 8944 return x.AmtToForwardMAtoms 8945 } 8946 return 0 8947 } 8948 8949 func (x *Hop) GetFeeMAtoms() int64 { 8950 if x != nil { 8951 return x.FeeMAtoms 8952 } 8953 return 0 8954 } 8955 8956 func (x *Hop) GetPubKey() string { 8957 if x != nil { 8958 return x.PubKey 8959 } 8960 return "" 8961 } 8962 8963 // Deprecated: Marked as deprecated in lightning.proto. 8964 func (x *Hop) GetTlvPayload() bool { 8965 if x != nil { 8966 return x.TlvPayload 8967 } 8968 return false 8969 } 8970 8971 func (x *Hop) GetMppRecord() *MPPRecord { 8972 if x != nil { 8973 return x.MppRecord 8974 } 8975 return nil 8976 } 8977 8978 func (x *Hop) GetAmpRecord() *AMPRecord { 8979 if x != nil { 8980 return x.AmpRecord 8981 } 8982 return nil 8983 } 8984 8985 func (x *Hop) GetCustomRecords() map[uint64][]byte { 8986 if x != nil { 8987 return x.CustomRecords 8988 } 8989 return nil 8990 } 8991 8992 type MPPRecord struct { 8993 state protoimpl.MessageState 8994 sizeCache protoimpl.SizeCache 8995 unknownFields protoimpl.UnknownFields 8996 8997 // A unique, random identifier used to authenticate the sender as the intended 8998 // payer of a multi-path payment. The payment_addr must be the same for all 8999 // subpayments, and match the payment_addr provided in the receiver's invoice. 9000 // The same payment_addr must be used on all subpayments. 9001 PaymentAddr []byte `protobuf:"bytes,11,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` 9002 // The total amount in milli-satoshis being sent as part of a larger multi-path 9003 // payment. The caller is responsible for ensuring subpayments to the same node 9004 // and payment_hash sum exactly to total_amt_m_atoms. The same 9005 // total_amt_m_atoms must be used on all subpayments. 9006 TotalAmtMAtoms int64 `protobuf:"varint,10,opt,name=total_amt_m_atoms,json=totalAmtMAtoms,proto3" json:"total_amt_m_atoms,omitempty"` 9007 } 9008 9009 func (x *MPPRecord) Reset() { 9010 *x = MPPRecord{} 9011 if protoimpl.UnsafeEnabled { 9012 mi := &file_lightning_proto_msgTypes[93] 9013 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9014 ms.StoreMessageInfo(mi) 9015 } 9016 } 9017 9018 func (x *MPPRecord) String() string { 9019 return protoimpl.X.MessageStringOf(x) 9020 } 9021 9022 func (*MPPRecord) ProtoMessage() {} 9023 9024 func (x *MPPRecord) ProtoReflect() protoreflect.Message { 9025 mi := &file_lightning_proto_msgTypes[93] 9026 if protoimpl.UnsafeEnabled && x != nil { 9027 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9028 if ms.LoadMessageInfo() == nil { 9029 ms.StoreMessageInfo(mi) 9030 } 9031 return ms 9032 } 9033 return mi.MessageOf(x) 9034 } 9035 9036 // Deprecated: Use MPPRecord.ProtoReflect.Descriptor instead. 9037 func (*MPPRecord) Descriptor() ([]byte, []int) { 9038 return file_lightning_proto_rawDescGZIP(), []int{93} 9039 } 9040 9041 func (x *MPPRecord) GetPaymentAddr() []byte { 9042 if x != nil { 9043 return x.PaymentAddr 9044 } 9045 return nil 9046 } 9047 9048 func (x *MPPRecord) GetTotalAmtMAtoms() int64 { 9049 if x != nil { 9050 return x.TotalAmtMAtoms 9051 } 9052 return 0 9053 } 9054 9055 type AMPRecord struct { 9056 state protoimpl.MessageState 9057 sizeCache protoimpl.SizeCache 9058 unknownFields protoimpl.UnknownFields 9059 9060 RootShare []byte `protobuf:"bytes,1,opt,name=root_share,json=rootShare,proto3" json:"root_share,omitempty"` 9061 SetId []byte `protobuf:"bytes,2,opt,name=set_id,json=setId,proto3" json:"set_id,omitempty"` 9062 ChildIndex uint32 `protobuf:"varint,3,opt,name=child_index,json=childIndex,proto3" json:"child_index,omitempty"` 9063 } 9064 9065 func (x *AMPRecord) Reset() { 9066 *x = AMPRecord{} 9067 if protoimpl.UnsafeEnabled { 9068 mi := &file_lightning_proto_msgTypes[94] 9069 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9070 ms.StoreMessageInfo(mi) 9071 } 9072 } 9073 9074 func (x *AMPRecord) String() string { 9075 return protoimpl.X.MessageStringOf(x) 9076 } 9077 9078 func (*AMPRecord) ProtoMessage() {} 9079 9080 func (x *AMPRecord) ProtoReflect() protoreflect.Message { 9081 mi := &file_lightning_proto_msgTypes[94] 9082 if protoimpl.UnsafeEnabled && x != nil { 9083 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9084 if ms.LoadMessageInfo() == nil { 9085 ms.StoreMessageInfo(mi) 9086 } 9087 return ms 9088 } 9089 return mi.MessageOf(x) 9090 } 9091 9092 // Deprecated: Use AMPRecord.ProtoReflect.Descriptor instead. 9093 func (*AMPRecord) Descriptor() ([]byte, []int) { 9094 return file_lightning_proto_rawDescGZIP(), []int{94} 9095 } 9096 9097 func (x *AMPRecord) GetRootShare() []byte { 9098 if x != nil { 9099 return x.RootShare 9100 } 9101 return nil 9102 } 9103 9104 func (x *AMPRecord) GetSetId() []byte { 9105 if x != nil { 9106 return x.SetId 9107 } 9108 return nil 9109 } 9110 9111 func (x *AMPRecord) GetChildIndex() uint32 { 9112 if x != nil { 9113 return x.ChildIndex 9114 } 9115 return 0 9116 } 9117 9118 // A path through the channel graph which runs over one or more channels in 9119 // succession. This struct carries all the information required to craft the 9120 // Sphinx onion packet, and send the payment along the first hop in the path. A 9121 // route is only selected as valid if all the channels have sufficient capacity to 9122 // carry the initial payment amount after fees are accounted for. 9123 type Route struct { 9124 state protoimpl.MessageState 9125 sizeCache protoimpl.SizeCache 9126 unknownFields protoimpl.UnknownFields 9127 9128 // The cumulative (final) time lock across the entire route. This is the CLTV 9129 // value that should be extended to the first hop in the route. All other hops 9130 // will decrement the time-lock as advertised, leaving enough time for all 9131 // hops to wait for or present the payment preimage to complete the payment. 9132 TotalTimeLock uint32 `protobuf:"varint,1,opt,name=total_time_lock,json=totalTimeLock,proto3" json:"total_time_lock,omitempty"` 9133 // The sum of the fees paid at each hop within the final route. In the case 9134 // of a one-hop payment, this value will be zero as we don't need to pay a fee 9135 // to ourselves. 9136 // 9137 // Deprecated: Marked as deprecated in lightning.proto. 9138 TotalFees int64 `protobuf:"varint,2,opt,name=total_fees,json=totalFees,proto3" json:"total_fees,omitempty"` 9139 // The total amount of funds required to complete a payment over this route. 9140 // This value includes the cumulative fees at each hop. As a result, the HTLC 9141 // extended to the first-hop in the route will need to have at least this many 9142 // atoms, otherwise the route will fail at an intermediate node due to an 9143 // insufficient amount of fees. 9144 // 9145 // Deprecated: Marked as deprecated in lightning.proto. 9146 TotalAmt int64 `protobuf:"varint,3,opt,name=total_amt,json=totalAmt,proto3" json:"total_amt,omitempty"` 9147 // Contains details concerning the specific forwarding details at each hop. 9148 Hops []*Hop `protobuf:"bytes,4,rep,name=hops,proto3" json:"hops,omitempty"` 9149 // The total fees in MilliAtoms. 9150 TotalFeesMAtoms int64 `protobuf:"varint,5,opt,name=total_fees_m_atoms,json=totalFeesMAtoms,proto3" json:"total_fees_m_atoms,omitempty"` 9151 // The total amount in MilliAtoms. 9152 TotalAmtMAtoms int64 `protobuf:"varint,6,opt,name=total_amt_m_atoms,json=totalAmtMAtoms,proto3" json:"total_amt_m_atoms,omitempty"` 9153 } 9154 9155 func (x *Route) Reset() { 9156 *x = Route{} 9157 if protoimpl.UnsafeEnabled { 9158 mi := &file_lightning_proto_msgTypes[95] 9159 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9160 ms.StoreMessageInfo(mi) 9161 } 9162 } 9163 9164 func (x *Route) String() string { 9165 return protoimpl.X.MessageStringOf(x) 9166 } 9167 9168 func (*Route) ProtoMessage() {} 9169 9170 func (x *Route) ProtoReflect() protoreflect.Message { 9171 mi := &file_lightning_proto_msgTypes[95] 9172 if protoimpl.UnsafeEnabled && x != nil { 9173 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9174 if ms.LoadMessageInfo() == nil { 9175 ms.StoreMessageInfo(mi) 9176 } 9177 return ms 9178 } 9179 return mi.MessageOf(x) 9180 } 9181 9182 // Deprecated: Use Route.ProtoReflect.Descriptor instead. 9183 func (*Route) Descriptor() ([]byte, []int) { 9184 return file_lightning_proto_rawDescGZIP(), []int{95} 9185 } 9186 9187 func (x *Route) GetTotalTimeLock() uint32 { 9188 if x != nil { 9189 return x.TotalTimeLock 9190 } 9191 return 0 9192 } 9193 9194 // Deprecated: Marked as deprecated in lightning.proto. 9195 func (x *Route) GetTotalFees() int64 { 9196 if x != nil { 9197 return x.TotalFees 9198 } 9199 return 0 9200 } 9201 9202 // Deprecated: Marked as deprecated in lightning.proto. 9203 func (x *Route) GetTotalAmt() int64 { 9204 if x != nil { 9205 return x.TotalAmt 9206 } 9207 return 0 9208 } 9209 9210 func (x *Route) GetHops() []*Hop { 9211 if x != nil { 9212 return x.Hops 9213 } 9214 return nil 9215 } 9216 9217 func (x *Route) GetTotalFeesMAtoms() int64 { 9218 if x != nil { 9219 return x.TotalFeesMAtoms 9220 } 9221 return 0 9222 } 9223 9224 func (x *Route) GetTotalAmtMAtoms() int64 { 9225 if x != nil { 9226 return x.TotalAmtMAtoms 9227 } 9228 return 0 9229 } 9230 9231 type NodeInfoRequest struct { 9232 state protoimpl.MessageState 9233 sizeCache protoimpl.SizeCache 9234 unknownFields protoimpl.UnknownFields 9235 9236 // The 33-byte hex-encoded compressed public of the target node 9237 PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` 9238 // If true, will include all known channels associated with the node. 9239 IncludeChannels bool `protobuf:"varint,2,opt,name=include_channels,json=includeChannels,proto3" json:"include_channels,omitempty"` 9240 } 9241 9242 func (x *NodeInfoRequest) Reset() { 9243 *x = NodeInfoRequest{} 9244 if protoimpl.UnsafeEnabled { 9245 mi := &file_lightning_proto_msgTypes[96] 9246 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9247 ms.StoreMessageInfo(mi) 9248 } 9249 } 9250 9251 func (x *NodeInfoRequest) String() string { 9252 return protoimpl.X.MessageStringOf(x) 9253 } 9254 9255 func (*NodeInfoRequest) ProtoMessage() {} 9256 9257 func (x *NodeInfoRequest) ProtoReflect() protoreflect.Message { 9258 mi := &file_lightning_proto_msgTypes[96] 9259 if protoimpl.UnsafeEnabled && x != nil { 9260 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9261 if ms.LoadMessageInfo() == nil { 9262 ms.StoreMessageInfo(mi) 9263 } 9264 return ms 9265 } 9266 return mi.MessageOf(x) 9267 } 9268 9269 // Deprecated: Use NodeInfoRequest.ProtoReflect.Descriptor instead. 9270 func (*NodeInfoRequest) Descriptor() ([]byte, []int) { 9271 return file_lightning_proto_rawDescGZIP(), []int{96} 9272 } 9273 9274 func (x *NodeInfoRequest) GetPubKey() string { 9275 if x != nil { 9276 return x.PubKey 9277 } 9278 return "" 9279 } 9280 9281 func (x *NodeInfoRequest) GetIncludeChannels() bool { 9282 if x != nil { 9283 return x.IncludeChannels 9284 } 9285 return false 9286 } 9287 9288 type NodeInfo struct { 9289 state protoimpl.MessageState 9290 sizeCache protoimpl.SizeCache 9291 unknownFields protoimpl.UnknownFields 9292 9293 // An individual vertex/node within the channel graph. A node is 9294 // connected to other nodes by one or more channel edges emanating from it. As 9295 // the graph is directed, a node will also have an incoming edge attached to 9296 // it for each outgoing edge. 9297 Node *LightningNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` 9298 // The total number of channels for the node. 9299 NumChannels uint32 `protobuf:"varint,2,opt,name=num_channels,json=numChannels,proto3" json:"num_channels,omitempty"` 9300 // The sum of all channels capacity for the node, denominated in satoshis. 9301 TotalCapacity int64 `protobuf:"varint,3,opt,name=total_capacity,json=totalCapacity,proto3" json:"total_capacity,omitempty"` 9302 // A list of all public channels for the node. 9303 Channels []*ChannelEdge `protobuf:"bytes,4,rep,name=channels,proto3" json:"channels,omitempty"` 9304 } 9305 9306 func (x *NodeInfo) Reset() { 9307 *x = NodeInfo{} 9308 if protoimpl.UnsafeEnabled { 9309 mi := &file_lightning_proto_msgTypes[97] 9310 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9311 ms.StoreMessageInfo(mi) 9312 } 9313 } 9314 9315 func (x *NodeInfo) String() string { 9316 return protoimpl.X.MessageStringOf(x) 9317 } 9318 9319 func (*NodeInfo) ProtoMessage() {} 9320 9321 func (x *NodeInfo) ProtoReflect() protoreflect.Message { 9322 mi := &file_lightning_proto_msgTypes[97] 9323 if protoimpl.UnsafeEnabled && x != nil { 9324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9325 if ms.LoadMessageInfo() == nil { 9326 ms.StoreMessageInfo(mi) 9327 } 9328 return ms 9329 } 9330 return mi.MessageOf(x) 9331 } 9332 9333 // Deprecated: Use NodeInfo.ProtoReflect.Descriptor instead. 9334 func (*NodeInfo) Descriptor() ([]byte, []int) { 9335 return file_lightning_proto_rawDescGZIP(), []int{97} 9336 } 9337 9338 func (x *NodeInfo) GetNode() *LightningNode { 9339 if x != nil { 9340 return x.Node 9341 } 9342 return nil 9343 } 9344 9345 func (x *NodeInfo) GetNumChannels() uint32 { 9346 if x != nil { 9347 return x.NumChannels 9348 } 9349 return 0 9350 } 9351 9352 func (x *NodeInfo) GetTotalCapacity() int64 { 9353 if x != nil { 9354 return x.TotalCapacity 9355 } 9356 return 0 9357 } 9358 9359 func (x *NodeInfo) GetChannels() []*ChannelEdge { 9360 if x != nil { 9361 return x.Channels 9362 } 9363 return nil 9364 } 9365 9366 // An individual vertex/node within the channel graph. A node is 9367 // connected to other nodes by one or more channel edges emanating from it. As the 9368 // graph is directed, a node will also have an incoming edge attached to it for 9369 // each outgoing edge. 9370 type LightningNode struct { 9371 state protoimpl.MessageState 9372 sizeCache protoimpl.SizeCache 9373 unknownFields protoimpl.UnknownFields 9374 9375 LastUpdate uint32 `protobuf:"varint,1,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` 9376 PubKey string `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` 9377 Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` 9378 Addresses []*NodeAddress `protobuf:"bytes,4,rep,name=addresses,proto3" json:"addresses,omitempty"` 9379 Color string `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"` 9380 Features map[uint32]*Feature `protobuf:"bytes,6,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 9381 } 9382 9383 func (x *LightningNode) Reset() { 9384 *x = LightningNode{} 9385 if protoimpl.UnsafeEnabled { 9386 mi := &file_lightning_proto_msgTypes[98] 9387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9388 ms.StoreMessageInfo(mi) 9389 } 9390 } 9391 9392 func (x *LightningNode) String() string { 9393 return protoimpl.X.MessageStringOf(x) 9394 } 9395 9396 func (*LightningNode) ProtoMessage() {} 9397 9398 func (x *LightningNode) ProtoReflect() protoreflect.Message { 9399 mi := &file_lightning_proto_msgTypes[98] 9400 if protoimpl.UnsafeEnabled && x != nil { 9401 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9402 if ms.LoadMessageInfo() == nil { 9403 ms.StoreMessageInfo(mi) 9404 } 9405 return ms 9406 } 9407 return mi.MessageOf(x) 9408 } 9409 9410 // Deprecated: Use LightningNode.ProtoReflect.Descriptor instead. 9411 func (*LightningNode) Descriptor() ([]byte, []int) { 9412 return file_lightning_proto_rawDescGZIP(), []int{98} 9413 } 9414 9415 func (x *LightningNode) GetLastUpdate() uint32 { 9416 if x != nil { 9417 return x.LastUpdate 9418 } 9419 return 0 9420 } 9421 9422 func (x *LightningNode) GetPubKey() string { 9423 if x != nil { 9424 return x.PubKey 9425 } 9426 return "" 9427 } 9428 9429 func (x *LightningNode) GetAlias() string { 9430 if x != nil { 9431 return x.Alias 9432 } 9433 return "" 9434 } 9435 9436 func (x *LightningNode) GetAddresses() []*NodeAddress { 9437 if x != nil { 9438 return x.Addresses 9439 } 9440 return nil 9441 } 9442 9443 func (x *LightningNode) GetColor() string { 9444 if x != nil { 9445 return x.Color 9446 } 9447 return "" 9448 } 9449 9450 func (x *LightningNode) GetFeatures() map[uint32]*Feature { 9451 if x != nil { 9452 return x.Features 9453 } 9454 return nil 9455 } 9456 9457 type NodeAddress struct { 9458 state protoimpl.MessageState 9459 sizeCache protoimpl.SizeCache 9460 unknownFields protoimpl.UnknownFields 9461 9462 Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` 9463 Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` 9464 } 9465 9466 func (x *NodeAddress) Reset() { 9467 *x = NodeAddress{} 9468 if protoimpl.UnsafeEnabled { 9469 mi := &file_lightning_proto_msgTypes[99] 9470 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9471 ms.StoreMessageInfo(mi) 9472 } 9473 } 9474 9475 func (x *NodeAddress) String() string { 9476 return protoimpl.X.MessageStringOf(x) 9477 } 9478 9479 func (*NodeAddress) ProtoMessage() {} 9480 9481 func (x *NodeAddress) ProtoReflect() protoreflect.Message { 9482 mi := &file_lightning_proto_msgTypes[99] 9483 if protoimpl.UnsafeEnabled && x != nil { 9484 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9485 if ms.LoadMessageInfo() == nil { 9486 ms.StoreMessageInfo(mi) 9487 } 9488 return ms 9489 } 9490 return mi.MessageOf(x) 9491 } 9492 9493 // Deprecated: Use NodeAddress.ProtoReflect.Descriptor instead. 9494 func (*NodeAddress) Descriptor() ([]byte, []int) { 9495 return file_lightning_proto_rawDescGZIP(), []int{99} 9496 } 9497 9498 func (x *NodeAddress) GetNetwork() string { 9499 if x != nil { 9500 return x.Network 9501 } 9502 return "" 9503 } 9504 9505 func (x *NodeAddress) GetAddr() string { 9506 if x != nil { 9507 return x.Addr 9508 } 9509 return "" 9510 } 9511 9512 type RoutingPolicy struct { 9513 state protoimpl.MessageState 9514 sizeCache protoimpl.SizeCache 9515 unknownFields protoimpl.UnknownFields 9516 9517 TimeLockDelta uint32 `protobuf:"varint,1,opt,name=time_lock_delta,json=timeLockDelta,proto3" json:"time_lock_delta,omitempty"` 9518 MinHtlc int64 `protobuf:"varint,2,opt,name=min_htlc,json=minHtlc,proto3" json:"min_htlc,omitempty"` 9519 FeeBaseMAtoms int64 `protobuf:"varint,3,opt,name=fee_base_m_atoms,json=feeBaseMAtoms,proto3" json:"fee_base_m_atoms,omitempty"` 9520 FeeRateMilliMAtoms int64 `protobuf:"varint,4,opt,name=fee_rate_milli_m_atoms,json=feeRateMilliMAtoms,proto3" json:"fee_rate_milli_m_atoms,omitempty"` 9521 Disabled bool `protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"` 9522 MaxHtlcMAtoms uint64 `protobuf:"varint,6,opt,name=max_htlc_m_atoms,json=maxHtlcMAtoms,proto3" json:"max_htlc_m_atoms,omitempty"` 9523 LastUpdate uint32 `protobuf:"varint,7,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` 9524 } 9525 9526 func (x *RoutingPolicy) Reset() { 9527 *x = RoutingPolicy{} 9528 if protoimpl.UnsafeEnabled { 9529 mi := &file_lightning_proto_msgTypes[100] 9530 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9531 ms.StoreMessageInfo(mi) 9532 } 9533 } 9534 9535 func (x *RoutingPolicy) String() string { 9536 return protoimpl.X.MessageStringOf(x) 9537 } 9538 9539 func (*RoutingPolicy) ProtoMessage() {} 9540 9541 func (x *RoutingPolicy) ProtoReflect() protoreflect.Message { 9542 mi := &file_lightning_proto_msgTypes[100] 9543 if protoimpl.UnsafeEnabled && x != nil { 9544 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9545 if ms.LoadMessageInfo() == nil { 9546 ms.StoreMessageInfo(mi) 9547 } 9548 return ms 9549 } 9550 return mi.MessageOf(x) 9551 } 9552 9553 // Deprecated: Use RoutingPolicy.ProtoReflect.Descriptor instead. 9554 func (*RoutingPolicy) Descriptor() ([]byte, []int) { 9555 return file_lightning_proto_rawDescGZIP(), []int{100} 9556 } 9557 9558 func (x *RoutingPolicy) GetTimeLockDelta() uint32 { 9559 if x != nil { 9560 return x.TimeLockDelta 9561 } 9562 return 0 9563 } 9564 9565 func (x *RoutingPolicy) GetMinHtlc() int64 { 9566 if x != nil { 9567 return x.MinHtlc 9568 } 9569 return 0 9570 } 9571 9572 func (x *RoutingPolicy) GetFeeBaseMAtoms() int64 { 9573 if x != nil { 9574 return x.FeeBaseMAtoms 9575 } 9576 return 0 9577 } 9578 9579 func (x *RoutingPolicy) GetFeeRateMilliMAtoms() int64 { 9580 if x != nil { 9581 return x.FeeRateMilliMAtoms 9582 } 9583 return 0 9584 } 9585 9586 func (x *RoutingPolicy) GetDisabled() bool { 9587 if x != nil { 9588 return x.Disabled 9589 } 9590 return false 9591 } 9592 9593 func (x *RoutingPolicy) GetMaxHtlcMAtoms() uint64 { 9594 if x != nil { 9595 return x.MaxHtlcMAtoms 9596 } 9597 return 0 9598 } 9599 9600 func (x *RoutingPolicy) GetLastUpdate() uint32 { 9601 if x != nil { 9602 return x.LastUpdate 9603 } 9604 return 0 9605 } 9606 9607 type EnforceNodePingRequest struct { 9608 state protoimpl.MessageState 9609 sizeCache protoimpl.SizeCache 9610 unknownFields protoimpl.UnknownFields 9611 9612 // The node pub key in hexadecimal format. 9613 PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` 9614 } 9615 9616 func (x *EnforceNodePingRequest) Reset() { 9617 *x = EnforceNodePingRequest{} 9618 if protoimpl.UnsafeEnabled { 9619 mi := &file_lightning_proto_msgTypes[101] 9620 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9621 ms.StoreMessageInfo(mi) 9622 } 9623 } 9624 9625 func (x *EnforceNodePingRequest) String() string { 9626 return protoimpl.X.MessageStringOf(x) 9627 } 9628 9629 func (*EnforceNodePingRequest) ProtoMessage() {} 9630 9631 func (x *EnforceNodePingRequest) ProtoReflect() protoreflect.Message { 9632 mi := &file_lightning_proto_msgTypes[101] 9633 if protoimpl.UnsafeEnabled && x != nil { 9634 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9635 if ms.LoadMessageInfo() == nil { 9636 ms.StoreMessageInfo(mi) 9637 } 9638 return ms 9639 } 9640 return mi.MessageOf(x) 9641 } 9642 9643 // Deprecated: Use EnforceNodePingRequest.ProtoReflect.Descriptor instead. 9644 func (*EnforceNodePingRequest) Descriptor() ([]byte, []int) { 9645 return file_lightning_proto_rawDescGZIP(), []int{101} 9646 } 9647 9648 func (x *EnforceNodePingRequest) GetPubKey() string { 9649 if x != nil { 9650 return x.PubKey 9651 } 9652 return "" 9653 } 9654 9655 type EnforceNodePingResponse struct { 9656 state protoimpl.MessageState 9657 sizeCache protoimpl.SizeCache 9658 unknownFields protoimpl.UnknownFields 9659 9660 // Roud Trip Time (RTT) in microseconds to the peer. 9661 PingTimeMicro int64 `protobuf:"varint,1,opt,name=ping_time_micro,json=pingTimeMicro,proto3" json:"ping_time_micro,omitempty"` 9662 } 9663 9664 func (x *EnforceNodePingResponse) Reset() { 9665 *x = EnforceNodePingResponse{} 9666 if protoimpl.UnsafeEnabled { 9667 mi := &file_lightning_proto_msgTypes[102] 9668 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9669 ms.StoreMessageInfo(mi) 9670 } 9671 } 9672 9673 func (x *EnforceNodePingResponse) String() string { 9674 return protoimpl.X.MessageStringOf(x) 9675 } 9676 9677 func (*EnforceNodePingResponse) ProtoMessage() {} 9678 9679 func (x *EnforceNodePingResponse) ProtoReflect() protoreflect.Message { 9680 mi := &file_lightning_proto_msgTypes[102] 9681 if protoimpl.UnsafeEnabled && x != nil { 9682 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9683 if ms.LoadMessageInfo() == nil { 9684 ms.StoreMessageInfo(mi) 9685 } 9686 return ms 9687 } 9688 return mi.MessageOf(x) 9689 } 9690 9691 // Deprecated: Use EnforceNodePingResponse.ProtoReflect.Descriptor instead. 9692 func (*EnforceNodePingResponse) Descriptor() ([]byte, []int) { 9693 return file_lightning_proto_rawDescGZIP(), []int{102} 9694 } 9695 9696 func (x *EnforceNodePingResponse) GetPingTimeMicro() int64 { 9697 if x != nil { 9698 return x.PingTimeMicro 9699 } 9700 return 0 9701 } 9702 9703 // A fully authenticated channel along with all its unique attributes. 9704 // Once an authenticated channel announcement has been processed on the network, 9705 // then an instance of ChannelEdgeInfo encapsulating the channels attributes is 9706 // stored. The other portions relevant to routing policy of a channel are stored 9707 // within a ChannelEdgePolicy for each direction of the channel. 9708 type ChannelEdge struct { 9709 state protoimpl.MessageState 9710 sizeCache protoimpl.SizeCache 9711 unknownFields protoimpl.UnknownFields 9712 9713 // The unique channel ID for the channel. The first 3 bytes are the block 9714 // height, the next 3 the index within the block, and the last 2 bytes are the 9715 // output index for the channel. 9716 ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` 9717 ChanPoint string `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` 9718 // Deprecated: Marked as deprecated in lightning.proto. 9719 LastUpdate uint32 `protobuf:"varint,3,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` 9720 Node1Pub string `protobuf:"bytes,4,opt,name=node1_pub,json=node1Pub,proto3" json:"node1_pub,omitempty"` 9721 Node2Pub string `protobuf:"bytes,5,opt,name=node2_pub,json=node2Pub,proto3" json:"node2_pub,omitempty"` 9722 Capacity int64 `protobuf:"varint,6,opt,name=capacity,proto3" json:"capacity,omitempty"` 9723 Node1Policy *RoutingPolicy `protobuf:"bytes,7,opt,name=node1_policy,json=node1Policy,proto3" json:"node1_policy,omitempty"` 9724 Node2Policy *RoutingPolicy `protobuf:"bytes,8,opt,name=node2_policy,json=node2Policy,proto3" json:"node2_policy,omitempty"` 9725 } 9726 9727 func (x *ChannelEdge) Reset() { 9728 *x = ChannelEdge{} 9729 if protoimpl.UnsafeEnabled { 9730 mi := &file_lightning_proto_msgTypes[103] 9731 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9732 ms.StoreMessageInfo(mi) 9733 } 9734 } 9735 9736 func (x *ChannelEdge) String() string { 9737 return protoimpl.X.MessageStringOf(x) 9738 } 9739 9740 func (*ChannelEdge) ProtoMessage() {} 9741 9742 func (x *ChannelEdge) ProtoReflect() protoreflect.Message { 9743 mi := &file_lightning_proto_msgTypes[103] 9744 if protoimpl.UnsafeEnabled && x != nil { 9745 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9746 if ms.LoadMessageInfo() == nil { 9747 ms.StoreMessageInfo(mi) 9748 } 9749 return ms 9750 } 9751 return mi.MessageOf(x) 9752 } 9753 9754 // Deprecated: Use ChannelEdge.ProtoReflect.Descriptor instead. 9755 func (*ChannelEdge) Descriptor() ([]byte, []int) { 9756 return file_lightning_proto_rawDescGZIP(), []int{103} 9757 } 9758 9759 func (x *ChannelEdge) GetChannelId() uint64 { 9760 if x != nil { 9761 return x.ChannelId 9762 } 9763 return 0 9764 } 9765 9766 func (x *ChannelEdge) GetChanPoint() string { 9767 if x != nil { 9768 return x.ChanPoint 9769 } 9770 return "" 9771 } 9772 9773 // Deprecated: Marked as deprecated in lightning.proto. 9774 func (x *ChannelEdge) GetLastUpdate() uint32 { 9775 if x != nil { 9776 return x.LastUpdate 9777 } 9778 return 0 9779 } 9780 9781 func (x *ChannelEdge) GetNode1Pub() string { 9782 if x != nil { 9783 return x.Node1Pub 9784 } 9785 return "" 9786 } 9787 9788 func (x *ChannelEdge) GetNode2Pub() string { 9789 if x != nil { 9790 return x.Node2Pub 9791 } 9792 return "" 9793 } 9794 9795 func (x *ChannelEdge) GetCapacity() int64 { 9796 if x != nil { 9797 return x.Capacity 9798 } 9799 return 0 9800 } 9801 9802 func (x *ChannelEdge) GetNode1Policy() *RoutingPolicy { 9803 if x != nil { 9804 return x.Node1Policy 9805 } 9806 return nil 9807 } 9808 9809 func (x *ChannelEdge) GetNode2Policy() *RoutingPolicy { 9810 if x != nil { 9811 return x.Node2Policy 9812 } 9813 return nil 9814 } 9815 9816 type ChannelGraphRequest struct { 9817 state protoimpl.MessageState 9818 sizeCache protoimpl.SizeCache 9819 unknownFields protoimpl.UnknownFields 9820 9821 // Whether unannounced channels are included in the response or not. If set, 9822 // unannounced channels are included. Unannounced channels are both private 9823 // channels, and public channels that are not yet announced to the network. 9824 IncludeUnannounced bool `protobuf:"varint,1,opt,name=include_unannounced,json=includeUnannounced,proto3" json:"include_unannounced,omitempty"` 9825 } 9826 9827 func (x *ChannelGraphRequest) Reset() { 9828 *x = ChannelGraphRequest{} 9829 if protoimpl.UnsafeEnabled { 9830 mi := &file_lightning_proto_msgTypes[104] 9831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9832 ms.StoreMessageInfo(mi) 9833 } 9834 } 9835 9836 func (x *ChannelGraphRequest) String() string { 9837 return protoimpl.X.MessageStringOf(x) 9838 } 9839 9840 func (*ChannelGraphRequest) ProtoMessage() {} 9841 9842 func (x *ChannelGraphRequest) ProtoReflect() protoreflect.Message { 9843 mi := &file_lightning_proto_msgTypes[104] 9844 if protoimpl.UnsafeEnabled && x != nil { 9845 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9846 if ms.LoadMessageInfo() == nil { 9847 ms.StoreMessageInfo(mi) 9848 } 9849 return ms 9850 } 9851 return mi.MessageOf(x) 9852 } 9853 9854 // Deprecated: Use ChannelGraphRequest.ProtoReflect.Descriptor instead. 9855 func (*ChannelGraphRequest) Descriptor() ([]byte, []int) { 9856 return file_lightning_proto_rawDescGZIP(), []int{104} 9857 } 9858 9859 func (x *ChannelGraphRequest) GetIncludeUnannounced() bool { 9860 if x != nil { 9861 return x.IncludeUnannounced 9862 } 9863 return false 9864 } 9865 9866 // Returns a new instance of the directed channel graph. 9867 type ChannelGraph struct { 9868 state protoimpl.MessageState 9869 sizeCache protoimpl.SizeCache 9870 unknownFields protoimpl.UnknownFields 9871 9872 // The list of `LightningNode`s in this channel graph 9873 Nodes []*LightningNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` 9874 // The list of `ChannelEdge`s in this channel graph 9875 Edges []*ChannelEdge `protobuf:"bytes,2,rep,name=edges,proto3" json:"edges,omitempty"` 9876 } 9877 9878 func (x *ChannelGraph) Reset() { 9879 *x = ChannelGraph{} 9880 if protoimpl.UnsafeEnabled { 9881 mi := &file_lightning_proto_msgTypes[105] 9882 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9883 ms.StoreMessageInfo(mi) 9884 } 9885 } 9886 9887 func (x *ChannelGraph) String() string { 9888 return protoimpl.X.MessageStringOf(x) 9889 } 9890 9891 func (*ChannelGraph) ProtoMessage() {} 9892 9893 func (x *ChannelGraph) ProtoReflect() protoreflect.Message { 9894 mi := &file_lightning_proto_msgTypes[105] 9895 if protoimpl.UnsafeEnabled && x != nil { 9896 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9897 if ms.LoadMessageInfo() == nil { 9898 ms.StoreMessageInfo(mi) 9899 } 9900 return ms 9901 } 9902 return mi.MessageOf(x) 9903 } 9904 9905 // Deprecated: Use ChannelGraph.ProtoReflect.Descriptor instead. 9906 func (*ChannelGraph) Descriptor() ([]byte, []int) { 9907 return file_lightning_proto_rawDescGZIP(), []int{105} 9908 } 9909 9910 func (x *ChannelGraph) GetNodes() []*LightningNode { 9911 if x != nil { 9912 return x.Nodes 9913 } 9914 return nil 9915 } 9916 9917 func (x *ChannelGraph) GetEdges() []*ChannelEdge { 9918 if x != nil { 9919 return x.Edges 9920 } 9921 return nil 9922 } 9923 9924 type NodeMetricsRequest struct { 9925 state protoimpl.MessageState 9926 sizeCache protoimpl.SizeCache 9927 unknownFields protoimpl.UnknownFields 9928 9929 // The requested node metrics. 9930 Types []NodeMetricType `protobuf:"varint,1,rep,packed,name=types,proto3,enum=lnrpc.NodeMetricType" json:"types,omitempty"` 9931 } 9932 9933 func (x *NodeMetricsRequest) Reset() { 9934 *x = NodeMetricsRequest{} 9935 if protoimpl.UnsafeEnabled { 9936 mi := &file_lightning_proto_msgTypes[106] 9937 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9938 ms.StoreMessageInfo(mi) 9939 } 9940 } 9941 9942 func (x *NodeMetricsRequest) String() string { 9943 return protoimpl.X.MessageStringOf(x) 9944 } 9945 9946 func (*NodeMetricsRequest) ProtoMessage() {} 9947 9948 func (x *NodeMetricsRequest) ProtoReflect() protoreflect.Message { 9949 mi := &file_lightning_proto_msgTypes[106] 9950 if protoimpl.UnsafeEnabled && x != nil { 9951 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9952 if ms.LoadMessageInfo() == nil { 9953 ms.StoreMessageInfo(mi) 9954 } 9955 return ms 9956 } 9957 return mi.MessageOf(x) 9958 } 9959 9960 // Deprecated: Use NodeMetricsRequest.ProtoReflect.Descriptor instead. 9961 func (*NodeMetricsRequest) Descriptor() ([]byte, []int) { 9962 return file_lightning_proto_rawDescGZIP(), []int{106} 9963 } 9964 9965 func (x *NodeMetricsRequest) GetTypes() []NodeMetricType { 9966 if x != nil { 9967 return x.Types 9968 } 9969 return nil 9970 } 9971 9972 type NodeMetricsResponse struct { 9973 state protoimpl.MessageState 9974 sizeCache protoimpl.SizeCache 9975 unknownFields protoimpl.UnknownFields 9976 9977 // Betweenness centrality is the sum of the ratio of shortest paths that pass 9978 // through the node for each pair of nodes in the graph (not counting paths 9979 // starting or ending at this node). 9980 // Map of node pubkey to betweenness centrality of the node. Normalized 9981 // values are in the [0,1] closed interval. 9982 BetweennessCentrality map[string]*FloatMetric `protobuf:"bytes,1,rep,name=betweenness_centrality,json=betweennessCentrality,proto3" json:"betweenness_centrality,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 9983 } 9984 9985 func (x *NodeMetricsResponse) Reset() { 9986 *x = NodeMetricsResponse{} 9987 if protoimpl.UnsafeEnabled { 9988 mi := &file_lightning_proto_msgTypes[107] 9989 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 9990 ms.StoreMessageInfo(mi) 9991 } 9992 } 9993 9994 func (x *NodeMetricsResponse) String() string { 9995 return protoimpl.X.MessageStringOf(x) 9996 } 9997 9998 func (*NodeMetricsResponse) ProtoMessage() {} 9999 10000 func (x *NodeMetricsResponse) ProtoReflect() protoreflect.Message { 10001 mi := &file_lightning_proto_msgTypes[107] 10002 if protoimpl.UnsafeEnabled && x != nil { 10003 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10004 if ms.LoadMessageInfo() == nil { 10005 ms.StoreMessageInfo(mi) 10006 } 10007 return ms 10008 } 10009 return mi.MessageOf(x) 10010 } 10011 10012 // Deprecated: Use NodeMetricsResponse.ProtoReflect.Descriptor instead. 10013 func (*NodeMetricsResponse) Descriptor() ([]byte, []int) { 10014 return file_lightning_proto_rawDescGZIP(), []int{107} 10015 } 10016 10017 func (x *NodeMetricsResponse) GetBetweennessCentrality() map[string]*FloatMetric { 10018 if x != nil { 10019 return x.BetweennessCentrality 10020 } 10021 return nil 10022 } 10023 10024 type FloatMetric struct { 10025 state protoimpl.MessageState 10026 sizeCache protoimpl.SizeCache 10027 unknownFields protoimpl.UnknownFields 10028 10029 // Arbitrary float value. 10030 Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` 10031 // The value normalized to [0,1] or [-1,1]. 10032 NormalizedValue float64 `protobuf:"fixed64,2,opt,name=normalized_value,json=normalizedValue,proto3" json:"normalized_value,omitempty"` 10033 } 10034 10035 func (x *FloatMetric) Reset() { 10036 *x = FloatMetric{} 10037 if protoimpl.UnsafeEnabled { 10038 mi := &file_lightning_proto_msgTypes[108] 10039 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10040 ms.StoreMessageInfo(mi) 10041 } 10042 } 10043 10044 func (x *FloatMetric) String() string { 10045 return protoimpl.X.MessageStringOf(x) 10046 } 10047 10048 func (*FloatMetric) ProtoMessage() {} 10049 10050 func (x *FloatMetric) ProtoReflect() protoreflect.Message { 10051 mi := &file_lightning_proto_msgTypes[108] 10052 if protoimpl.UnsafeEnabled && x != nil { 10053 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10054 if ms.LoadMessageInfo() == nil { 10055 ms.StoreMessageInfo(mi) 10056 } 10057 return ms 10058 } 10059 return mi.MessageOf(x) 10060 } 10061 10062 // Deprecated: Use FloatMetric.ProtoReflect.Descriptor instead. 10063 func (*FloatMetric) Descriptor() ([]byte, []int) { 10064 return file_lightning_proto_rawDescGZIP(), []int{108} 10065 } 10066 10067 func (x *FloatMetric) GetValue() float64 { 10068 if x != nil { 10069 return x.Value 10070 } 10071 return 0 10072 } 10073 10074 func (x *FloatMetric) GetNormalizedValue() float64 { 10075 if x != nil { 10076 return x.NormalizedValue 10077 } 10078 return 0 10079 } 10080 10081 type ChanInfoRequest struct { 10082 state protoimpl.MessageState 10083 sizeCache protoimpl.SizeCache 10084 unknownFields protoimpl.UnknownFields 10085 10086 // The unique channel ID for the channel. The first 3 bytes are the block 10087 // height, the next 3 the index within the block, and the last 2 bytes are the 10088 // output index for the channel. 10089 ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` 10090 } 10091 10092 func (x *ChanInfoRequest) Reset() { 10093 *x = ChanInfoRequest{} 10094 if protoimpl.UnsafeEnabled { 10095 mi := &file_lightning_proto_msgTypes[109] 10096 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10097 ms.StoreMessageInfo(mi) 10098 } 10099 } 10100 10101 func (x *ChanInfoRequest) String() string { 10102 return protoimpl.X.MessageStringOf(x) 10103 } 10104 10105 func (*ChanInfoRequest) ProtoMessage() {} 10106 10107 func (x *ChanInfoRequest) ProtoReflect() protoreflect.Message { 10108 mi := &file_lightning_proto_msgTypes[109] 10109 if protoimpl.UnsafeEnabled && x != nil { 10110 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10111 if ms.LoadMessageInfo() == nil { 10112 ms.StoreMessageInfo(mi) 10113 } 10114 return ms 10115 } 10116 return mi.MessageOf(x) 10117 } 10118 10119 // Deprecated: Use ChanInfoRequest.ProtoReflect.Descriptor instead. 10120 func (*ChanInfoRequest) Descriptor() ([]byte, []int) { 10121 return file_lightning_proto_rawDescGZIP(), []int{109} 10122 } 10123 10124 func (x *ChanInfoRequest) GetChanId() uint64 { 10125 if x != nil { 10126 return x.ChanId 10127 } 10128 return 0 10129 } 10130 10131 type NetworkInfoRequest struct { 10132 state protoimpl.MessageState 10133 sizeCache protoimpl.SizeCache 10134 unknownFields protoimpl.UnknownFields 10135 } 10136 10137 func (x *NetworkInfoRequest) Reset() { 10138 *x = NetworkInfoRequest{} 10139 if protoimpl.UnsafeEnabled { 10140 mi := &file_lightning_proto_msgTypes[110] 10141 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10142 ms.StoreMessageInfo(mi) 10143 } 10144 } 10145 10146 func (x *NetworkInfoRequest) String() string { 10147 return protoimpl.X.MessageStringOf(x) 10148 } 10149 10150 func (*NetworkInfoRequest) ProtoMessage() {} 10151 10152 func (x *NetworkInfoRequest) ProtoReflect() protoreflect.Message { 10153 mi := &file_lightning_proto_msgTypes[110] 10154 if protoimpl.UnsafeEnabled && x != nil { 10155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10156 if ms.LoadMessageInfo() == nil { 10157 ms.StoreMessageInfo(mi) 10158 } 10159 return ms 10160 } 10161 return mi.MessageOf(x) 10162 } 10163 10164 // Deprecated: Use NetworkInfoRequest.ProtoReflect.Descriptor instead. 10165 func (*NetworkInfoRequest) Descriptor() ([]byte, []int) { 10166 return file_lightning_proto_rawDescGZIP(), []int{110} 10167 } 10168 10169 type NetworkInfo struct { 10170 state protoimpl.MessageState 10171 sizeCache protoimpl.SizeCache 10172 unknownFields protoimpl.UnknownFields 10173 10174 GraphDiameter uint32 `protobuf:"varint,1,opt,name=graph_diameter,json=graphDiameter,proto3" json:"graph_diameter,omitempty"` 10175 AvgOutDegree float64 `protobuf:"fixed64,2,opt,name=avg_out_degree,json=avgOutDegree,proto3" json:"avg_out_degree,omitempty"` 10176 MaxOutDegree uint32 `protobuf:"varint,3,opt,name=max_out_degree,json=maxOutDegree,proto3" json:"max_out_degree,omitempty"` 10177 NumNodes uint32 `protobuf:"varint,4,opt,name=num_nodes,json=numNodes,proto3" json:"num_nodes,omitempty"` 10178 NumChannels uint32 `protobuf:"varint,5,opt,name=num_channels,json=numChannels,proto3" json:"num_channels,omitempty"` 10179 TotalNetworkCapacity int64 `protobuf:"varint,6,opt,name=total_network_capacity,json=totalNetworkCapacity,proto3" json:"total_network_capacity,omitempty"` 10180 AvgChannelSize float64 `protobuf:"fixed64,7,opt,name=avg_channel_size,json=avgChannelSize,proto3" json:"avg_channel_size,omitempty"` 10181 MinChannelSize int64 `protobuf:"varint,8,opt,name=min_channel_size,json=minChannelSize,proto3" json:"min_channel_size,omitempty"` 10182 MaxChannelSize int64 `protobuf:"varint,9,opt,name=max_channel_size,json=maxChannelSize,proto3" json:"max_channel_size,omitempty"` 10183 MedianChannelSizeSat int64 `protobuf:"varint,10,opt,name=median_channel_size_sat,json=medianChannelSizeSat,proto3" json:"median_channel_size_sat,omitempty"` 10184 // The number of edges marked as zombies. 10185 NumZombieChans uint64 `protobuf:"varint,11,opt,name=num_zombie_chans,json=numZombieChans,proto3" json:"num_zombie_chans,omitempty"` 10186 } 10187 10188 func (x *NetworkInfo) Reset() { 10189 *x = NetworkInfo{} 10190 if protoimpl.UnsafeEnabled { 10191 mi := &file_lightning_proto_msgTypes[111] 10192 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10193 ms.StoreMessageInfo(mi) 10194 } 10195 } 10196 10197 func (x *NetworkInfo) String() string { 10198 return protoimpl.X.MessageStringOf(x) 10199 } 10200 10201 func (*NetworkInfo) ProtoMessage() {} 10202 10203 func (x *NetworkInfo) ProtoReflect() protoreflect.Message { 10204 mi := &file_lightning_proto_msgTypes[111] 10205 if protoimpl.UnsafeEnabled && x != nil { 10206 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10207 if ms.LoadMessageInfo() == nil { 10208 ms.StoreMessageInfo(mi) 10209 } 10210 return ms 10211 } 10212 return mi.MessageOf(x) 10213 } 10214 10215 // Deprecated: Use NetworkInfo.ProtoReflect.Descriptor instead. 10216 func (*NetworkInfo) Descriptor() ([]byte, []int) { 10217 return file_lightning_proto_rawDescGZIP(), []int{111} 10218 } 10219 10220 func (x *NetworkInfo) GetGraphDiameter() uint32 { 10221 if x != nil { 10222 return x.GraphDiameter 10223 } 10224 return 0 10225 } 10226 10227 func (x *NetworkInfo) GetAvgOutDegree() float64 { 10228 if x != nil { 10229 return x.AvgOutDegree 10230 } 10231 return 0 10232 } 10233 10234 func (x *NetworkInfo) GetMaxOutDegree() uint32 { 10235 if x != nil { 10236 return x.MaxOutDegree 10237 } 10238 return 0 10239 } 10240 10241 func (x *NetworkInfo) GetNumNodes() uint32 { 10242 if x != nil { 10243 return x.NumNodes 10244 } 10245 return 0 10246 } 10247 10248 func (x *NetworkInfo) GetNumChannels() uint32 { 10249 if x != nil { 10250 return x.NumChannels 10251 } 10252 return 0 10253 } 10254 10255 func (x *NetworkInfo) GetTotalNetworkCapacity() int64 { 10256 if x != nil { 10257 return x.TotalNetworkCapacity 10258 } 10259 return 0 10260 } 10261 10262 func (x *NetworkInfo) GetAvgChannelSize() float64 { 10263 if x != nil { 10264 return x.AvgChannelSize 10265 } 10266 return 0 10267 } 10268 10269 func (x *NetworkInfo) GetMinChannelSize() int64 { 10270 if x != nil { 10271 return x.MinChannelSize 10272 } 10273 return 0 10274 } 10275 10276 func (x *NetworkInfo) GetMaxChannelSize() int64 { 10277 if x != nil { 10278 return x.MaxChannelSize 10279 } 10280 return 0 10281 } 10282 10283 func (x *NetworkInfo) GetMedianChannelSizeSat() int64 { 10284 if x != nil { 10285 return x.MedianChannelSizeSat 10286 } 10287 return 0 10288 } 10289 10290 func (x *NetworkInfo) GetNumZombieChans() uint64 { 10291 if x != nil { 10292 return x.NumZombieChans 10293 } 10294 return 0 10295 } 10296 10297 type StopRequest struct { 10298 state protoimpl.MessageState 10299 sizeCache protoimpl.SizeCache 10300 unknownFields protoimpl.UnknownFields 10301 } 10302 10303 func (x *StopRequest) Reset() { 10304 *x = StopRequest{} 10305 if protoimpl.UnsafeEnabled { 10306 mi := &file_lightning_proto_msgTypes[112] 10307 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10308 ms.StoreMessageInfo(mi) 10309 } 10310 } 10311 10312 func (x *StopRequest) String() string { 10313 return protoimpl.X.MessageStringOf(x) 10314 } 10315 10316 func (*StopRequest) ProtoMessage() {} 10317 10318 func (x *StopRequest) ProtoReflect() protoreflect.Message { 10319 mi := &file_lightning_proto_msgTypes[112] 10320 if protoimpl.UnsafeEnabled && x != nil { 10321 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10322 if ms.LoadMessageInfo() == nil { 10323 ms.StoreMessageInfo(mi) 10324 } 10325 return ms 10326 } 10327 return mi.MessageOf(x) 10328 } 10329 10330 // Deprecated: Use StopRequest.ProtoReflect.Descriptor instead. 10331 func (*StopRequest) Descriptor() ([]byte, []int) { 10332 return file_lightning_proto_rawDescGZIP(), []int{112} 10333 } 10334 10335 type StopResponse struct { 10336 state protoimpl.MessageState 10337 sizeCache protoimpl.SizeCache 10338 unknownFields protoimpl.UnknownFields 10339 } 10340 10341 func (x *StopResponse) Reset() { 10342 *x = StopResponse{} 10343 if protoimpl.UnsafeEnabled { 10344 mi := &file_lightning_proto_msgTypes[113] 10345 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10346 ms.StoreMessageInfo(mi) 10347 } 10348 } 10349 10350 func (x *StopResponse) String() string { 10351 return protoimpl.X.MessageStringOf(x) 10352 } 10353 10354 func (*StopResponse) ProtoMessage() {} 10355 10356 func (x *StopResponse) ProtoReflect() protoreflect.Message { 10357 mi := &file_lightning_proto_msgTypes[113] 10358 if protoimpl.UnsafeEnabled && x != nil { 10359 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10360 if ms.LoadMessageInfo() == nil { 10361 ms.StoreMessageInfo(mi) 10362 } 10363 return ms 10364 } 10365 return mi.MessageOf(x) 10366 } 10367 10368 // Deprecated: Use StopResponse.ProtoReflect.Descriptor instead. 10369 func (*StopResponse) Descriptor() ([]byte, []int) { 10370 return file_lightning_proto_rawDescGZIP(), []int{113} 10371 } 10372 10373 type GraphTopologySubscription struct { 10374 state protoimpl.MessageState 10375 sizeCache protoimpl.SizeCache 10376 unknownFields protoimpl.UnknownFields 10377 } 10378 10379 func (x *GraphTopologySubscription) Reset() { 10380 *x = GraphTopologySubscription{} 10381 if protoimpl.UnsafeEnabled { 10382 mi := &file_lightning_proto_msgTypes[114] 10383 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10384 ms.StoreMessageInfo(mi) 10385 } 10386 } 10387 10388 func (x *GraphTopologySubscription) String() string { 10389 return protoimpl.X.MessageStringOf(x) 10390 } 10391 10392 func (*GraphTopologySubscription) ProtoMessage() {} 10393 10394 func (x *GraphTopologySubscription) ProtoReflect() protoreflect.Message { 10395 mi := &file_lightning_proto_msgTypes[114] 10396 if protoimpl.UnsafeEnabled && x != nil { 10397 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10398 if ms.LoadMessageInfo() == nil { 10399 ms.StoreMessageInfo(mi) 10400 } 10401 return ms 10402 } 10403 return mi.MessageOf(x) 10404 } 10405 10406 // Deprecated: Use GraphTopologySubscription.ProtoReflect.Descriptor instead. 10407 func (*GraphTopologySubscription) Descriptor() ([]byte, []int) { 10408 return file_lightning_proto_rawDescGZIP(), []int{114} 10409 } 10410 10411 type GraphTopologyUpdate struct { 10412 state protoimpl.MessageState 10413 sizeCache protoimpl.SizeCache 10414 unknownFields protoimpl.UnknownFields 10415 10416 NodeUpdates []*NodeUpdate `protobuf:"bytes,1,rep,name=node_updates,json=nodeUpdates,proto3" json:"node_updates,omitempty"` 10417 ChannelUpdates []*ChannelEdgeUpdate `protobuf:"bytes,2,rep,name=channel_updates,json=channelUpdates,proto3" json:"channel_updates,omitempty"` 10418 ClosedChans []*ClosedChannelUpdate `protobuf:"bytes,3,rep,name=closed_chans,json=closedChans,proto3" json:"closed_chans,omitempty"` 10419 } 10420 10421 func (x *GraphTopologyUpdate) Reset() { 10422 *x = GraphTopologyUpdate{} 10423 if protoimpl.UnsafeEnabled { 10424 mi := &file_lightning_proto_msgTypes[115] 10425 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10426 ms.StoreMessageInfo(mi) 10427 } 10428 } 10429 10430 func (x *GraphTopologyUpdate) String() string { 10431 return protoimpl.X.MessageStringOf(x) 10432 } 10433 10434 func (*GraphTopologyUpdate) ProtoMessage() {} 10435 10436 func (x *GraphTopologyUpdate) ProtoReflect() protoreflect.Message { 10437 mi := &file_lightning_proto_msgTypes[115] 10438 if protoimpl.UnsafeEnabled && x != nil { 10439 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10440 if ms.LoadMessageInfo() == nil { 10441 ms.StoreMessageInfo(mi) 10442 } 10443 return ms 10444 } 10445 return mi.MessageOf(x) 10446 } 10447 10448 // Deprecated: Use GraphTopologyUpdate.ProtoReflect.Descriptor instead. 10449 func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) { 10450 return file_lightning_proto_rawDescGZIP(), []int{115} 10451 } 10452 10453 func (x *GraphTopologyUpdate) GetNodeUpdates() []*NodeUpdate { 10454 if x != nil { 10455 return x.NodeUpdates 10456 } 10457 return nil 10458 } 10459 10460 func (x *GraphTopologyUpdate) GetChannelUpdates() []*ChannelEdgeUpdate { 10461 if x != nil { 10462 return x.ChannelUpdates 10463 } 10464 return nil 10465 } 10466 10467 func (x *GraphTopologyUpdate) GetClosedChans() []*ClosedChannelUpdate { 10468 if x != nil { 10469 return x.ClosedChans 10470 } 10471 return nil 10472 } 10473 10474 type NodeUpdate struct { 10475 state protoimpl.MessageState 10476 sizeCache protoimpl.SizeCache 10477 unknownFields protoimpl.UnknownFields 10478 10479 // Deprecated, use node_addresses. 10480 // 10481 // Deprecated: Marked as deprecated in lightning.proto. 10482 Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` 10483 IdentityKey string `protobuf:"bytes,2,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` 10484 // Deprecated, use features. 10485 // 10486 // Deprecated: Marked as deprecated in lightning.proto. 10487 GlobalFeatures []byte `protobuf:"bytes,3,opt,name=global_features,json=globalFeatures,proto3" json:"global_features,omitempty"` 10488 Alias string `protobuf:"bytes,4,opt,name=alias,proto3" json:"alias,omitempty"` 10489 Color string `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"` 10490 NodeAddresses []*NodeAddress `protobuf:"bytes,7,rep,name=node_addresses,json=nodeAddresses,proto3" json:"node_addresses,omitempty"` 10491 // Features that the node has advertised in the init message, node 10492 // announcements and invoices. 10493 Features map[uint32]*Feature `protobuf:"bytes,6,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 10494 } 10495 10496 func (x *NodeUpdate) Reset() { 10497 *x = NodeUpdate{} 10498 if protoimpl.UnsafeEnabled { 10499 mi := &file_lightning_proto_msgTypes[116] 10500 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10501 ms.StoreMessageInfo(mi) 10502 } 10503 } 10504 10505 func (x *NodeUpdate) String() string { 10506 return protoimpl.X.MessageStringOf(x) 10507 } 10508 10509 func (*NodeUpdate) ProtoMessage() {} 10510 10511 func (x *NodeUpdate) ProtoReflect() protoreflect.Message { 10512 mi := &file_lightning_proto_msgTypes[116] 10513 if protoimpl.UnsafeEnabled && x != nil { 10514 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10515 if ms.LoadMessageInfo() == nil { 10516 ms.StoreMessageInfo(mi) 10517 } 10518 return ms 10519 } 10520 return mi.MessageOf(x) 10521 } 10522 10523 // Deprecated: Use NodeUpdate.ProtoReflect.Descriptor instead. 10524 func (*NodeUpdate) Descriptor() ([]byte, []int) { 10525 return file_lightning_proto_rawDescGZIP(), []int{116} 10526 } 10527 10528 // Deprecated: Marked as deprecated in lightning.proto. 10529 func (x *NodeUpdate) GetAddresses() []string { 10530 if x != nil { 10531 return x.Addresses 10532 } 10533 return nil 10534 } 10535 10536 func (x *NodeUpdate) GetIdentityKey() string { 10537 if x != nil { 10538 return x.IdentityKey 10539 } 10540 return "" 10541 } 10542 10543 // Deprecated: Marked as deprecated in lightning.proto. 10544 func (x *NodeUpdate) GetGlobalFeatures() []byte { 10545 if x != nil { 10546 return x.GlobalFeatures 10547 } 10548 return nil 10549 } 10550 10551 func (x *NodeUpdate) GetAlias() string { 10552 if x != nil { 10553 return x.Alias 10554 } 10555 return "" 10556 } 10557 10558 func (x *NodeUpdate) GetColor() string { 10559 if x != nil { 10560 return x.Color 10561 } 10562 return "" 10563 } 10564 10565 func (x *NodeUpdate) GetNodeAddresses() []*NodeAddress { 10566 if x != nil { 10567 return x.NodeAddresses 10568 } 10569 return nil 10570 } 10571 10572 func (x *NodeUpdate) GetFeatures() map[uint32]*Feature { 10573 if x != nil { 10574 return x.Features 10575 } 10576 return nil 10577 } 10578 10579 type ChannelEdgeUpdate struct { 10580 state protoimpl.MessageState 10581 sizeCache protoimpl.SizeCache 10582 unknownFields protoimpl.UnknownFields 10583 10584 // The unique channel ID for the channel. The first 3 bytes are the block 10585 // height, the next 3 the index within the block, and the last 2 bytes are the 10586 // output index for the channel. 10587 ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` 10588 ChanPoint *ChannelPoint `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` 10589 Capacity int64 `protobuf:"varint,3,opt,name=capacity,proto3" json:"capacity,omitempty"` 10590 RoutingPolicy *RoutingPolicy `protobuf:"bytes,4,opt,name=routing_policy,json=routingPolicy,proto3" json:"routing_policy,omitempty"` 10591 AdvertisingNode string `protobuf:"bytes,5,opt,name=advertising_node,json=advertisingNode,proto3" json:"advertising_node,omitempty"` 10592 ConnectingNode string `protobuf:"bytes,6,opt,name=connecting_node,json=connectingNode,proto3" json:"connecting_node,omitempty"` 10593 } 10594 10595 func (x *ChannelEdgeUpdate) Reset() { 10596 *x = ChannelEdgeUpdate{} 10597 if protoimpl.UnsafeEnabled { 10598 mi := &file_lightning_proto_msgTypes[117] 10599 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10600 ms.StoreMessageInfo(mi) 10601 } 10602 } 10603 10604 func (x *ChannelEdgeUpdate) String() string { 10605 return protoimpl.X.MessageStringOf(x) 10606 } 10607 10608 func (*ChannelEdgeUpdate) ProtoMessage() {} 10609 10610 func (x *ChannelEdgeUpdate) ProtoReflect() protoreflect.Message { 10611 mi := &file_lightning_proto_msgTypes[117] 10612 if protoimpl.UnsafeEnabled && x != nil { 10613 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10614 if ms.LoadMessageInfo() == nil { 10615 ms.StoreMessageInfo(mi) 10616 } 10617 return ms 10618 } 10619 return mi.MessageOf(x) 10620 } 10621 10622 // Deprecated: Use ChannelEdgeUpdate.ProtoReflect.Descriptor instead. 10623 func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) { 10624 return file_lightning_proto_rawDescGZIP(), []int{117} 10625 } 10626 10627 func (x *ChannelEdgeUpdate) GetChanId() uint64 { 10628 if x != nil { 10629 return x.ChanId 10630 } 10631 return 0 10632 } 10633 10634 func (x *ChannelEdgeUpdate) GetChanPoint() *ChannelPoint { 10635 if x != nil { 10636 return x.ChanPoint 10637 } 10638 return nil 10639 } 10640 10641 func (x *ChannelEdgeUpdate) GetCapacity() int64 { 10642 if x != nil { 10643 return x.Capacity 10644 } 10645 return 0 10646 } 10647 10648 func (x *ChannelEdgeUpdate) GetRoutingPolicy() *RoutingPolicy { 10649 if x != nil { 10650 return x.RoutingPolicy 10651 } 10652 return nil 10653 } 10654 10655 func (x *ChannelEdgeUpdate) GetAdvertisingNode() string { 10656 if x != nil { 10657 return x.AdvertisingNode 10658 } 10659 return "" 10660 } 10661 10662 func (x *ChannelEdgeUpdate) GetConnectingNode() string { 10663 if x != nil { 10664 return x.ConnectingNode 10665 } 10666 return "" 10667 } 10668 10669 type ClosedChannelUpdate struct { 10670 state protoimpl.MessageState 10671 sizeCache protoimpl.SizeCache 10672 unknownFields protoimpl.UnknownFields 10673 10674 // The unique channel ID for the channel. The first 3 bytes are the block 10675 // height, the next 3 the index within the block, and the last 2 bytes are the 10676 // output index for the channel. 10677 ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` 10678 Capacity int64 `protobuf:"varint,2,opt,name=capacity,proto3" json:"capacity,omitempty"` 10679 ClosedHeight uint32 `protobuf:"varint,3,opt,name=closed_height,json=closedHeight,proto3" json:"closed_height,omitempty"` 10680 ChanPoint *ChannelPoint `protobuf:"bytes,4,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` 10681 } 10682 10683 func (x *ClosedChannelUpdate) Reset() { 10684 *x = ClosedChannelUpdate{} 10685 if protoimpl.UnsafeEnabled { 10686 mi := &file_lightning_proto_msgTypes[118] 10687 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10688 ms.StoreMessageInfo(mi) 10689 } 10690 } 10691 10692 func (x *ClosedChannelUpdate) String() string { 10693 return protoimpl.X.MessageStringOf(x) 10694 } 10695 10696 func (*ClosedChannelUpdate) ProtoMessage() {} 10697 10698 func (x *ClosedChannelUpdate) ProtoReflect() protoreflect.Message { 10699 mi := &file_lightning_proto_msgTypes[118] 10700 if protoimpl.UnsafeEnabled && x != nil { 10701 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10702 if ms.LoadMessageInfo() == nil { 10703 ms.StoreMessageInfo(mi) 10704 } 10705 return ms 10706 } 10707 return mi.MessageOf(x) 10708 } 10709 10710 // Deprecated: Use ClosedChannelUpdate.ProtoReflect.Descriptor instead. 10711 func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) { 10712 return file_lightning_proto_rawDescGZIP(), []int{118} 10713 } 10714 10715 func (x *ClosedChannelUpdate) GetChanId() uint64 { 10716 if x != nil { 10717 return x.ChanId 10718 } 10719 return 0 10720 } 10721 10722 func (x *ClosedChannelUpdate) GetCapacity() int64 { 10723 if x != nil { 10724 return x.Capacity 10725 } 10726 return 0 10727 } 10728 10729 func (x *ClosedChannelUpdate) GetClosedHeight() uint32 { 10730 if x != nil { 10731 return x.ClosedHeight 10732 } 10733 return 0 10734 } 10735 10736 func (x *ClosedChannelUpdate) GetChanPoint() *ChannelPoint { 10737 if x != nil { 10738 return x.ChanPoint 10739 } 10740 return nil 10741 } 10742 10743 type HopHint struct { 10744 state protoimpl.MessageState 10745 sizeCache protoimpl.SizeCache 10746 unknownFields protoimpl.UnknownFields 10747 10748 // The public key of the node at the start of the channel. 10749 NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` 10750 // The unique identifier of the channel. 10751 ChanId uint64 `protobuf:"varint,2,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` 10752 // The base fee of the channel denominated in MilliAtoms. 10753 FeeBaseMAtoms uint32 `protobuf:"varint,3,opt,name=fee_base_m_atoms,json=feeBaseMAtoms,proto3" json:"fee_base_m_atoms,omitempty"` 10754 // The fee rate of the channel for sending one atom across it denominated in 10755 // millionths of a atom. 10756 FeeProportionalMillionths uint32 `protobuf:"varint,4,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3" json:"fee_proportional_millionths,omitempty"` 10757 // The time-lock delta of the channel. 10758 CltvExpiryDelta uint32 `protobuf:"varint,5,opt,name=cltv_expiry_delta,json=cltvExpiryDelta,proto3" json:"cltv_expiry_delta,omitempty"` 10759 } 10760 10761 func (x *HopHint) Reset() { 10762 *x = HopHint{} 10763 if protoimpl.UnsafeEnabled { 10764 mi := &file_lightning_proto_msgTypes[119] 10765 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10766 ms.StoreMessageInfo(mi) 10767 } 10768 } 10769 10770 func (x *HopHint) String() string { 10771 return protoimpl.X.MessageStringOf(x) 10772 } 10773 10774 func (*HopHint) ProtoMessage() {} 10775 10776 func (x *HopHint) ProtoReflect() protoreflect.Message { 10777 mi := &file_lightning_proto_msgTypes[119] 10778 if protoimpl.UnsafeEnabled && x != nil { 10779 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10780 if ms.LoadMessageInfo() == nil { 10781 ms.StoreMessageInfo(mi) 10782 } 10783 return ms 10784 } 10785 return mi.MessageOf(x) 10786 } 10787 10788 // Deprecated: Use HopHint.ProtoReflect.Descriptor instead. 10789 func (*HopHint) Descriptor() ([]byte, []int) { 10790 return file_lightning_proto_rawDescGZIP(), []int{119} 10791 } 10792 10793 func (x *HopHint) GetNodeId() string { 10794 if x != nil { 10795 return x.NodeId 10796 } 10797 return "" 10798 } 10799 10800 func (x *HopHint) GetChanId() uint64 { 10801 if x != nil { 10802 return x.ChanId 10803 } 10804 return 0 10805 } 10806 10807 func (x *HopHint) GetFeeBaseMAtoms() uint32 { 10808 if x != nil { 10809 return x.FeeBaseMAtoms 10810 } 10811 return 0 10812 } 10813 10814 func (x *HopHint) GetFeeProportionalMillionths() uint32 { 10815 if x != nil { 10816 return x.FeeProportionalMillionths 10817 } 10818 return 0 10819 } 10820 10821 func (x *HopHint) GetCltvExpiryDelta() uint32 { 10822 if x != nil { 10823 return x.CltvExpiryDelta 10824 } 10825 return 0 10826 } 10827 10828 type SetID struct { 10829 state protoimpl.MessageState 10830 sizeCache protoimpl.SizeCache 10831 unknownFields protoimpl.UnknownFields 10832 10833 SetId []byte `protobuf:"bytes,1,opt,name=set_id,json=setId,proto3" json:"set_id,omitempty"` 10834 } 10835 10836 func (x *SetID) Reset() { 10837 *x = SetID{} 10838 if protoimpl.UnsafeEnabled { 10839 mi := &file_lightning_proto_msgTypes[120] 10840 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10841 ms.StoreMessageInfo(mi) 10842 } 10843 } 10844 10845 func (x *SetID) String() string { 10846 return protoimpl.X.MessageStringOf(x) 10847 } 10848 10849 func (*SetID) ProtoMessage() {} 10850 10851 func (x *SetID) ProtoReflect() protoreflect.Message { 10852 mi := &file_lightning_proto_msgTypes[120] 10853 if protoimpl.UnsafeEnabled && x != nil { 10854 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10855 if ms.LoadMessageInfo() == nil { 10856 ms.StoreMessageInfo(mi) 10857 } 10858 return ms 10859 } 10860 return mi.MessageOf(x) 10861 } 10862 10863 // Deprecated: Use SetID.ProtoReflect.Descriptor instead. 10864 func (*SetID) Descriptor() ([]byte, []int) { 10865 return file_lightning_proto_rawDescGZIP(), []int{120} 10866 } 10867 10868 func (x *SetID) GetSetId() []byte { 10869 if x != nil { 10870 return x.SetId 10871 } 10872 return nil 10873 } 10874 10875 type RouteHint struct { 10876 state protoimpl.MessageState 10877 sizeCache protoimpl.SizeCache 10878 unknownFields protoimpl.UnknownFields 10879 10880 // A list of hop hints that when chained together can assist in reaching a 10881 // specific destination. 10882 HopHints []*HopHint `protobuf:"bytes,1,rep,name=hop_hints,json=hopHints,proto3" json:"hop_hints,omitempty"` 10883 } 10884 10885 func (x *RouteHint) Reset() { 10886 *x = RouteHint{} 10887 if protoimpl.UnsafeEnabled { 10888 mi := &file_lightning_proto_msgTypes[121] 10889 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10890 ms.StoreMessageInfo(mi) 10891 } 10892 } 10893 10894 func (x *RouteHint) String() string { 10895 return protoimpl.X.MessageStringOf(x) 10896 } 10897 10898 func (*RouteHint) ProtoMessage() {} 10899 10900 func (x *RouteHint) ProtoReflect() protoreflect.Message { 10901 mi := &file_lightning_proto_msgTypes[121] 10902 if protoimpl.UnsafeEnabled && x != nil { 10903 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10904 if ms.LoadMessageInfo() == nil { 10905 ms.StoreMessageInfo(mi) 10906 } 10907 return ms 10908 } 10909 return mi.MessageOf(x) 10910 } 10911 10912 // Deprecated: Use RouteHint.ProtoReflect.Descriptor instead. 10913 func (*RouteHint) Descriptor() ([]byte, []int) { 10914 return file_lightning_proto_rawDescGZIP(), []int{121} 10915 } 10916 10917 func (x *RouteHint) GetHopHints() []*HopHint { 10918 if x != nil { 10919 return x.HopHints 10920 } 10921 return nil 10922 } 10923 10924 type AMPInvoiceState struct { 10925 state protoimpl.MessageState 10926 sizeCache protoimpl.SizeCache 10927 unknownFields protoimpl.UnknownFields 10928 10929 // The state the HTLCs associated with this setID are in. 10930 State InvoiceHTLCState `protobuf:"varint,1,opt,name=state,proto3,enum=lnrpc.InvoiceHTLCState" json:"state,omitempty"` 10931 // The settle index of this HTLC set, if the invoice state is settled. 10932 SettleIndex uint64 `protobuf:"varint,2,opt,name=settle_index,json=settleIndex,proto3" json:"settle_index,omitempty"` 10933 // The time this HTLC set was settled expressed in unix epoch. 10934 SettleTime int64 `protobuf:"varint,3,opt,name=settle_time,json=settleTime,proto3" json:"settle_time,omitempty"` 10935 // The total amount paid for the sub-invoice expressed in milli atoms. 10936 AmtPaidMAtoms int64 `protobuf:"varint,5,opt,name=amt_paid_m_atoms,json=amtPaidMAtoms,proto3" json:"amt_paid_m_atoms,omitempty"` 10937 } 10938 10939 func (x *AMPInvoiceState) Reset() { 10940 *x = AMPInvoiceState{} 10941 if protoimpl.UnsafeEnabled { 10942 mi := &file_lightning_proto_msgTypes[122] 10943 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10944 ms.StoreMessageInfo(mi) 10945 } 10946 } 10947 10948 func (x *AMPInvoiceState) String() string { 10949 return protoimpl.X.MessageStringOf(x) 10950 } 10951 10952 func (*AMPInvoiceState) ProtoMessage() {} 10953 10954 func (x *AMPInvoiceState) ProtoReflect() protoreflect.Message { 10955 mi := &file_lightning_proto_msgTypes[122] 10956 if protoimpl.UnsafeEnabled && x != nil { 10957 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 10958 if ms.LoadMessageInfo() == nil { 10959 ms.StoreMessageInfo(mi) 10960 } 10961 return ms 10962 } 10963 return mi.MessageOf(x) 10964 } 10965 10966 // Deprecated: Use AMPInvoiceState.ProtoReflect.Descriptor instead. 10967 func (*AMPInvoiceState) Descriptor() ([]byte, []int) { 10968 return file_lightning_proto_rawDescGZIP(), []int{122} 10969 } 10970 10971 func (x *AMPInvoiceState) GetState() InvoiceHTLCState { 10972 if x != nil { 10973 return x.State 10974 } 10975 return InvoiceHTLCState_ACCEPTED 10976 } 10977 10978 func (x *AMPInvoiceState) GetSettleIndex() uint64 { 10979 if x != nil { 10980 return x.SettleIndex 10981 } 10982 return 0 10983 } 10984 10985 func (x *AMPInvoiceState) GetSettleTime() int64 { 10986 if x != nil { 10987 return x.SettleTime 10988 } 10989 return 0 10990 } 10991 10992 func (x *AMPInvoiceState) GetAmtPaidMAtoms() int64 { 10993 if x != nil { 10994 return x.AmtPaidMAtoms 10995 } 10996 return 0 10997 } 10998 10999 type Invoice struct { 11000 state protoimpl.MessageState 11001 sizeCache protoimpl.SizeCache 11002 unknownFields protoimpl.UnknownFields 11003 11004 // An optional memo to attach along with the invoice. Used for record keeping 11005 // purposes for the invoice's creator, and will also be set in the description 11006 // field of the encoded payment request if the description_hash field is not 11007 // being used. 11008 Memo string `protobuf:"bytes,1,opt,name=memo,proto3" json:"memo,omitempty"` 11009 // The hex-encoded preimage (32 byte) which will allow settling an incoming 11010 // HTLC payable to this preimage. When using REST, this field must be encoded 11011 // as base64. 11012 RPreimage []byte `protobuf:"bytes,3,opt,name=r_preimage,json=rPreimage,proto3" json:"r_preimage,omitempty"` 11013 // The hash of the preimage. When using REST, this field must be encoded as 11014 // base64. 11015 RHash []byte `protobuf:"bytes,4,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"` 11016 // The value of this invoice in atoms. 11017 // 11018 // The fields value and value_msat are mutually exclusive. 11019 Value int64 `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"` 11020 // The value of this invoice in milliatoms. 11021 // 11022 // The fields value and value_msat are mutually exclusive. 11023 ValueMAtoms int64 `protobuf:"varint,23,opt,name=value_m_atoms,json=valueMAtoms,proto3" json:"value_m_atoms,omitempty"` 11024 // Whether this invoice has been fulfilled 11025 // 11026 // Deprecated: Marked as deprecated in lightning.proto. 11027 Settled bool `protobuf:"varint,6,opt,name=settled,proto3" json:"settled,omitempty"` 11028 // When this invoice was created 11029 CreationDate int64 `protobuf:"varint,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` 11030 // When this invoice was settled 11031 SettleDate int64 `protobuf:"varint,8,opt,name=settle_date,json=settleDate,proto3" json:"settle_date,omitempty"` 11032 // A bare-bones invoice for a payment within the Lightning Network. With the 11033 // details of the invoice, the sender has all the data necessary to send a 11034 // payment to the recipient. 11035 PaymentRequest string `protobuf:"bytes,9,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"` 11036 // Hash (SHA-256) of a description of the payment. Used if the description of 11037 // payment (memo) is too long to naturally fit within the description field 11038 // of an encoded payment request. When using REST, this field must be encoded 11039 // as base64. 11040 DescriptionHash []byte `protobuf:"bytes,10,opt,name=description_hash,json=descriptionHash,proto3" json:"description_hash,omitempty"` 11041 // Payment request expiry time in seconds. Default is 3600 (1 hour). 11042 Expiry int64 `protobuf:"varint,11,opt,name=expiry,proto3" json:"expiry,omitempty"` 11043 // Fallback on-chain address. 11044 FallbackAddr string `protobuf:"bytes,12,opt,name=fallback_addr,json=fallbackAddr,proto3" json:"fallback_addr,omitempty"` 11045 // Delta to use for the time-lock of the CLTV extended to the final hop. 11046 CltvExpiry uint64 `protobuf:"varint,13,opt,name=cltv_expiry,json=cltvExpiry,proto3" json:"cltv_expiry,omitempty"` 11047 // Route hints that can each be individually used to assist in reaching the 11048 // invoice's destination. 11049 RouteHints []*RouteHint `protobuf:"bytes,14,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` 11050 // Whether this invoice should include routing hints for private channels. 11051 Private bool `protobuf:"varint,15,opt,name=private,proto3" json:"private,omitempty"` 11052 // The "add" index of this invoice. Each newly created invoice will increment 11053 // this index making it monotonically increasing. Callers to the 11054 // SubscribeInvoices call can use this to instantly get notified of all added 11055 // invoices with an add_index greater than this one. 11056 AddIndex uint64 `protobuf:"varint,16,opt,name=add_index,json=addIndex,proto3" json:"add_index,omitempty"` 11057 // The "settle" index of this invoice. Each newly settled invoice will 11058 // increment this index making it monotonically increasing. Callers to the 11059 // SubscribeInvoices call can use this to instantly get notified of all 11060 // settled invoices with an settle_index greater than this one. 11061 SettleIndex uint64 `protobuf:"varint,17,opt,name=settle_index,json=settleIndex,proto3" json:"settle_index,omitempty"` 11062 // Deprecated, use amt_paid_atoms or amt_paid_m_atoms. 11063 AmtPaid int64 `protobuf:"varint,18,opt,name=amt_paid,json=amtPaid,proto3" json:"amt_paid,omitempty"` 11064 // The amount that was accepted for this invoice, in atoms. This will ONLY 11065 // be set if this invoice has been settled. We provide this field as if the 11066 // invoice was created with a zero value, then we need to record what amount 11067 // was ultimately accepted. Additionally, it's possible that the sender paid 11068 // MORE that was specified in the original invoice. So we'll record that here 11069 // as well. 11070 AmtPaidAtoms int64 `protobuf:"varint,19,opt,name=amt_paid_atoms,json=amtPaidAtoms,proto3" json:"amt_paid_atoms,omitempty"` 11071 // The amount that was accepted for this invoice, in MilliAtoms. This will 11072 // ONLY be set if this invoice has been settled. We provide this field as if 11073 // the invoice was created with a zero value, then we need to record what 11074 // amount was ultimately accepted. Additionally, it's possible that the sender 11075 // paid MORE that was specified in the original invoice. So we'll record that 11076 // here as well. 11077 AmtPaidMAtoms int64 `protobuf:"varint,20,opt,name=amt_paid_m_atoms,json=amtPaidMAtoms,proto3" json:"amt_paid_m_atoms,omitempty"` 11078 // The state the invoice is in. 11079 State Invoice_InvoiceState `protobuf:"varint,21,opt,name=state,proto3,enum=lnrpc.Invoice_InvoiceState" json:"state,omitempty"` 11080 // List of HTLCs paying to this invoice [EXPERIMENTAL]. 11081 Htlcs []*InvoiceHTLC `protobuf:"bytes,22,rep,name=htlcs,proto3" json:"htlcs,omitempty"` 11082 // Whether to forgo checking for the current max inbound amount before 11083 // creating the invoice. This is only applicable during invoice creation. 11084 // 11085 // When creating an invoice, the node will check if there is enough inbound 11086 // bandwidth in at least one of its directly connected channels (after 11087 // accounting for the required reserves) before allowing the invoice to be 11088 // created. Specifying this parameter as true will make the node ignore those 11089 // checks and create the invoice even if it could not possibly have it settled. 11090 IgnoreMaxInboundAmt bool `protobuf:"varint,1001,opt,name=ignore_max_inbound_amt,proto3" json:"ignore_max_inbound_amt,omitempty"` 11091 // List of features advertised on the invoice. 11092 Features map[uint32]*Feature `protobuf:"bytes,24,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 11093 // Indicates if this invoice was a spontaneous payment that arrived via keysend 11094 // [EXPERIMENTAL]. 11095 IsKeysend bool `protobuf:"varint,25,opt,name=is_keysend,json=isKeysend,proto3" json:"is_keysend,omitempty"` 11096 // The payment address of this invoice. This value will be used in MPP 11097 // payments, and also for newer invoices that always require the MPP payload 11098 // for added end-to-end security. 11099 PaymentAddr []byte `protobuf:"bytes,26,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` 11100 // Signals whether or not this is an AMP invoice. 11101 IsAmp bool `protobuf:"varint,27,opt,name=is_amp,json=isAmp,proto3" json:"is_amp,omitempty"` 11102 // [EXPERIMENTAL]: 11103 // 11104 // Maps a 32-byte hex-encoded set ID to the sub-invoice AMP state for the 11105 // given set ID. This field is always populated for AMP invoices, and can be 11106 // used along side LookupInvoice to obtain the HTLC information related to a 11107 // given sub-invoice. 11108 AmpInvoiceState map[string]*AMPInvoiceState `protobuf:"bytes,28,rep,name=amp_invoice_state,json=ampInvoiceState,proto3" json:"amp_invoice_state,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 11109 } 11110 11111 func (x *Invoice) Reset() { 11112 *x = Invoice{} 11113 if protoimpl.UnsafeEnabled { 11114 mi := &file_lightning_proto_msgTypes[123] 11115 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11116 ms.StoreMessageInfo(mi) 11117 } 11118 } 11119 11120 func (x *Invoice) String() string { 11121 return protoimpl.X.MessageStringOf(x) 11122 } 11123 11124 func (*Invoice) ProtoMessage() {} 11125 11126 func (x *Invoice) ProtoReflect() protoreflect.Message { 11127 mi := &file_lightning_proto_msgTypes[123] 11128 if protoimpl.UnsafeEnabled && x != nil { 11129 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11130 if ms.LoadMessageInfo() == nil { 11131 ms.StoreMessageInfo(mi) 11132 } 11133 return ms 11134 } 11135 return mi.MessageOf(x) 11136 } 11137 11138 // Deprecated: Use Invoice.ProtoReflect.Descriptor instead. 11139 func (*Invoice) Descriptor() ([]byte, []int) { 11140 return file_lightning_proto_rawDescGZIP(), []int{123} 11141 } 11142 11143 func (x *Invoice) GetMemo() string { 11144 if x != nil { 11145 return x.Memo 11146 } 11147 return "" 11148 } 11149 11150 func (x *Invoice) GetRPreimage() []byte { 11151 if x != nil { 11152 return x.RPreimage 11153 } 11154 return nil 11155 } 11156 11157 func (x *Invoice) GetRHash() []byte { 11158 if x != nil { 11159 return x.RHash 11160 } 11161 return nil 11162 } 11163 11164 func (x *Invoice) GetValue() int64 { 11165 if x != nil { 11166 return x.Value 11167 } 11168 return 0 11169 } 11170 11171 func (x *Invoice) GetValueMAtoms() int64 { 11172 if x != nil { 11173 return x.ValueMAtoms 11174 } 11175 return 0 11176 } 11177 11178 // Deprecated: Marked as deprecated in lightning.proto. 11179 func (x *Invoice) GetSettled() bool { 11180 if x != nil { 11181 return x.Settled 11182 } 11183 return false 11184 } 11185 11186 func (x *Invoice) GetCreationDate() int64 { 11187 if x != nil { 11188 return x.CreationDate 11189 } 11190 return 0 11191 } 11192 11193 func (x *Invoice) GetSettleDate() int64 { 11194 if x != nil { 11195 return x.SettleDate 11196 } 11197 return 0 11198 } 11199 11200 func (x *Invoice) GetPaymentRequest() string { 11201 if x != nil { 11202 return x.PaymentRequest 11203 } 11204 return "" 11205 } 11206 11207 func (x *Invoice) GetDescriptionHash() []byte { 11208 if x != nil { 11209 return x.DescriptionHash 11210 } 11211 return nil 11212 } 11213 11214 func (x *Invoice) GetExpiry() int64 { 11215 if x != nil { 11216 return x.Expiry 11217 } 11218 return 0 11219 } 11220 11221 func (x *Invoice) GetFallbackAddr() string { 11222 if x != nil { 11223 return x.FallbackAddr 11224 } 11225 return "" 11226 } 11227 11228 func (x *Invoice) GetCltvExpiry() uint64 { 11229 if x != nil { 11230 return x.CltvExpiry 11231 } 11232 return 0 11233 } 11234 11235 func (x *Invoice) GetRouteHints() []*RouteHint { 11236 if x != nil { 11237 return x.RouteHints 11238 } 11239 return nil 11240 } 11241 11242 func (x *Invoice) GetPrivate() bool { 11243 if x != nil { 11244 return x.Private 11245 } 11246 return false 11247 } 11248 11249 func (x *Invoice) GetAddIndex() uint64 { 11250 if x != nil { 11251 return x.AddIndex 11252 } 11253 return 0 11254 } 11255 11256 func (x *Invoice) GetSettleIndex() uint64 { 11257 if x != nil { 11258 return x.SettleIndex 11259 } 11260 return 0 11261 } 11262 11263 func (x *Invoice) GetAmtPaid() int64 { 11264 if x != nil { 11265 return x.AmtPaid 11266 } 11267 return 0 11268 } 11269 11270 func (x *Invoice) GetAmtPaidAtoms() int64 { 11271 if x != nil { 11272 return x.AmtPaidAtoms 11273 } 11274 return 0 11275 } 11276 11277 func (x *Invoice) GetAmtPaidMAtoms() int64 { 11278 if x != nil { 11279 return x.AmtPaidMAtoms 11280 } 11281 return 0 11282 } 11283 11284 func (x *Invoice) GetState() Invoice_InvoiceState { 11285 if x != nil { 11286 return x.State 11287 } 11288 return Invoice_OPEN 11289 } 11290 11291 func (x *Invoice) GetHtlcs() []*InvoiceHTLC { 11292 if x != nil { 11293 return x.Htlcs 11294 } 11295 return nil 11296 } 11297 11298 func (x *Invoice) GetIgnoreMaxInboundAmt() bool { 11299 if x != nil { 11300 return x.IgnoreMaxInboundAmt 11301 } 11302 return false 11303 } 11304 11305 func (x *Invoice) GetFeatures() map[uint32]*Feature { 11306 if x != nil { 11307 return x.Features 11308 } 11309 return nil 11310 } 11311 11312 func (x *Invoice) GetIsKeysend() bool { 11313 if x != nil { 11314 return x.IsKeysend 11315 } 11316 return false 11317 } 11318 11319 func (x *Invoice) GetPaymentAddr() []byte { 11320 if x != nil { 11321 return x.PaymentAddr 11322 } 11323 return nil 11324 } 11325 11326 func (x *Invoice) GetIsAmp() bool { 11327 if x != nil { 11328 return x.IsAmp 11329 } 11330 return false 11331 } 11332 11333 func (x *Invoice) GetAmpInvoiceState() map[string]*AMPInvoiceState { 11334 if x != nil { 11335 return x.AmpInvoiceState 11336 } 11337 return nil 11338 } 11339 11340 // Details of an HTLC that paid to an invoice 11341 type InvoiceHTLC struct { 11342 state protoimpl.MessageState 11343 sizeCache protoimpl.SizeCache 11344 unknownFields protoimpl.UnknownFields 11345 11346 // Short channel id over which the htlc was received. 11347 ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` 11348 // Index identifying the htlc on the channel. 11349 HtlcIndex uint64 `protobuf:"varint,2,opt,name=htlc_index,json=htlcIndex,proto3" json:"htlc_index,omitempty"` 11350 // The amount of the htlc in msat. 11351 AmtMAtoms uint64 `protobuf:"varint,3,opt,name=amt_m_atoms,json=amtMAtoms,proto3" json:"amt_m_atoms,omitempty"` 11352 // Block height at which this htlc was accepted. 11353 AcceptHeight int32 `protobuf:"varint,4,opt,name=accept_height,json=acceptHeight,proto3" json:"accept_height,omitempty"` 11354 // Time at which this htlc was accepted. 11355 AcceptTime int64 `protobuf:"varint,5,opt,name=accept_time,json=acceptTime,proto3" json:"accept_time,omitempty"` 11356 // Time at which this htlc was settled or canceled. 11357 ResolveTime int64 `protobuf:"varint,6,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` 11358 // Block height at which this htlc expires. 11359 ExpiryHeight int32 `protobuf:"varint,7,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"` 11360 // Current state the htlc is in. 11361 State InvoiceHTLCState `protobuf:"varint,8,opt,name=state,proto3,enum=lnrpc.InvoiceHTLCState" json:"state,omitempty"` 11362 // Custom tlv records. 11363 CustomRecords map[uint64][]byte `protobuf:"bytes,9,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"` 11364 // The total amount of the mpp payment in milli-atoms. 11365 MppTotalAmtMAtoms uint64 `protobuf:"varint,10,opt,name=mpp_total_amt_m_atoms,json=mppTotalAmtMAtoms,proto3" json:"mpp_total_amt_m_atoms,omitempty"` 11366 // Details relevant to AMP HTLCs, only populated if this is an AMP HTLC. 11367 Amp *AMP `protobuf:"bytes,11,opt,name=amp,proto3" json:"amp,omitempty"` 11368 } 11369 11370 func (x *InvoiceHTLC) Reset() { 11371 *x = InvoiceHTLC{} 11372 if protoimpl.UnsafeEnabled { 11373 mi := &file_lightning_proto_msgTypes[124] 11374 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11375 ms.StoreMessageInfo(mi) 11376 } 11377 } 11378 11379 func (x *InvoiceHTLC) String() string { 11380 return protoimpl.X.MessageStringOf(x) 11381 } 11382 11383 func (*InvoiceHTLC) ProtoMessage() {} 11384 11385 func (x *InvoiceHTLC) ProtoReflect() protoreflect.Message { 11386 mi := &file_lightning_proto_msgTypes[124] 11387 if protoimpl.UnsafeEnabled && x != nil { 11388 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11389 if ms.LoadMessageInfo() == nil { 11390 ms.StoreMessageInfo(mi) 11391 } 11392 return ms 11393 } 11394 return mi.MessageOf(x) 11395 } 11396 11397 // Deprecated: Use InvoiceHTLC.ProtoReflect.Descriptor instead. 11398 func (*InvoiceHTLC) Descriptor() ([]byte, []int) { 11399 return file_lightning_proto_rawDescGZIP(), []int{124} 11400 } 11401 11402 func (x *InvoiceHTLC) GetChanId() uint64 { 11403 if x != nil { 11404 return x.ChanId 11405 } 11406 return 0 11407 } 11408 11409 func (x *InvoiceHTLC) GetHtlcIndex() uint64 { 11410 if x != nil { 11411 return x.HtlcIndex 11412 } 11413 return 0 11414 } 11415 11416 func (x *InvoiceHTLC) GetAmtMAtoms() uint64 { 11417 if x != nil { 11418 return x.AmtMAtoms 11419 } 11420 return 0 11421 } 11422 11423 func (x *InvoiceHTLC) GetAcceptHeight() int32 { 11424 if x != nil { 11425 return x.AcceptHeight 11426 } 11427 return 0 11428 } 11429 11430 func (x *InvoiceHTLC) GetAcceptTime() int64 { 11431 if x != nil { 11432 return x.AcceptTime 11433 } 11434 return 0 11435 } 11436 11437 func (x *InvoiceHTLC) GetResolveTime() int64 { 11438 if x != nil { 11439 return x.ResolveTime 11440 } 11441 return 0 11442 } 11443 11444 func (x *InvoiceHTLC) GetExpiryHeight() int32 { 11445 if x != nil { 11446 return x.ExpiryHeight 11447 } 11448 return 0 11449 } 11450 11451 func (x *InvoiceHTLC) GetState() InvoiceHTLCState { 11452 if x != nil { 11453 return x.State 11454 } 11455 return InvoiceHTLCState_ACCEPTED 11456 } 11457 11458 func (x *InvoiceHTLC) GetCustomRecords() map[uint64][]byte { 11459 if x != nil { 11460 return x.CustomRecords 11461 } 11462 return nil 11463 } 11464 11465 func (x *InvoiceHTLC) GetMppTotalAmtMAtoms() uint64 { 11466 if x != nil { 11467 return x.MppTotalAmtMAtoms 11468 } 11469 return 0 11470 } 11471 11472 func (x *InvoiceHTLC) GetAmp() *AMP { 11473 if x != nil { 11474 return x.Amp 11475 } 11476 return nil 11477 } 11478 11479 // Details specific to AMP HTLCs. 11480 type AMP struct { 11481 state protoimpl.MessageState 11482 sizeCache protoimpl.SizeCache 11483 unknownFields protoimpl.UnknownFields 11484 11485 // An n-of-n secret share of the root seed from which child payment hashes 11486 // and preimages are derived. 11487 RootShare []byte `protobuf:"bytes,1,opt,name=root_share,json=rootShare,proto3" json:"root_share,omitempty"` 11488 // An identifier for the HTLC set that this HTLC belongs to. 11489 SetId []byte `protobuf:"bytes,2,opt,name=set_id,json=setId,proto3" json:"set_id,omitempty"` 11490 // A nonce used to randomize the child preimage and child hash from a given 11491 // root_share. 11492 ChildIndex uint32 `protobuf:"varint,3,opt,name=child_index,json=childIndex,proto3" json:"child_index,omitempty"` 11493 // The payment hash of the AMP HTLC. 11494 Hash []byte `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"` 11495 // The preimage used to settle this AMP htlc. This field will only be 11496 // populated if the invoice is in InvoiceState_ACCEPTED or 11497 // InvoiceState_SETTLED. 11498 Preimage []byte `protobuf:"bytes,5,opt,name=preimage,proto3" json:"preimage,omitempty"` 11499 } 11500 11501 func (x *AMP) Reset() { 11502 *x = AMP{} 11503 if protoimpl.UnsafeEnabled { 11504 mi := &file_lightning_proto_msgTypes[125] 11505 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11506 ms.StoreMessageInfo(mi) 11507 } 11508 } 11509 11510 func (x *AMP) String() string { 11511 return protoimpl.X.MessageStringOf(x) 11512 } 11513 11514 func (*AMP) ProtoMessage() {} 11515 11516 func (x *AMP) ProtoReflect() protoreflect.Message { 11517 mi := &file_lightning_proto_msgTypes[125] 11518 if protoimpl.UnsafeEnabled && x != nil { 11519 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11520 if ms.LoadMessageInfo() == nil { 11521 ms.StoreMessageInfo(mi) 11522 } 11523 return ms 11524 } 11525 return mi.MessageOf(x) 11526 } 11527 11528 // Deprecated: Use AMP.ProtoReflect.Descriptor instead. 11529 func (*AMP) Descriptor() ([]byte, []int) { 11530 return file_lightning_proto_rawDescGZIP(), []int{125} 11531 } 11532 11533 func (x *AMP) GetRootShare() []byte { 11534 if x != nil { 11535 return x.RootShare 11536 } 11537 return nil 11538 } 11539 11540 func (x *AMP) GetSetId() []byte { 11541 if x != nil { 11542 return x.SetId 11543 } 11544 return nil 11545 } 11546 11547 func (x *AMP) GetChildIndex() uint32 { 11548 if x != nil { 11549 return x.ChildIndex 11550 } 11551 return 0 11552 } 11553 11554 func (x *AMP) GetHash() []byte { 11555 if x != nil { 11556 return x.Hash 11557 } 11558 return nil 11559 } 11560 11561 func (x *AMP) GetPreimage() []byte { 11562 if x != nil { 11563 return x.Preimage 11564 } 11565 return nil 11566 } 11567 11568 type AddInvoiceResponse struct { 11569 state protoimpl.MessageState 11570 sizeCache protoimpl.SizeCache 11571 unknownFields protoimpl.UnknownFields 11572 11573 RHash []byte `protobuf:"bytes,1,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"` 11574 // A bare-bones invoice for a payment within the Lightning Network. With the 11575 // details of the invoice, the sender has all the data necessary to send a 11576 // payment to the recipient. 11577 PaymentRequest string `protobuf:"bytes,2,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"` 11578 // The "add" index of this invoice. Each newly created invoice will increment 11579 // this index making it monotonically increasing. Callers to the 11580 // SubscribeInvoices call can use this to instantly get notified of all added 11581 // invoices with an add_index greater than this one. 11582 AddIndex uint64 `protobuf:"varint,16,opt,name=add_index,json=addIndex,proto3" json:"add_index,omitempty"` 11583 // The payment address of the generated invoice. This value should be used 11584 // in all payments for this invoice as we require it for end to end 11585 // security. 11586 PaymentAddr []byte `protobuf:"bytes,17,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` 11587 } 11588 11589 func (x *AddInvoiceResponse) Reset() { 11590 *x = AddInvoiceResponse{} 11591 if protoimpl.UnsafeEnabled { 11592 mi := &file_lightning_proto_msgTypes[126] 11593 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11594 ms.StoreMessageInfo(mi) 11595 } 11596 } 11597 11598 func (x *AddInvoiceResponse) String() string { 11599 return protoimpl.X.MessageStringOf(x) 11600 } 11601 11602 func (*AddInvoiceResponse) ProtoMessage() {} 11603 11604 func (x *AddInvoiceResponse) ProtoReflect() protoreflect.Message { 11605 mi := &file_lightning_proto_msgTypes[126] 11606 if protoimpl.UnsafeEnabled && x != nil { 11607 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11608 if ms.LoadMessageInfo() == nil { 11609 ms.StoreMessageInfo(mi) 11610 } 11611 return ms 11612 } 11613 return mi.MessageOf(x) 11614 } 11615 11616 // Deprecated: Use AddInvoiceResponse.ProtoReflect.Descriptor instead. 11617 func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { 11618 return file_lightning_proto_rawDescGZIP(), []int{126} 11619 } 11620 11621 func (x *AddInvoiceResponse) GetRHash() []byte { 11622 if x != nil { 11623 return x.RHash 11624 } 11625 return nil 11626 } 11627 11628 func (x *AddInvoiceResponse) GetPaymentRequest() string { 11629 if x != nil { 11630 return x.PaymentRequest 11631 } 11632 return "" 11633 } 11634 11635 func (x *AddInvoiceResponse) GetAddIndex() uint64 { 11636 if x != nil { 11637 return x.AddIndex 11638 } 11639 return 0 11640 } 11641 11642 func (x *AddInvoiceResponse) GetPaymentAddr() []byte { 11643 if x != nil { 11644 return x.PaymentAddr 11645 } 11646 return nil 11647 } 11648 11649 type PaymentHash struct { 11650 state protoimpl.MessageState 11651 sizeCache protoimpl.SizeCache 11652 unknownFields protoimpl.UnknownFields 11653 11654 // The hex-encoded payment hash of the invoice to be looked up. The passed 11655 // payment hash must be exactly 32 bytes, otherwise an error is returned. 11656 // Deprecated now that the REST gateway supports base64 encoding of bytes 11657 // fields. 11658 // 11659 // Deprecated: Marked as deprecated in lightning.proto. 11660 RHashStr string `protobuf:"bytes,1,opt,name=r_hash_str,json=rHashStr,proto3" json:"r_hash_str,omitempty"` 11661 // The payment hash of the invoice to be looked up. When using REST, this field 11662 // must be encoded as base64. 11663 RHash []byte `protobuf:"bytes,2,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"` 11664 } 11665 11666 func (x *PaymentHash) Reset() { 11667 *x = PaymentHash{} 11668 if protoimpl.UnsafeEnabled { 11669 mi := &file_lightning_proto_msgTypes[127] 11670 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11671 ms.StoreMessageInfo(mi) 11672 } 11673 } 11674 11675 func (x *PaymentHash) String() string { 11676 return protoimpl.X.MessageStringOf(x) 11677 } 11678 11679 func (*PaymentHash) ProtoMessage() {} 11680 11681 func (x *PaymentHash) ProtoReflect() protoreflect.Message { 11682 mi := &file_lightning_proto_msgTypes[127] 11683 if protoimpl.UnsafeEnabled && x != nil { 11684 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11685 if ms.LoadMessageInfo() == nil { 11686 ms.StoreMessageInfo(mi) 11687 } 11688 return ms 11689 } 11690 return mi.MessageOf(x) 11691 } 11692 11693 // Deprecated: Use PaymentHash.ProtoReflect.Descriptor instead. 11694 func (*PaymentHash) Descriptor() ([]byte, []int) { 11695 return file_lightning_proto_rawDescGZIP(), []int{127} 11696 } 11697 11698 // Deprecated: Marked as deprecated in lightning.proto. 11699 func (x *PaymentHash) GetRHashStr() string { 11700 if x != nil { 11701 return x.RHashStr 11702 } 11703 return "" 11704 } 11705 11706 func (x *PaymentHash) GetRHash() []byte { 11707 if x != nil { 11708 return x.RHash 11709 } 11710 return nil 11711 } 11712 11713 type ListInvoiceRequest struct { 11714 state protoimpl.MessageState 11715 sizeCache protoimpl.SizeCache 11716 unknownFields protoimpl.UnknownFields 11717 11718 // If set, only invoices that are not settled and not canceled will be returned 11719 // in the response. 11720 PendingOnly bool `protobuf:"varint,1,opt,name=pending_only,json=pendingOnly,proto3" json:"pending_only,omitempty"` 11721 // The index of an invoice that will be used as either the start or end of a 11722 // query to determine which invoices should be returned in the response. 11723 IndexOffset uint64 `protobuf:"varint,4,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"` 11724 // The max number of invoices to return in the response to this query. 11725 NumMaxInvoices uint64 `protobuf:"varint,5,opt,name=num_max_invoices,json=numMaxInvoices,proto3" json:"num_max_invoices,omitempty"` 11726 // If set, the invoices returned will result from seeking backwards from the 11727 // specified index offset. This can be used to paginate backwards. 11728 Reversed bool `protobuf:"varint,6,opt,name=reversed,proto3" json:"reversed,omitempty"` 11729 } 11730 11731 func (x *ListInvoiceRequest) Reset() { 11732 *x = ListInvoiceRequest{} 11733 if protoimpl.UnsafeEnabled { 11734 mi := &file_lightning_proto_msgTypes[128] 11735 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11736 ms.StoreMessageInfo(mi) 11737 } 11738 } 11739 11740 func (x *ListInvoiceRequest) String() string { 11741 return protoimpl.X.MessageStringOf(x) 11742 } 11743 11744 func (*ListInvoiceRequest) ProtoMessage() {} 11745 11746 func (x *ListInvoiceRequest) ProtoReflect() protoreflect.Message { 11747 mi := &file_lightning_proto_msgTypes[128] 11748 if protoimpl.UnsafeEnabled && x != nil { 11749 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11750 if ms.LoadMessageInfo() == nil { 11751 ms.StoreMessageInfo(mi) 11752 } 11753 return ms 11754 } 11755 return mi.MessageOf(x) 11756 } 11757 11758 // Deprecated: Use ListInvoiceRequest.ProtoReflect.Descriptor instead. 11759 func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { 11760 return file_lightning_proto_rawDescGZIP(), []int{128} 11761 } 11762 11763 func (x *ListInvoiceRequest) GetPendingOnly() bool { 11764 if x != nil { 11765 return x.PendingOnly 11766 } 11767 return false 11768 } 11769 11770 func (x *ListInvoiceRequest) GetIndexOffset() uint64 { 11771 if x != nil { 11772 return x.IndexOffset 11773 } 11774 return 0 11775 } 11776 11777 func (x *ListInvoiceRequest) GetNumMaxInvoices() uint64 { 11778 if x != nil { 11779 return x.NumMaxInvoices 11780 } 11781 return 0 11782 } 11783 11784 func (x *ListInvoiceRequest) GetReversed() bool { 11785 if x != nil { 11786 return x.Reversed 11787 } 11788 return false 11789 } 11790 11791 type ListInvoiceResponse struct { 11792 state protoimpl.MessageState 11793 sizeCache protoimpl.SizeCache 11794 unknownFields protoimpl.UnknownFields 11795 11796 // A list of invoices from the time slice of the time series specified in the 11797 // request. 11798 Invoices []*Invoice `protobuf:"bytes,1,rep,name=invoices,proto3" json:"invoices,omitempty"` 11799 // The index of the last item in the set of returned invoices. This can be used 11800 // to seek further, pagination style. 11801 LastIndexOffset uint64 `protobuf:"varint,2,opt,name=last_index_offset,json=lastIndexOffset,proto3" json:"last_index_offset,omitempty"` 11802 // The index of the last item in the set of returned invoices. This can be used 11803 // to seek backwards, pagination style. 11804 FirstIndexOffset uint64 `protobuf:"varint,3,opt,name=first_index_offset,json=firstIndexOffset,proto3" json:"first_index_offset,omitempty"` 11805 } 11806 11807 func (x *ListInvoiceResponse) Reset() { 11808 *x = ListInvoiceResponse{} 11809 if protoimpl.UnsafeEnabled { 11810 mi := &file_lightning_proto_msgTypes[129] 11811 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11812 ms.StoreMessageInfo(mi) 11813 } 11814 } 11815 11816 func (x *ListInvoiceResponse) String() string { 11817 return protoimpl.X.MessageStringOf(x) 11818 } 11819 11820 func (*ListInvoiceResponse) ProtoMessage() {} 11821 11822 func (x *ListInvoiceResponse) ProtoReflect() protoreflect.Message { 11823 mi := &file_lightning_proto_msgTypes[129] 11824 if protoimpl.UnsafeEnabled && x != nil { 11825 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11826 if ms.LoadMessageInfo() == nil { 11827 ms.StoreMessageInfo(mi) 11828 } 11829 return ms 11830 } 11831 return mi.MessageOf(x) 11832 } 11833 11834 // Deprecated: Use ListInvoiceResponse.ProtoReflect.Descriptor instead. 11835 func (*ListInvoiceResponse) Descriptor() ([]byte, []int) { 11836 return file_lightning_proto_rawDescGZIP(), []int{129} 11837 } 11838 11839 func (x *ListInvoiceResponse) GetInvoices() []*Invoice { 11840 if x != nil { 11841 return x.Invoices 11842 } 11843 return nil 11844 } 11845 11846 func (x *ListInvoiceResponse) GetLastIndexOffset() uint64 { 11847 if x != nil { 11848 return x.LastIndexOffset 11849 } 11850 return 0 11851 } 11852 11853 func (x *ListInvoiceResponse) GetFirstIndexOffset() uint64 { 11854 if x != nil { 11855 return x.FirstIndexOffset 11856 } 11857 return 0 11858 } 11859 11860 type InvoiceSubscription struct { 11861 state protoimpl.MessageState 11862 sizeCache protoimpl.SizeCache 11863 unknownFields protoimpl.UnknownFields 11864 11865 // If specified (non-zero), then we'll first start by sending out 11866 // notifications for all added indexes with an add_index greater than this 11867 // value. This allows callers to catch up on any events they missed while they 11868 // weren't connected to the streaming RPC. 11869 AddIndex uint64 `protobuf:"varint,1,opt,name=add_index,json=addIndex,proto3" json:"add_index,omitempty"` 11870 // If specified (non-zero), then we'll first start by sending out 11871 // notifications for all settled indexes with an settle_index greater than 11872 // this value. This allows callers to catch up on any events they missed while 11873 // they weren't connected to the streaming RPC. 11874 SettleIndex uint64 `protobuf:"varint,2,opt,name=settle_index,json=settleIndex,proto3" json:"settle_index,omitempty"` 11875 } 11876 11877 func (x *InvoiceSubscription) Reset() { 11878 *x = InvoiceSubscription{} 11879 if protoimpl.UnsafeEnabled { 11880 mi := &file_lightning_proto_msgTypes[130] 11881 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11882 ms.StoreMessageInfo(mi) 11883 } 11884 } 11885 11886 func (x *InvoiceSubscription) String() string { 11887 return protoimpl.X.MessageStringOf(x) 11888 } 11889 11890 func (*InvoiceSubscription) ProtoMessage() {} 11891 11892 func (x *InvoiceSubscription) ProtoReflect() protoreflect.Message { 11893 mi := &file_lightning_proto_msgTypes[130] 11894 if protoimpl.UnsafeEnabled && x != nil { 11895 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11896 if ms.LoadMessageInfo() == nil { 11897 ms.StoreMessageInfo(mi) 11898 } 11899 return ms 11900 } 11901 return mi.MessageOf(x) 11902 } 11903 11904 // Deprecated: Use InvoiceSubscription.ProtoReflect.Descriptor instead. 11905 func (*InvoiceSubscription) Descriptor() ([]byte, []int) { 11906 return file_lightning_proto_rawDescGZIP(), []int{130} 11907 } 11908 11909 func (x *InvoiceSubscription) GetAddIndex() uint64 { 11910 if x != nil { 11911 return x.AddIndex 11912 } 11913 return 0 11914 } 11915 11916 func (x *InvoiceSubscription) GetSettleIndex() uint64 { 11917 if x != nil { 11918 return x.SettleIndex 11919 } 11920 return 0 11921 } 11922 11923 type Payment struct { 11924 state protoimpl.MessageState 11925 sizeCache protoimpl.SizeCache 11926 unknownFields protoimpl.UnknownFields 11927 11928 // The payment hash 11929 PaymentHash string `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` 11930 // Deprecated, use value_atoms or value_m_atoms. 11931 // 11932 // Deprecated: Marked as deprecated in lightning.proto. 11933 Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` 11934 // Deprecated, use creation_time_ns 11935 // 11936 // Deprecated: Marked as deprecated in lightning.proto. 11937 CreationDate int64 `protobuf:"varint,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` 11938 // Deprecated, use fee_atoms or fee_m_atoms. 11939 // 11940 // Deprecated: Marked as deprecated in lightning.proto. 11941 Fee int64 `protobuf:"varint,5,opt,name=fee,proto3" json:"fee,omitempty"` 11942 // The payment preimage 11943 PaymentPreimage string `protobuf:"bytes,6,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` 11944 // The value of the payment in atoms 11945 ValueAtoms int64 `protobuf:"varint,7,opt,name=value_atoms,json=valueAtoms,proto3" json:"value_atoms,omitempty"` 11946 // The value of the payment in milli-atoms 11947 ValueMAtoms int64 `protobuf:"varint,8,opt,name=value_m_atoms,json=valueMAtoms,proto3" json:"value_m_atoms,omitempty"` 11948 // The optional payment request being fulfilled. 11949 PaymentRequest string `protobuf:"bytes,9,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"` 11950 // The status of the payment. 11951 Status Payment_PaymentStatus `protobuf:"varint,10,opt,name=status,proto3,enum=lnrpc.Payment_PaymentStatus" json:"status,omitempty"` 11952 // The fee paid for this payment in atoms 11953 FeeAtoms int64 `protobuf:"varint,11,opt,name=fee_atoms,json=feeAtoms,proto3" json:"fee_atoms,omitempty"` 11954 // The fee paid for this payment in milli-atoms 11955 FeeMAtoms int64 `protobuf:"varint,12,opt,name=fee_m_atoms,json=feeMAtoms,proto3" json:"fee_m_atoms,omitempty"` 11956 // The time in UNIX nanoseconds at which the payment was created. 11957 CreationTimeNs int64 `protobuf:"varint,13,opt,name=creation_time_ns,json=creationTimeNs,proto3" json:"creation_time_ns,omitempty"` 11958 // The HTLCs made in attempt to settle the payment. 11959 Htlcs []*HTLCAttempt `protobuf:"bytes,14,rep,name=htlcs,proto3" json:"htlcs,omitempty"` 11960 // The creation index of this payment. Each payment can be uniquely identified 11961 // by this index, which may not strictly increment by 1 for payments made in 11962 // older versions of lnd. 11963 PaymentIndex uint64 `protobuf:"varint,15,opt,name=payment_index,json=paymentIndex,proto3" json:"payment_index,omitempty"` 11964 FailureReason PaymentFailureReason `protobuf:"varint,16,opt,name=failure_reason,json=failureReason,proto3,enum=lnrpc.PaymentFailureReason" json:"failure_reason,omitempty"` 11965 } 11966 11967 func (x *Payment) Reset() { 11968 *x = Payment{} 11969 if protoimpl.UnsafeEnabled { 11970 mi := &file_lightning_proto_msgTypes[131] 11971 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11972 ms.StoreMessageInfo(mi) 11973 } 11974 } 11975 11976 func (x *Payment) String() string { 11977 return protoimpl.X.MessageStringOf(x) 11978 } 11979 11980 func (*Payment) ProtoMessage() {} 11981 11982 func (x *Payment) ProtoReflect() protoreflect.Message { 11983 mi := &file_lightning_proto_msgTypes[131] 11984 if protoimpl.UnsafeEnabled && x != nil { 11985 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 11986 if ms.LoadMessageInfo() == nil { 11987 ms.StoreMessageInfo(mi) 11988 } 11989 return ms 11990 } 11991 return mi.MessageOf(x) 11992 } 11993 11994 // Deprecated: Use Payment.ProtoReflect.Descriptor instead. 11995 func (*Payment) Descriptor() ([]byte, []int) { 11996 return file_lightning_proto_rawDescGZIP(), []int{131} 11997 } 11998 11999 func (x *Payment) GetPaymentHash() string { 12000 if x != nil { 12001 return x.PaymentHash 12002 } 12003 return "" 12004 } 12005 12006 // Deprecated: Marked as deprecated in lightning.proto. 12007 func (x *Payment) GetValue() int64 { 12008 if x != nil { 12009 return x.Value 12010 } 12011 return 0 12012 } 12013 12014 // Deprecated: Marked as deprecated in lightning.proto. 12015 func (x *Payment) GetCreationDate() int64 { 12016 if x != nil { 12017 return x.CreationDate 12018 } 12019 return 0 12020 } 12021 12022 // Deprecated: Marked as deprecated in lightning.proto. 12023 func (x *Payment) GetFee() int64 { 12024 if x != nil { 12025 return x.Fee 12026 } 12027 return 0 12028 } 12029 12030 func (x *Payment) GetPaymentPreimage() string { 12031 if x != nil { 12032 return x.PaymentPreimage 12033 } 12034 return "" 12035 } 12036 12037 func (x *Payment) GetValueAtoms() int64 { 12038 if x != nil { 12039 return x.ValueAtoms 12040 } 12041 return 0 12042 } 12043 12044 func (x *Payment) GetValueMAtoms() int64 { 12045 if x != nil { 12046 return x.ValueMAtoms 12047 } 12048 return 0 12049 } 12050 12051 func (x *Payment) GetPaymentRequest() string { 12052 if x != nil { 12053 return x.PaymentRequest 12054 } 12055 return "" 12056 } 12057 12058 func (x *Payment) GetStatus() Payment_PaymentStatus { 12059 if x != nil { 12060 return x.Status 12061 } 12062 return Payment_UNKNOWN 12063 } 12064 12065 func (x *Payment) GetFeeAtoms() int64 { 12066 if x != nil { 12067 return x.FeeAtoms 12068 } 12069 return 0 12070 } 12071 12072 func (x *Payment) GetFeeMAtoms() int64 { 12073 if x != nil { 12074 return x.FeeMAtoms 12075 } 12076 return 0 12077 } 12078 12079 func (x *Payment) GetCreationTimeNs() int64 { 12080 if x != nil { 12081 return x.CreationTimeNs 12082 } 12083 return 0 12084 } 12085 12086 func (x *Payment) GetHtlcs() []*HTLCAttempt { 12087 if x != nil { 12088 return x.Htlcs 12089 } 12090 return nil 12091 } 12092 12093 func (x *Payment) GetPaymentIndex() uint64 { 12094 if x != nil { 12095 return x.PaymentIndex 12096 } 12097 return 0 12098 } 12099 12100 func (x *Payment) GetFailureReason() PaymentFailureReason { 12101 if x != nil { 12102 return x.FailureReason 12103 } 12104 return PaymentFailureReason_FAILURE_REASON_NONE 12105 } 12106 12107 type HTLCAttempt struct { 12108 state protoimpl.MessageState 12109 sizeCache protoimpl.SizeCache 12110 unknownFields protoimpl.UnknownFields 12111 12112 // The unique ID that is used for this attempt. 12113 AttemptId uint64 `protobuf:"varint,7,opt,name=attempt_id,json=attemptId,proto3" json:"attempt_id,omitempty"` 12114 // The status of the HTLC. 12115 Status HTLCAttempt_HTLCStatus `protobuf:"varint,1,opt,name=status,proto3,enum=lnrpc.HTLCAttempt_HTLCStatus" json:"status,omitempty"` 12116 // The route taken by this HTLC. 12117 Route *Route `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"` 12118 // The time in UNIX nanoseconds at which this HTLC was sent. 12119 AttemptTimeNs int64 `protobuf:"varint,3,opt,name=attempt_time_ns,json=attemptTimeNs,proto3" json:"attempt_time_ns,omitempty"` 12120 // The time in UNIX nanoseconds at which this HTLC was settled or failed. 12121 // This value will not be set if the HTLC is still IN_FLIGHT. 12122 ResolveTimeNs int64 `protobuf:"varint,4,opt,name=resolve_time_ns,json=resolveTimeNs,proto3" json:"resolve_time_ns,omitempty"` 12123 // Detailed htlc failure info. 12124 Failure *Failure `protobuf:"bytes,5,opt,name=failure,proto3" json:"failure,omitempty"` 12125 // The preimage that was used to settle the HTLC. 12126 Preimage []byte `protobuf:"bytes,6,opt,name=preimage,proto3" json:"preimage,omitempty"` 12127 } 12128 12129 func (x *HTLCAttempt) Reset() { 12130 *x = HTLCAttempt{} 12131 if protoimpl.UnsafeEnabled { 12132 mi := &file_lightning_proto_msgTypes[132] 12133 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12134 ms.StoreMessageInfo(mi) 12135 } 12136 } 12137 12138 func (x *HTLCAttempt) String() string { 12139 return protoimpl.X.MessageStringOf(x) 12140 } 12141 12142 func (*HTLCAttempt) ProtoMessage() {} 12143 12144 func (x *HTLCAttempt) ProtoReflect() protoreflect.Message { 12145 mi := &file_lightning_proto_msgTypes[132] 12146 if protoimpl.UnsafeEnabled && x != nil { 12147 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12148 if ms.LoadMessageInfo() == nil { 12149 ms.StoreMessageInfo(mi) 12150 } 12151 return ms 12152 } 12153 return mi.MessageOf(x) 12154 } 12155 12156 // Deprecated: Use HTLCAttempt.ProtoReflect.Descriptor instead. 12157 func (*HTLCAttempt) Descriptor() ([]byte, []int) { 12158 return file_lightning_proto_rawDescGZIP(), []int{132} 12159 } 12160 12161 func (x *HTLCAttempt) GetAttemptId() uint64 { 12162 if x != nil { 12163 return x.AttemptId 12164 } 12165 return 0 12166 } 12167 12168 func (x *HTLCAttempt) GetStatus() HTLCAttempt_HTLCStatus { 12169 if x != nil { 12170 return x.Status 12171 } 12172 return HTLCAttempt_IN_FLIGHT 12173 } 12174 12175 func (x *HTLCAttempt) GetRoute() *Route { 12176 if x != nil { 12177 return x.Route 12178 } 12179 return nil 12180 } 12181 12182 func (x *HTLCAttempt) GetAttemptTimeNs() int64 { 12183 if x != nil { 12184 return x.AttemptTimeNs 12185 } 12186 return 0 12187 } 12188 12189 func (x *HTLCAttempt) GetResolveTimeNs() int64 { 12190 if x != nil { 12191 return x.ResolveTimeNs 12192 } 12193 return 0 12194 } 12195 12196 func (x *HTLCAttempt) GetFailure() *Failure { 12197 if x != nil { 12198 return x.Failure 12199 } 12200 return nil 12201 } 12202 12203 func (x *HTLCAttempt) GetPreimage() []byte { 12204 if x != nil { 12205 return x.Preimage 12206 } 12207 return nil 12208 } 12209 12210 type ListPaymentsRequest struct { 12211 state protoimpl.MessageState 12212 sizeCache protoimpl.SizeCache 12213 unknownFields protoimpl.UnknownFields 12214 12215 // If true, then return payments that have not yet fully completed. This means 12216 // that pending payments, as well as failed payments will show up if this 12217 // field is set to true. This flag doesn't change the meaning of the indices, 12218 // which are tied to individual payments. 12219 IncludeIncomplete bool `protobuf:"varint,1,opt,name=include_incomplete,json=includeIncomplete,proto3" json:"include_incomplete,omitempty"` 12220 // The index of a payment that will be used as either the start or end of a 12221 // query to determine which payments should be returned in the response. The 12222 // index_offset is exclusive. In the case of a zero index_offset, the query 12223 // will start with the oldest payment when paginating forwards, or will end 12224 // with the most recent payment when paginating backwards. 12225 IndexOffset uint64 `protobuf:"varint,2,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"` 12226 // The maximal number of payments returned in the response to this query. 12227 MaxPayments uint64 `protobuf:"varint,3,opt,name=max_payments,json=maxPayments,proto3" json:"max_payments,omitempty"` 12228 // If set, the payments returned will result from seeking backwards from the 12229 // specified index offset. This can be used to paginate backwards. The order 12230 // of the returned payments is always oldest first (ascending index order). 12231 Reversed bool `protobuf:"varint,4,opt,name=reversed,proto3" json:"reversed,omitempty"` 12232 } 12233 12234 func (x *ListPaymentsRequest) Reset() { 12235 *x = ListPaymentsRequest{} 12236 if protoimpl.UnsafeEnabled { 12237 mi := &file_lightning_proto_msgTypes[133] 12238 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12239 ms.StoreMessageInfo(mi) 12240 } 12241 } 12242 12243 func (x *ListPaymentsRequest) String() string { 12244 return protoimpl.X.MessageStringOf(x) 12245 } 12246 12247 func (*ListPaymentsRequest) ProtoMessage() {} 12248 12249 func (x *ListPaymentsRequest) ProtoReflect() protoreflect.Message { 12250 mi := &file_lightning_proto_msgTypes[133] 12251 if protoimpl.UnsafeEnabled && x != nil { 12252 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12253 if ms.LoadMessageInfo() == nil { 12254 ms.StoreMessageInfo(mi) 12255 } 12256 return ms 12257 } 12258 return mi.MessageOf(x) 12259 } 12260 12261 // Deprecated: Use ListPaymentsRequest.ProtoReflect.Descriptor instead. 12262 func (*ListPaymentsRequest) Descriptor() ([]byte, []int) { 12263 return file_lightning_proto_rawDescGZIP(), []int{133} 12264 } 12265 12266 func (x *ListPaymentsRequest) GetIncludeIncomplete() bool { 12267 if x != nil { 12268 return x.IncludeIncomplete 12269 } 12270 return false 12271 } 12272 12273 func (x *ListPaymentsRequest) GetIndexOffset() uint64 { 12274 if x != nil { 12275 return x.IndexOffset 12276 } 12277 return 0 12278 } 12279 12280 func (x *ListPaymentsRequest) GetMaxPayments() uint64 { 12281 if x != nil { 12282 return x.MaxPayments 12283 } 12284 return 0 12285 } 12286 12287 func (x *ListPaymentsRequest) GetReversed() bool { 12288 if x != nil { 12289 return x.Reversed 12290 } 12291 return false 12292 } 12293 12294 type ListPaymentsResponse struct { 12295 state protoimpl.MessageState 12296 sizeCache protoimpl.SizeCache 12297 unknownFields protoimpl.UnknownFields 12298 12299 // The list of payments 12300 Payments []*Payment `protobuf:"bytes,1,rep,name=payments,proto3" json:"payments,omitempty"` 12301 // The index of the first item in the set of returned payments. This can be 12302 // used as the index_offset to continue seeking backwards in the next request. 12303 FirstIndexOffset uint64 `protobuf:"varint,2,opt,name=first_index_offset,json=firstIndexOffset,proto3" json:"first_index_offset,omitempty"` 12304 // The index of the last item in the set of returned payments. This can be used 12305 // as the index_offset to continue seeking forwards in the next request. 12306 LastIndexOffset uint64 `protobuf:"varint,3,opt,name=last_index_offset,json=lastIndexOffset,proto3" json:"last_index_offset,omitempty"` 12307 } 12308 12309 func (x *ListPaymentsResponse) Reset() { 12310 *x = ListPaymentsResponse{} 12311 if protoimpl.UnsafeEnabled { 12312 mi := &file_lightning_proto_msgTypes[134] 12313 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12314 ms.StoreMessageInfo(mi) 12315 } 12316 } 12317 12318 func (x *ListPaymentsResponse) String() string { 12319 return protoimpl.X.MessageStringOf(x) 12320 } 12321 12322 func (*ListPaymentsResponse) ProtoMessage() {} 12323 12324 func (x *ListPaymentsResponse) ProtoReflect() protoreflect.Message { 12325 mi := &file_lightning_proto_msgTypes[134] 12326 if protoimpl.UnsafeEnabled && x != nil { 12327 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12328 if ms.LoadMessageInfo() == nil { 12329 ms.StoreMessageInfo(mi) 12330 } 12331 return ms 12332 } 12333 return mi.MessageOf(x) 12334 } 12335 12336 // Deprecated: Use ListPaymentsResponse.ProtoReflect.Descriptor instead. 12337 func (*ListPaymentsResponse) Descriptor() ([]byte, []int) { 12338 return file_lightning_proto_rawDescGZIP(), []int{134} 12339 } 12340 12341 func (x *ListPaymentsResponse) GetPayments() []*Payment { 12342 if x != nil { 12343 return x.Payments 12344 } 12345 return nil 12346 } 12347 12348 func (x *ListPaymentsResponse) GetFirstIndexOffset() uint64 { 12349 if x != nil { 12350 return x.FirstIndexOffset 12351 } 12352 return 0 12353 } 12354 12355 func (x *ListPaymentsResponse) GetLastIndexOffset() uint64 { 12356 if x != nil { 12357 return x.LastIndexOffset 12358 } 12359 return 0 12360 } 12361 12362 type DeletePaymentRequest struct { 12363 state protoimpl.MessageState 12364 sizeCache protoimpl.SizeCache 12365 unknownFields protoimpl.UnknownFields 12366 12367 // Payment hash to delete. 12368 PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` 12369 // Only delete failed HTLCs from the payment, not the payment itself. 12370 FailedHtlcsOnly bool `protobuf:"varint,2,opt,name=failed_htlcs_only,json=failedHtlcsOnly,proto3" json:"failed_htlcs_only,omitempty"` 12371 } 12372 12373 func (x *DeletePaymentRequest) Reset() { 12374 *x = DeletePaymentRequest{} 12375 if protoimpl.UnsafeEnabled { 12376 mi := &file_lightning_proto_msgTypes[135] 12377 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12378 ms.StoreMessageInfo(mi) 12379 } 12380 } 12381 12382 func (x *DeletePaymentRequest) String() string { 12383 return protoimpl.X.MessageStringOf(x) 12384 } 12385 12386 func (*DeletePaymentRequest) ProtoMessage() {} 12387 12388 func (x *DeletePaymentRequest) ProtoReflect() protoreflect.Message { 12389 mi := &file_lightning_proto_msgTypes[135] 12390 if protoimpl.UnsafeEnabled && x != nil { 12391 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12392 if ms.LoadMessageInfo() == nil { 12393 ms.StoreMessageInfo(mi) 12394 } 12395 return ms 12396 } 12397 return mi.MessageOf(x) 12398 } 12399 12400 // Deprecated: Use DeletePaymentRequest.ProtoReflect.Descriptor instead. 12401 func (*DeletePaymentRequest) Descriptor() ([]byte, []int) { 12402 return file_lightning_proto_rawDescGZIP(), []int{135} 12403 } 12404 12405 func (x *DeletePaymentRequest) GetPaymentHash() []byte { 12406 if x != nil { 12407 return x.PaymentHash 12408 } 12409 return nil 12410 } 12411 12412 func (x *DeletePaymentRequest) GetFailedHtlcsOnly() bool { 12413 if x != nil { 12414 return x.FailedHtlcsOnly 12415 } 12416 return false 12417 } 12418 12419 type DeleteAllPaymentsRequest struct { 12420 state protoimpl.MessageState 12421 sizeCache protoimpl.SizeCache 12422 unknownFields protoimpl.UnknownFields 12423 12424 // Only delete failed payments. 12425 FailedPaymentsOnly bool `protobuf:"varint,1,opt,name=failed_payments_only,json=failedPaymentsOnly,proto3" json:"failed_payments_only,omitempty"` 12426 // Only delete failed HTLCs from payments, not the payment itself. 12427 FailedHtlcsOnly bool `protobuf:"varint,2,opt,name=failed_htlcs_only,json=failedHtlcsOnly,proto3" json:"failed_htlcs_only,omitempty"` 12428 } 12429 12430 func (x *DeleteAllPaymentsRequest) Reset() { 12431 *x = DeleteAllPaymentsRequest{} 12432 if protoimpl.UnsafeEnabled { 12433 mi := &file_lightning_proto_msgTypes[136] 12434 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12435 ms.StoreMessageInfo(mi) 12436 } 12437 } 12438 12439 func (x *DeleteAllPaymentsRequest) String() string { 12440 return protoimpl.X.MessageStringOf(x) 12441 } 12442 12443 func (*DeleteAllPaymentsRequest) ProtoMessage() {} 12444 12445 func (x *DeleteAllPaymentsRequest) ProtoReflect() protoreflect.Message { 12446 mi := &file_lightning_proto_msgTypes[136] 12447 if protoimpl.UnsafeEnabled && x != nil { 12448 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12449 if ms.LoadMessageInfo() == nil { 12450 ms.StoreMessageInfo(mi) 12451 } 12452 return ms 12453 } 12454 return mi.MessageOf(x) 12455 } 12456 12457 // Deprecated: Use DeleteAllPaymentsRequest.ProtoReflect.Descriptor instead. 12458 func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) { 12459 return file_lightning_proto_rawDescGZIP(), []int{136} 12460 } 12461 12462 func (x *DeleteAllPaymentsRequest) GetFailedPaymentsOnly() bool { 12463 if x != nil { 12464 return x.FailedPaymentsOnly 12465 } 12466 return false 12467 } 12468 12469 func (x *DeleteAllPaymentsRequest) GetFailedHtlcsOnly() bool { 12470 if x != nil { 12471 return x.FailedHtlcsOnly 12472 } 12473 return false 12474 } 12475 12476 type DeletePaymentResponse struct { 12477 state protoimpl.MessageState 12478 sizeCache protoimpl.SizeCache 12479 unknownFields protoimpl.UnknownFields 12480 } 12481 12482 func (x *DeletePaymentResponse) Reset() { 12483 *x = DeletePaymentResponse{} 12484 if protoimpl.UnsafeEnabled { 12485 mi := &file_lightning_proto_msgTypes[137] 12486 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12487 ms.StoreMessageInfo(mi) 12488 } 12489 } 12490 12491 func (x *DeletePaymentResponse) String() string { 12492 return protoimpl.X.MessageStringOf(x) 12493 } 12494 12495 func (*DeletePaymentResponse) ProtoMessage() {} 12496 12497 func (x *DeletePaymentResponse) ProtoReflect() protoreflect.Message { 12498 mi := &file_lightning_proto_msgTypes[137] 12499 if protoimpl.UnsafeEnabled && x != nil { 12500 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12501 if ms.LoadMessageInfo() == nil { 12502 ms.StoreMessageInfo(mi) 12503 } 12504 return ms 12505 } 12506 return mi.MessageOf(x) 12507 } 12508 12509 // Deprecated: Use DeletePaymentResponse.ProtoReflect.Descriptor instead. 12510 func (*DeletePaymentResponse) Descriptor() ([]byte, []int) { 12511 return file_lightning_proto_rawDescGZIP(), []int{137} 12512 } 12513 12514 type DeleteAllPaymentsResponse struct { 12515 state protoimpl.MessageState 12516 sizeCache protoimpl.SizeCache 12517 unknownFields protoimpl.UnknownFields 12518 } 12519 12520 func (x *DeleteAllPaymentsResponse) Reset() { 12521 *x = DeleteAllPaymentsResponse{} 12522 if protoimpl.UnsafeEnabled { 12523 mi := &file_lightning_proto_msgTypes[138] 12524 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12525 ms.StoreMessageInfo(mi) 12526 } 12527 } 12528 12529 func (x *DeleteAllPaymentsResponse) String() string { 12530 return protoimpl.X.MessageStringOf(x) 12531 } 12532 12533 func (*DeleteAllPaymentsResponse) ProtoMessage() {} 12534 12535 func (x *DeleteAllPaymentsResponse) ProtoReflect() protoreflect.Message { 12536 mi := &file_lightning_proto_msgTypes[138] 12537 if protoimpl.UnsafeEnabled && x != nil { 12538 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12539 if ms.LoadMessageInfo() == nil { 12540 ms.StoreMessageInfo(mi) 12541 } 12542 return ms 12543 } 12544 return mi.MessageOf(x) 12545 } 12546 12547 // Deprecated: Use DeleteAllPaymentsResponse.ProtoReflect.Descriptor instead. 12548 func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) { 12549 return file_lightning_proto_rawDescGZIP(), []int{138} 12550 } 12551 12552 type AbandonChannelRequest struct { 12553 state protoimpl.MessageState 12554 sizeCache protoimpl.SizeCache 12555 unknownFields protoimpl.UnknownFields 12556 12557 ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` 12558 PendingFundingShimOnly bool `protobuf:"varint,2,opt,name=pending_funding_shim_only,json=pendingFundingShimOnly,proto3" json:"pending_funding_shim_only,omitempty"` 12559 // Override the requirement for being in dev mode by setting this to true and 12560 // confirming the user knows what they are doing and this is a potential foot 12561 // gun to lose funds if used on active channels. 12562 IKnowWhatIAmDoing bool `protobuf:"varint,3,opt,name=i_know_what_i_am_doing,json=iKnowWhatIAmDoing,proto3" json:"i_know_what_i_am_doing,omitempty"` 12563 } 12564 12565 func (x *AbandonChannelRequest) Reset() { 12566 *x = AbandonChannelRequest{} 12567 if protoimpl.UnsafeEnabled { 12568 mi := &file_lightning_proto_msgTypes[139] 12569 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12570 ms.StoreMessageInfo(mi) 12571 } 12572 } 12573 12574 func (x *AbandonChannelRequest) String() string { 12575 return protoimpl.X.MessageStringOf(x) 12576 } 12577 12578 func (*AbandonChannelRequest) ProtoMessage() {} 12579 12580 func (x *AbandonChannelRequest) ProtoReflect() protoreflect.Message { 12581 mi := &file_lightning_proto_msgTypes[139] 12582 if protoimpl.UnsafeEnabled && x != nil { 12583 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12584 if ms.LoadMessageInfo() == nil { 12585 ms.StoreMessageInfo(mi) 12586 } 12587 return ms 12588 } 12589 return mi.MessageOf(x) 12590 } 12591 12592 // Deprecated: Use AbandonChannelRequest.ProtoReflect.Descriptor instead. 12593 func (*AbandonChannelRequest) Descriptor() ([]byte, []int) { 12594 return file_lightning_proto_rawDescGZIP(), []int{139} 12595 } 12596 12597 func (x *AbandonChannelRequest) GetChannelPoint() *ChannelPoint { 12598 if x != nil { 12599 return x.ChannelPoint 12600 } 12601 return nil 12602 } 12603 12604 func (x *AbandonChannelRequest) GetPendingFundingShimOnly() bool { 12605 if x != nil { 12606 return x.PendingFundingShimOnly 12607 } 12608 return false 12609 } 12610 12611 func (x *AbandonChannelRequest) GetIKnowWhatIAmDoing() bool { 12612 if x != nil { 12613 return x.IKnowWhatIAmDoing 12614 } 12615 return false 12616 } 12617 12618 type AbandonChannelResponse struct { 12619 state protoimpl.MessageState 12620 sizeCache protoimpl.SizeCache 12621 unknownFields protoimpl.UnknownFields 12622 } 12623 12624 func (x *AbandonChannelResponse) Reset() { 12625 *x = AbandonChannelResponse{} 12626 if protoimpl.UnsafeEnabled { 12627 mi := &file_lightning_proto_msgTypes[140] 12628 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12629 ms.StoreMessageInfo(mi) 12630 } 12631 } 12632 12633 func (x *AbandonChannelResponse) String() string { 12634 return protoimpl.X.MessageStringOf(x) 12635 } 12636 12637 func (*AbandonChannelResponse) ProtoMessage() {} 12638 12639 func (x *AbandonChannelResponse) ProtoReflect() protoreflect.Message { 12640 mi := &file_lightning_proto_msgTypes[140] 12641 if protoimpl.UnsafeEnabled && x != nil { 12642 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12643 if ms.LoadMessageInfo() == nil { 12644 ms.StoreMessageInfo(mi) 12645 } 12646 return ms 12647 } 12648 return mi.MessageOf(x) 12649 } 12650 12651 // Deprecated: Use AbandonChannelResponse.ProtoReflect.Descriptor instead. 12652 func (*AbandonChannelResponse) Descriptor() ([]byte, []int) { 12653 return file_lightning_proto_rawDescGZIP(), []int{140} 12654 } 12655 12656 type DebugLevelRequest struct { 12657 state protoimpl.MessageState 12658 sizeCache protoimpl.SizeCache 12659 unknownFields protoimpl.UnknownFields 12660 12661 Show bool `protobuf:"varint,1,opt,name=show,proto3" json:"show,omitempty"` 12662 LevelSpec string `protobuf:"bytes,2,opt,name=level_spec,json=levelSpec,proto3" json:"level_spec,omitempty"` 12663 } 12664 12665 func (x *DebugLevelRequest) Reset() { 12666 *x = DebugLevelRequest{} 12667 if protoimpl.UnsafeEnabled { 12668 mi := &file_lightning_proto_msgTypes[141] 12669 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12670 ms.StoreMessageInfo(mi) 12671 } 12672 } 12673 12674 func (x *DebugLevelRequest) String() string { 12675 return protoimpl.X.MessageStringOf(x) 12676 } 12677 12678 func (*DebugLevelRequest) ProtoMessage() {} 12679 12680 func (x *DebugLevelRequest) ProtoReflect() protoreflect.Message { 12681 mi := &file_lightning_proto_msgTypes[141] 12682 if protoimpl.UnsafeEnabled && x != nil { 12683 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12684 if ms.LoadMessageInfo() == nil { 12685 ms.StoreMessageInfo(mi) 12686 } 12687 return ms 12688 } 12689 return mi.MessageOf(x) 12690 } 12691 12692 // Deprecated: Use DebugLevelRequest.ProtoReflect.Descriptor instead. 12693 func (*DebugLevelRequest) Descriptor() ([]byte, []int) { 12694 return file_lightning_proto_rawDescGZIP(), []int{141} 12695 } 12696 12697 func (x *DebugLevelRequest) GetShow() bool { 12698 if x != nil { 12699 return x.Show 12700 } 12701 return false 12702 } 12703 12704 func (x *DebugLevelRequest) GetLevelSpec() string { 12705 if x != nil { 12706 return x.LevelSpec 12707 } 12708 return "" 12709 } 12710 12711 type DebugLevelResponse struct { 12712 state protoimpl.MessageState 12713 sizeCache protoimpl.SizeCache 12714 unknownFields protoimpl.UnknownFields 12715 12716 SubSystems string `protobuf:"bytes,1,opt,name=sub_systems,json=subSystems,proto3" json:"sub_systems,omitempty"` 12717 } 12718 12719 func (x *DebugLevelResponse) Reset() { 12720 *x = DebugLevelResponse{} 12721 if protoimpl.UnsafeEnabled { 12722 mi := &file_lightning_proto_msgTypes[142] 12723 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12724 ms.StoreMessageInfo(mi) 12725 } 12726 } 12727 12728 func (x *DebugLevelResponse) String() string { 12729 return protoimpl.X.MessageStringOf(x) 12730 } 12731 12732 func (*DebugLevelResponse) ProtoMessage() {} 12733 12734 func (x *DebugLevelResponse) ProtoReflect() protoreflect.Message { 12735 mi := &file_lightning_proto_msgTypes[142] 12736 if protoimpl.UnsafeEnabled && x != nil { 12737 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12738 if ms.LoadMessageInfo() == nil { 12739 ms.StoreMessageInfo(mi) 12740 } 12741 return ms 12742 } 12743 return mi.MessageOf(x) 12744 } 12745 12746 // Deprecated: Use DebugLevelResponse.ProtoReflect.Descriptor instead. 12747 func (*DebugLevelResponse) Descriptor() ([]byte, []int) { 12748 return file_lightning_proto_rawDescGZIP(), []int{142} 12749 } 12750 12751 func (x *DebugLevelResponse) GetSubSystems() string { 12752 if x != nil { 12753 return x.SubSystems 12754 } 12755 return "" 12756 } 12757 12758 type CalcPaymentStatsRequest struct { 12759 state protoimpl.MessageState 12760 sizeCache protoimpl.SizeCache 12761 unknownFields protoimpl.UnknownFields 12762 } 12763 12764 func (x *CalcPaymentStatsRequest) Reset() { 12765 *x = CalcPaymentStatsRequest{} 12766 if protoimpl.UnsafeEnabled { 12767 mi := &file_lightning_proto_msgTypes[143] 12768 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12769 ms.StoreMessageInfo(mi) 12770 } 12771 } 12772 12773 func (x *CalcPaymentStatsRequest) String() string { 12774 return protoimpl.X.MessageStringOf(x) 12775 } 12776 12777 func (*CalcPaymentStatsRequest) ProtoMessage() {} 12778 12779 func (x *CalcPaymentStatsRequest) ProtoReflect() protoreflect.Message { 12780 mi := &file_lightning_proto_msgTypes[143] 12781 if protoimpl.UnsafeEnabled && x != nil { 12782 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12783 if ms.LoadMessageInfo() == nil { 12784 ms.StoreMessageInfo(mi) 12785 } 12786 return ms 12787 } 12788 return mi.MessageOf(x) 12789 } 12790 12791 // Deprecated: Use CalcPaymentStatsRequest.ProtoReflect.Descriptor instead. 12792 func (*CalcPaymentStatsRequest) Descriptor() ([]byte, []int) { 12793 return file_lightning_proto_rawDescGZIP(), []int{143} 12794 } 12795 12796 type CalcPaymentStatsResponse struct { 12797 state protoimpl.MessageState 12798 sizeCache protoimpl.SizeCache 12799 unknownFields protoimpl.UnknownFields 12800 12801 Total uint64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` 12802 Failed uint64 `protobuf:"varint,2,opt,name=failed,proto3" json:"failed,omitempty"` 12803 Succeeded uint64 `protobuf:"varint,3,opt,name=succeeded,proto3" json:"succeeded,omitempty"` 12804 HtlcAttempts uint64 `protobuf:"varint,4,opt,name=htlc_attempts,json=htlcAttempts,proto3" json:"htlc_attempts,omitempty"` 12805 HtlcFailed uint64 `protobuf:"varint,5,opt,name=htlc_failed,json=htlcFailed,proto3" json:"htlc_failed,omitempty"` 12806 HtlcSettled uint64 `protobuf:"varint,6,opt,name=htlc_settled,json=htlcSettled,proto3" json:"htlc_settled,omitempty"` 12807 OldDupePayments uint64 `protobuf:"varint,7,opt,name=old_dupe_payments,json=oldDupePayments,proto3" json:"old_dupe_payments,omitempty"` 12808 } 12809 12810 func (x *CalcPaymentStatsResponse) Reset() { 12811 *x = CalcPaymentStatsResponse{} 12812 if protoimpl.UnsafeEnabled { 12813 mi := &file_lightning_proto_msgTypes[144] 12814 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12815 ms.StoreMessageInfo(mi) 12816 } 12817 } 12818 12819 func (x *CalcPaymentStatsResponse) String() string { 12820 return protoimpl.X.MessageStringOf(x) 12821 } 12822 12823 func (*CalcPaymentStatsResponse) ProtoMessage() {} 12824 12825 func (x *CalcPaymentStatsResponse) ProtoReflect() protoreflect.Message { 12826 mi := &file_lightning_proto_msgTypes[144] 12827 if protoimpl.UnsafeEnabled && x != nil { 12828 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12829 if ms.LoadMessageInfo() == nil { 12830 ms.StoreMessageInfo(mi) 12831 } 12832 return ms 12833 } 12834 return mi.MessageOf(x) 12835 } 12836 12837 // Deprecated: Use CalcPaymentStatsResponse.ProtoReflect.Descriptor instead. 12838 func (*CalcPaymentStatsResponse) Descriptor() ([]byte, []int) { 12839 return file_lightning_proto_rawDescGZIP(), []int{144} 12840 } 12841 12842 func (x *CalcPaymentStatsResponse) GetTotal() uint64 { 12843 if x != nil { 12844 return x.Total 12845 } 12846 return 0 12847 } 12848 12849 func (x *CalcPaymentStatsResponse) GetFailed() uint64 { 12850 if x != nil { 12851 return x.Failed 12852 } 12853 return 0 12854 } 12855 12856 func (x *CalcPaymentStatsResponse) GetSucceeded() uint64 { 12857 if x != nil { 12858 return x.Succeeded 12859 } 12860 return 0 12861 } 12862 12863 func (x *CalcPaymentStatsResponse) GetHtlcAttempts() uint64 { 12864 if x != nil { 12865 return x.HtlcAttempts 12866 } 12867 return 0 12868 } 12869 12870 func (x *CalcPaymentStatsResponse) GetHtlcFailed() uint64 { 12871 if x != nil { 12872 return x.HtlcFailed 12873 } 12874 return 0 12875 } 12876 12877 func (x *CalcPaymentStatsResponse) GetHtlcSettled() uint64 { 12878 if x != nil { 12879 return x.HtlcSettled 12880 } 12881 return 0 12882 } 12883 12884 func (x *CalcPaymentStatsResponse) GetOldDupePayments() uint64 { 12885 if x != nil { 12886 return x.OldDupePayments 12887 } 12888 return 0 12889 } 12890 12891 type PayReqString struct { 12892 state protoimpl.MessageState 12893 sizeCache protoimpl.SizeCache 12894 unknownFields protoimpl.UnknownFields 12895 12896 // The payment request string to be decoded 12897 PayReq string `protobuf:"bytes,1,opt,name=pay_req,json=payReq,proto3" json:"pay_req,omitempty"` 12898 } 12899 12900 func (x *PayReqString) Reset() { 12901 *x = PayReqString{} 12902 if protoimpl.UnsafeEnabled { 12903 mi := &file_lightning_proto_msgTypes[145] 12904 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12905 ms.StoreMessageInfo(mi) 12906 } 12907 } 12908 12909 func (x *PayReqString) String() string { 12910 return protoimpl.X.MessageStringOf(x) 12911 } 12912 12913 func (*PayReqString) ProtoMessage() {} 12914 12915 func (x *PayReqString) ProtoReflect() protoreflect.Message { 12916 mi := &file_lightning_proto_msgTypes[145] 12917 if protoimpl.UnsafeEnabled && x != nil { 12918 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12919 if ms.LoadMessageInfo() == nil { 12920 ms.StoreMessageInfo(mi) 12921 } 12922 return ms 12923 } 12924 return mi.MessageOf(x) 12925 } 12926 12927 // Deprecated: Use PayReqString.ProtoReflect.Descriptor instead. 12928 func (*PayReqString) Descriptor() ([]byte, []int) { 12929 return file_lightning_proto_rawDescGZIP(), []int{145} 12930 } 12931 12932 func (x *PayReqString) GetPayReq() string { 12933 if x != nil { 12934 return x.PayReq 12935 } 12936 return "" 12937 } 12938 12939 type PayReq struct { 12940 state protoimpl.MessageState 12941 sizeCache protoimpl.SizeCache 12942 unknownFields protoimpl.UnknownFields 12943 12944 Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` 12945 PaymentHash string `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` 12946 NumAtoms int64 `protobuf:"varint,3,opt,name=num_atoms,json=numAtoms,proto3" json:"num_atoms,omitempty"` 12947 Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 12948 Expiry int64 `protobuf:"varint,5,opt,name=expiry,proto3" json:"expiry,omitempty"` 12949 Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` 12950 DescriptionHash string `protobuf:"bytes,7,opt,name=description_hash,json=descriptionHash,proto3" json:"description_hash,omitempty"` 12951 FallbackAddr string `protobuf:"bytes,8,opt,name=fallback_addr,json=fallbackAddr,proto3" json:"fallback_addr,omitempty"` 12952 CltvExpiry int64 `protobuf:"varint,9,opt,name=cltv_expiry,json=cltvExpiry,proto3" json:"cltv_expiry,omitempty"` 12953 RouteHints []*RouteHint `protobuf:"bytes,10,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` 12954 PaymentAddr []byte `protobuf:"bytes,11,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` 12955 NumMAtoms int64 `protobuf:"varint,12,opt,name=num_m_atoms,json=numMAtoms,proto3" json:"num_m_atoms,omitempty"` 12956 Features map[uint32]*Feature `protobuf:"bytes,13,rep,name=features,proto3" json:"features,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 12957 } 12958 12959 func (x *PayReq) Reset() { 12960 *x = PayReq{} 12961 if protoimpl.UnsafeEnabled { 12962 mi := &file_lightning_proto_msgTypes[146] 12963 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12964 ms.StoreMessageInfo(mi) 12965 } 12966 } 12967 12968 func (x *PayReq) String() string { 12969 return protoimpl.X.MessageStringOf(x) 12970 } 12971 12972 func (*PayReq) ProtoMessage() {} 12973 12974 func (x *PayReq) ProtoReflect() protoreflect.Message { 12975 mi := &file_lightning_proto_msgTypes[146] 12976 if protoimpl.UnsafeEnabled && x != nil { 12977 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 12978 if ms.LoadMessageInfo() == nil { 12979 ms.StoreMessageInfo(mi) 12980 } 12981 return ms 12982 } 12983 return mi.MessageOf(x) 12984 } 12985 12986 // Deprecated: Use PayReq.ProtoReflect.Descriptor instead. 12987 func (*PayReq) Descriptor() ([]byte, []int) { 12988 return file_lightning_proto_rawDescGZIP(), []int{146} 12989 } 12990 12991 func (x *PayReq) GetDestination() string { 12992 if x != nil { 12993 return x.Destination 12994 } 12995 return "" 12996 } 12997 12998 func (x *PayReq) GetPaymentHash() string { 12999 if x != nil { 13000 return x.PaymentHash 13001 } 13002 return "" 13003 } 13004 13005 func (x *PayReq) GetNumAtoms() int64 { 13006 if x != nil { 13007 return x.NumAtoms 13008 } 13009 return 0 13010 } 13011 13012 func (x *PayReq) GetTimestamp() int64 { 13013 if x != nil { 13014 return x.Timestamp 13015 } 13016 return 0 13017 } 13018 13019 func (x *PayReq) GetExpiry() int64 { 13020 if x != nil { 13021 return x.Expiry 13022 } 13023 return 0 13024 } 13025 13026 func (x *PayReq) GetDescription() string { 13027 if x != nil { 13028 return x.Description 13029 } 13030 return "" 13031 } 13032 13033 func (x *PayReq) GetDescriptionHash() string { 13034 if x != nil { 13035 return x.DescriptionHash 13036 } 13037 return "" 13038 } 13039 13040 func (x *PayReq) GetFallbackAddr() string { 13041 if x != nil { 13042 return x.FallbackAddr 13043 } 13044 return "" 13045 } 13046 13047 func (x *PayReq) GetCltvExpiry() int64 { 13048 if x != nil { 13049 return x.CltvExpiry 13050 } 13051 return 0 13052 } 13053 13054 func (x *PayReq) GetRouteHints() []*RouteHint { 13055 if x != nil { 13056 return x.RouteHints 13057 } 13058 return nil 13059 } 13060 13061 func (x *PayReq) GetPaymentAddr() []byte { 13062 if x != nil { 13063 return x.PaymentAddr 13064 } 13065 return nil 13066 } 13067 13068 func (x *PayReq) GetNumMAtoms() int64 { 13069 if x != nil { 13070 return x.NumMAtoms 13071 } 13072 return 0 13073 } 13074 13075 func (x *PayReq) GetFeatures() map[uint32]*Feature { 13076 if x != nil { 13077 return x.Features 13078 } 13079 return nil 13080 } 13081 13082 type Feature struct { 13083 state protoimpl.MessageState 13084 sizeCache protoimpl.SizeCache 13085 unknownFields protoimpl.UnknownFields 13086 13087 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 13088 IsRequired bool `protobuf:"varint,3,opt,name=is_required,json=isRequired,proto3" json:"is_required,omitempty"` 13089 IsKnown bool `protobuf:"varint,4,opt,name=is_known,json=isKnown,proto3" json:"is_known,omitempty"` 13090 } 13091 13092 func (x *Feature) Reset() { 13093 *x = Feature{} 13094 if protoimpl.UnsafeEnabled { 13095 mi := &file_lightning_proto_msgTypes[147] 13096 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13097 ms.StoreMessageInfo(mi) 13098 } 13099 } 13100 13101 func (x *Feature) String() string { 13102 return protoimpl.X.MessageStringOf(x) 13103 } 13104 13105 func (*Feature) ProtoMessage() {} 13106 13107 func (x *Feature) ProtoReflect() protoreflect.Message { 13108 mi := &file_lightning_proto_msgTypes[147] 13109 if protoimpl.UnsafeEnabled && x != nil { 13110 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13111 if ms.LoadMessageInfo() == nil { 13112 ms.StoreMessageInfo(mi) 13113 } 13114 return ms 13115 } 13116 return mi.MessageOf(x) 13117 } 13118 13119 // Deprecated: Use Feature.ProtoReflect.Descriptor instead. 13120 func (*Feature) Descriptor() ([]byte, []int) { 13121 return file_lightning_proto_rawDescGZIP(), []int{147} 13122 } 13123 13124 func (x *Feature) GetName() string { 13125 if x != nil { 13126 return x.Name 13127 } 13128 return "" 13129 } 13130 13131 func (x *Feature) GetIsRequired() bool { 13132 if x != nil { 13133 return x.IsRequired 13134 } 13135 return false 13136 } 13137 13138 func (x *Feature) GetIsKnown() bool { 13139 if x != nil { 13140 return x.IsKnown 13141 } 13142 return false 13143 } 13144 13145 type FeeReportRequest struct { 13146 state protoimpl.MessageState 13147 sizeCache protoimpl.SizeCache 13148 unknownFields protoimpl.UnknownFields 13149 } 13150 13151 func (x *FeeReportRequest) Reset() { 13152 *x = FeeReportRequest{} 13153 if protoimpl.UnsafeEnabled { 13154 mi := &file_lightning_proto_msgTypes[148] 13155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13156 ms.StoreMessageInfo(mi) 13157 } 13158 } 13159 13160 func (x *FeeReportRequest) String() string { 13161 return protoimpl.X.MessageStringOf(x) 13162 } 13163 13164 func (*FeeReportRequest) ProtoMessage() {} 13165 13166 func (x *FeeReportRequest) ProtoReflect() protoreflect.Message { 13167 mi := &file_lightning_proto_msgTypes[148] 13168 if protoimpl.UnsafeEnabled && x != nil { 13169 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13170 if ms.LoadMessageInfo() == nil { 13171 ms.StoreMessageInfo(mi) 13172 } 13173 return ms 13174 } 13175 return mi.MessageOf(x) 13176 } 13177 13178 // Deprecated: Use FeeReportRequest.ProtoReflect.Descriptor instead. 13179 func (*FeeReportRequest) Descriptor() ([]byte, []int) { 13180 return file_lightning_proto_rawDescGZIP(), []int{148} 13181 } 13182 13183 type ChannelFeeReport struct { 13184 state protoimpl.MessageState 13185 sizeCache protoimpl.SizeCache 13186 unknownFields protoimpl.UnknownFields 13187 13188 // The short channel id that this fee report belongs to. 13189 ChanId uint64 `protobuf:"varint,5,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` 13190 // The channel that this fee report belongs to. 13191 ChannelPoint string `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` 13192 // The base fee charged regardless of the number of milli-atoms sent. 13193 BaseFeeMAtoms int64 `protobuf:"varint,2,opt,name=base_fee_m_atoms,json=baseFeeMAtoms,proto3" json:"base_fee_m_atoms,omitempty"` 13194 // The amount charged per milli-atoms transferred expressed in millionths 13195 // of a atom. 13196 FeePerMil int64 `protobuf:"varint,3,opt,name=fee_per_mil,json=feePerMil,proto3" json:"fee_per_mil,omitempty"` 13197 // The effective fee rate in milli-atoms. Computed by dividing the 13198 // fee_per_mil value by 1 million. 13199 FeeRate float64 `protobuf:"fixed64,4,opt,name=fee_rate,json=feeRate,proto3" json:"fee_rate,omitempty"` 13200 } 13201 13202 func (x *ChannelFeeReport) Reset() { 13203 *x = ChannelFeeReport{} 13204 if protoimpl.UnsafeEnabled { 13205 mi := &file_lightning_proto_msgTypes[149] 13206 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13207 ms.StoreMessageInfo(mi) 13208 } 13209 } 13210 13211 func (x *ChannelFeeReport) String() string { 13212 return protoimpl.X.MessageStringOf(x) 13213 } 13214 13215 func (*ChannelFeeReport) ProtoMessage() {} 13216 13217 func (x *ChannelFeeReport) ProtoReflect() protoreflect.Message { 13218 mi := &file_lightning_proto_msgTypes[149] 13219 if protoimpl.UnsafeEnabled && x != nil { 13220 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13221 if ms.LoadMessageInfo() == nil { 13222 ms.StoreMessageInfo(mi) 13223 } 13224 return ms 13225 } 13226 return mi.MessageOf(x) 13227 } 13228 13229 // Deprecated: Use ChannelFeeReport.ProtoReflect.Descriptor instead. 13230 func (*ChannelFeeReport) Descriptor() ([]byte, []int) { 13231 return file_lightning_proto_rawDescGZIP(), []int{149} 13232 } 13233 13234 func (x *ChannelFeeReport) GetChanId() uint64 { 13235 if x != nil { 13236 return x.ChanId 13237 } 13238 return 0 13239 } 13240 13241 func (x *ChannelFeeReport) GetChannelPoint() string { 13242 if x != nil { 13243 return x.ChannelPoint 13244 } 13245 return "" 13246 } 13247 13248 func (x *ChannelFeeReport) GetBaseFeeMAtoms() int64 { 13249 if x != nil { 13250 return x.BaseFeeMAtoms 13251 } 13252 return 0 13253 } 13254 13255 func (x *ChannelFeeReport) GetFeePerMil() int64 { 13256 if x != nil { 13257 return x.FeePerMil 13258 } 13259 return 0 13260 } 13261 13262 func (x *ChannelFeeReport) GetFeeRate() float64 { 13263 if x != nil { 13264 return x.FeeRate 13265 } 13266 return 0 13267 } 13268 13269 type FeeReportResponse struct { 13270 state protoimpl.MessageState 13271 sizeCache protoimpl.SizeCache 13272 unknownFields protoimpl.UnknownFields 13273 13274 // An array of channel fee reports which describes the current fee schedule 13275 // for each channel. 13276 ChannelFees []*ChannelFeeReport `protobuf:"bytes,1,rep,name=channel_fees,json=channelFees,proto3" json:"channel_fees,omitempty"` 13277 // The total amount of fee revenue (in atoms) the switch has collected over 13278 // the past 24 hrs. 13279 DayFeeSum uint64 `protobuf:"varint,2,opt,name=day_fee_sum,json=dayFeeSum,proto3" json:"day_fee_sum,omitempty"` 13280 // The total amount of fee revenue (in atoms) the switch has collected over 13281 // the past 1 week. 13282 WeekFeeSum uint64 `protobuf:"varint,3,opt,name=week_fee_sum,json=weekFeeSum,proto3" json:"week_fee_sum,omitempty"` 13283 // The total amount of fee revenue (in atoms) the switch has collected over 13284 // the past 1 month. 13285 MonthFeeSum uint64 `protobuf:"varint,4,opt,name=month_fee_sum,json=monthFeeSum,proto3" json:"month_fee_sum,omitempty"` 13286 } 13287 13288 func (x *FeeReportResponse) Reset() { 13289 *x = FeeReportResponse{} 13290 if protoimpl.UnsafeEnabled { 13291 mi := &file_lightning_proto_msgTypes[150] 13292 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13293 ms.StoreMessageInfo(mi) 13294 } 13295 } 13296 13297 func (x *FeeReportResponse) String() string { 13298 return protoimpl.X.MessageStringOf(x) 13299 } 13300 13301 func (*FeeReportResponse) ProtoMessage() {} 13302 13303 func (x *FeeReportResponse) ProtoReflect() protoreflect.Message { 13304 mi := &file_lightning_proto_msgTypes[150] 13305 if protoimpl.UnsafeEnabled && x != nil { 13306 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13307 if ms.LoadMessageInfo() == nil { 13308 ms.StoreMessageInfo(mi) 13309 } 13310 return ms 13311 } 13312 return mi.MessageOf(x) 13313 } 13314 13315 // Deprecated: Use FeeReportResponse.ProtoReflect.Descriptor instead. 13316 func (*FeeReportResponse) Descriptor() ([]byte, []int) { 13317 return file_lightning_proto_rawDescGZIP(), []int{150} 13318 } 13319 13320 func (x *FeeReportResponse) GetChannelFees() []*ChannelFeeReport { 13321 if x != nil { 13322 return x.ChannelFees 13323 } 13324 return nil 13325 } 13326 13327 func (x *FeeReportResponse) GetDayFeeSum() uint64 { 13328 if x != nil { 13329 return x.DayFeeSum 13330 } 13331 return 0 13332 } 13333 13334 func (x *FeeReportResponse) GetWeekFeeSum() uint64 { 13335 if x != nil { 13336 return x.WeekFeeSum 13337 } 13338 return 0 13339 } 13340 13341 func (x *FeeReportResponse) GetMonthFeeSum() uint64 { 13342 if x != nil { 13343 return x.MonthFeeSum 13344 } 13345 return 0 13346 } 13347 13348 type PolicyUpdateRequest struct { 13349 state protoimpl.MessageState 13350 sizeCache protoimpl.SizeCache 13351 unknownFields protoimpl.UnknownFields 13352 13353 // Types that are assignable to Scope: 13354 // 13355 // *PolicyUpdateRequest_Global 13356 // *PolicyUpdateRequest_ChanPoint 13357 Scope isPolicyUpdateRequest_Scope `protobuf_oneof:"scope"` 13358 // The base fee charged regardless of the number of milli-atoms sent. 13359 BaseFeeMAtoms int64 `protobuf:"varint,3,opt,name=base_fee_m_atoms,json=baseFeeMAtoms,proto3" json:"base_fee_m_atoms,omitempty"` 13360 // The effective fee rate in milli-atoms. The precision of this value goes 13361 // up to 6 decimal places, so 1e-6. 13362 FeeRate float64 `protobuf:"fixed64,4,opt,name=fee_rate,json=feeRate,proto3" json:"fee_rate,omitempty"` 13363 // The effective fee rate in micro-satoshis (parts per million). 13364 FeeRatePpm uint32 `protobuf:"varint,9,opt,name=fee_rate_ppm,json=feeRatePpm,proto3" json:"fee_rate_ppm,omitempty"` 13365 // The required timelock delta for HTLCs forwarded over the channel. 13366 TimeLockDelta uint32 `protobuf:"varint,5,opt,name=time_lock_delta,json=timeLockDelta,proto3" json:"time_lock_delta,omitempty"` 13367 // If set, the maximum HTLC size in milli-atoms. If unset, the maximum HTLC 13368 // will be unchanged. 13369 MaxHtlcMAtoms uint64 `protobuf:"varint,6,opt,name=max_htlc_m_atoms,json=maxHtlcMAtoms,proto3" json:"max_htlc_m_atoms,omitempty"` 13370 // The minimum HTLC size in milli-atoms. Only applied if 13371 // min_htlc_msat_specified is true. 13372 MinHtlcMAtoms uint64 `protobuf:"varint,7,opt,name=min_htlc_m_atoms,json=minHtlcMAtoms,proto3" json:"min_htlc_m_atoms,omitempty"` 13373 // If true, min_htlc_m_atoms is applied. 13374 MinHtlcMAtomsSpecified bool `protobuf:"varint,8,opt,name=min_htlc_m_atoms_specified,json=minHtlcMAtomsSpecified,proto3" json:"min_htlc_m_atoms_specified,omitempty"` 13375 } 13376 13377 func (x *PolicyUpdateRequest) Reset() { 13378 *x = PolicyUpdateRequest{} 13379 if protoimpl.UnsafeEnabled { 13380 mi := &file_lightning_proto_msgTypes[151] 13381 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13382 ms.StoreMessageInfo(mi) 13383 } 13384 } 13385 13386 func (x *PolicyUpdateRequest) String() string { 13387 return protoimpl.X.MessageStringOf(x) 13388 } 13389 13390 func (*PolicyUpdateRequest) ProtoMessage() {} 13391 13392 func (x *PolicyUpdateRequest) ProtoReflect() protoreflect.Message { 13393 mi := &file_lightning_proto_msgTypes[151] 13394 if protoimpl.UnsafeEnabled && x != nil { 13395 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13396 if ms.LoadMessageInfo() == nil { 13397 ms.StoreMessageInfo(mi) 13398 } 13399 return ms 13400 } 13401 return mi.MessageOf(x) 13402 } 13403 13404 // Deprecated: Use PolicyUpdateRequest.ProtoReflect.Descriptor instead. 13405 func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) { 13406 return file_lightning_proto_rawDescGZIP(), []int{151} 13407 } 13408 13409 func (m *PolicyUpdateRequest) GetScope() isPolicyUpdateRequest_Scope { 13410 if m != nil { 13411 return m.Scope 13412 } 13413 return nil 13414 } 13415 13416 func (x *PolicyUpdateRequest) GetGlobal() bool { 13417 if x, ok := x.GetScope().(*PolicyUpdateRequest_Global); ok { 13418 return x.Global 13419 } 13420 return false 13421 } 13422 13423 func (x *PolicyUpdateRequest) GetChanPoint() *ChannelPoint { 13424 if x, ok := x.GetScope().(*PolicyUpdateRequest_ChanPoint); ok { 13425 return x.ChanPoint 13426 } 13427 return nil 13428 } 13429 13430 func (x *PolicyUpdateRequest) GetBaseFeeMAtoms() int64 { 13431 if x != nil { 13432 return x.BaseFeeMAtoms 13433 } 13434 return 0 13435 } 13436 13437 func (x *PolicyUpdateRequest) GetFeeRate() float64 { 13438 if x != nil { 13439 return x.FeeRate 13440 } 13441 return 0 13442 } 13443 13444 func (x *PolicyUpdateRequest) GetFeeRatePpm() uint32 { 13445 if x != nil { 13446 return x.FeeRatePpm 13447 } 13448 return 0 13449 } 13450 13451 func (x *PolicyUpdateRequest) GetTimeLockDelta() uint32 { 13452 if x != nil { 13453 return x.TimeLockDelta 13454 } 13455 return 0 13456 } 13457 13458 func (x *PolicyUpdateRequest) GetMaxHtlcMAtoms() uint64 { 13459 if x != nil { 13460 return x.MaxHtlcMAtoms 13461 } 13462 return 0 13463 } 13464 13465 func (x *PolicyUpdateRequest) GetMinHtlcMAtoms() uint64 { 13466 if x != nil { 13467 return x.MinHtlcMAtoms 13468 } 13469 return 0 13470 } 13471 13472 func (x *PolicyUpdateRequest) GetMinHtlcMAtomsSpecified() bool { 13473 if x != nil { 13474 return x.MinHtlcMAtomsSpecified 13475 } 13476 return false 13477 } 13478 13479 type isPolicyUpdateRequest_Scope interface { 13480 isPolicyUpdateRequest_Scope() 13481 } 13482 13483 type PolicyUpdateRequest_Global struct { 13484 // If set, then this update applies to all currently active channels. 13485 Global bool `protobuf:"varint,1,opt,name=global,proto3,oneof"` 13486 } 13487 13488 type PolicyUpdateRequest_ChanPoint struct { 13489 // If set, this update will target a specific channel. 13490 ChanPoint *ChannelPoint `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint,proto3,oneof"` 13491 } 13492 13493 func (*PolicyUpdateRequest_Global) isPolicyUpdateRequest_Scope() {} 13494 13495 func (*PolicyUpdateRequest_ChanPoint) isPolicyUpdateRequest_Scope() {} 13496 13497 type FailedUpdate struct { 13498 state protoimpl.MessageState 13499 sizeCache protoimpl.SizeCache 13500 unknownFields protoimpl.UnknownFields 13501 13502 // The outpoint in format txid:n 13503 Outpoint *OutPoint `protobuf:"bytes,1,opt,name=outpoint,proto3" json:"outpoint,omitempty"` 13504 // Reason for the policy update failure. 13505 Reason UpdateFailure `protobuf:"varint,2,opt,name=reason,proto3,enum=lnrpc.UpdateFailure" json:"reason,omitempty"` 13506 // A string representation of the policy update error. 13507 UpdateError string `protobuf:"bytes,3,opt,name=update_error,json=updateError,proto3" json:"update_error,omitempty"` 13508 } 13509 13510 func (x *FailedUpdate) Reset() { 13511 *x = FailedUpdate{} 13512 if protoimpl.UnsafeEnabled { 13513 mi := &file_lightning_proto_msgTypes[152] 13514 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13515 ms.StoreMessageInfo(mi) 13516 } 13517 } 13518 13519 func (x *FailedUpdate) String() string { 13520 return protoimpl.X.MessageStringOf(x) 13521 } 13522 13523 func (*FailedUpdate) ProtoMessage() {} 13524 13525 func (x *FailedUpdate) ProtoReflect() protoreflect.Message { 13526 mi := &file_lightning_proto_msgTypes[152] 13527 if protoimpl.UnsafeEnabled && x != nil { 13528 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13529 if ms.LoadMessageInfo() == nil { 13530 ms.StoreMessageInfo(mi) 13531 } 13532 return ms 13533 } 13534 return mi.MessageOf(x) 13535 } 13536 13537 // Deprecated: Use FailedUpdate.ProtoReflect.Descriptor instead. 13538 func (*FailedUpdate) Descriptor() ([]byte, []int) { 13539 return file_lightning_proto_rawDescGZIP(), []int{152} 13540 } 13541 13542 func (x *FailedUpdate) GetOutpoint() *OutPoint { 13543 if x != nil { 13544 return x.Outpoint 13545 } 13546 return nil 13547 } 13548 13549 func (x *FailedUpdate) GetReason() UpdateFailure { 13550 if x != nil { 13551 return x.Reason 13552 } 13553 return UpdateFailure_UPDATE_FAILURE_UNKNOWN 13554 } 13555 13556 func (x *FailedUpdate) GetUpdateError() string { 13557 if x != nil { 13558 return x.UpdateError 13559 } 13560 return "" 13561 } 13562 13563 type PolicyUpdateResponse struct { 13564 state protoimpl.MessageState 13565 sizeCache protoimpl.SizeCache 13566 unknownFields protoimpl.UnknownFields 13567 13568 // List of failed policy updates. 13569 FailedUpdates []*FailedUpdate `protobuf:"bytes,1,rep,name=failed_updates,json=failedUpdates,proto3" json:"failed_updates,omitempty"` 13570 } 13571 13572 func (x *PolicyUpdateResponse) Reset() { 13573 *x = PolicyUpdateResponse{} 13574 if protoimpl.UnsafeEnabled { 13575 mi := &file_lightning_proto_msgTypes[153] 13576 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13577 ms.StoreMessageInfo(mi) 13578 } 13579 } 13580 13581 func (x *PolicyUpdateResponse) String() string { 13582 return protoimpl.X.MessageStringOf(x) 13583 } 13584 13585 func (*PolicyUpdateResponse) ProtoMessage() {} 13586 13587 func (x *PolicyUpdateResponse) ProtoReflect() protoreflect.Message { 13588 mi := &file_lightning_proto_msgTypes[153] 13589 if protoimpl.UnsafeEnabled && x != nil { 13590 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13591 if ms.LoadMessageInfo() == nil { 13592 ms.StoreMessageInfo(mi) 13593 } 13594 return ms 13595 } 13596 return mi.MessageOf(x) 13597 } 13598 13599 // Deprecated: Use PolicyUpdateResponse.ProtoReflect.Descriptor instead. 13600 func (*PolicyUpdateResponse) Descriptor() ([]byte, []int) { 13601 return file_lightning_proto_rawDescGZIP(), []int{153} 13602 } 13603 13604 func (x *PolicyUpdateResponse) GetFailedUpdates() []*FailedUpdate { 13605 if x != nil { 13606 return x.FailedUpdates 13607 } 13608 return nil 13609 } 13610 13611 type ForwardingHistoryRequest struct { 13612 state protoimpl.MessageState 13613 sizeCache protoimpl.SizeCache 13614 unknownFields protoimpl.UnknownFields 13615 13616 // Start time is the starting point of the forwarding history request. All 13617 // records beyond this point will be included, respecting the end time, and 13618 // the index offset. 13619 StartTime uint64 `protobuf:"varint,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 13620 // End time is the end point of the forwarding history request. The 13621 // response will carry at most 50k records between the start time and the 13622 // end time. The index offset can be used to implement pagination. 13623 EndTime uint64 `protobuf:"varint,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 13624 // Index offset is the offset in the time series to start at. As each 13625 // response can only contain 50k records, callers can use this to skip 13626 // around within a packed time series. 13627 IndexOffset uint32 `protobuf:"varint,3,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"` 13628 // The max number of events to return in the response to this query. 13629 NumMaxEvents uint32 `protobuf:"varint,4,opt,name=num_max_events,json=numMaxEvents,proto3" json:"num_max_events,omitempty"` 13630 } 13631 13632 func (x *ForwardingHistoryRequest) Reset() { 13633 *x = ForwardingHistoryRequest{} 13634 if protoimpl.UnsafeEnabled { 13635 mi := &file_lightning_proto_msgTypes[154] 13636 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13637 ms.StoreMessageInfo(mi) 13638 } 13639 } 13640 13641 func (x *ForwardingHistoryRequest) String() string { 13642 return protoimpl.X.MessageStringOf(x) 13643 } 13644 13645 func (*ForwardingHistoryRequest) ProtoMessage() {} 13646 13647 func (x *ForwardingHistoryRequest) ProtoReflect() protoreflect.Message { 13648 mi := &file_lightning_proto_msgTypes[154] 13649 if protoimpl.UnsafeEnabled && x != nil { 13650 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13651 if ms.LoadMessageInfo() == nil { 13652 ms.StoreMessageInfo(mi) 13653 } 13654 return ms 13655 } 13656 return mi.MessageOf(x) 13657 } 13658 13659 // Deprecated: Use ForwardingHistoryRequest.ProtoReflect.Descriptor instead. 13660 func (*ForwardingHistoryRequest) Descriptor() ([]byte, []int) { 13661 return file_lightning_proto_rawDescGZIP(), []int{154} 13662 } 13663 13664 func (x *ForwardingHistoryRequest) GetStartTime() uint64 { 13665 if x != nil { 13666 return x.StartTime 13667 } 13668 return 0 13669 } 13670 13671 func (x *ForwardingHistoryRequest) GetEndTime() uint64 { 13672 if x != nil { 13673 return x.EndTime 13674 } 13675 return 0 13676 } 13677 13678 func (x *ForwardingHistoryRequest) GetIndexOffset() uint32 { 13679 if x != nil { 13680 return x.IndexOffset 13681 } 13682 return 0 13683 } 13684 13685 func (x *ForwardingHistoryRequest) GetNumMaxEvents() uint32 { 13686 if x != nil { 13687 return x.NumMaxEvents 13688 } 13689 return 0 13690 } 13691 13692 type ForwardingEvent struct { 13693 state protoimpl.MessageState 13694 sizeCache protoimpl.SizeCache 13695 unknownFields protoimpl.UnknownFields 13696 13697 // Timestamp is the time (unix epoch offset) that this circuit was 13698 // completed. Deprecated by timestamp_ns. 13699 // 13700 // Deprecated: Marked as deprecated in lightning.proto. 13701 Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 13702 // The incoming channel ID that carried the HTLC that created the circuit. 13703 ChanIdIn uint64 `protobuf:"varint,2,opt,name=chan_id_in,json=chanIdIn,proto3" json:"chan_id_in,omitempty"` 13704 // The outgoing channel ID that carried the preimage that completed the 13705 // circuit. 13706 ChanIdOut uint64 `protobuf:"varint,4,opt,name=chan_id_out,json=chanIdOut,proto3" json:"chan_id_out,omitempty"` 13707 // The total amount (in atoms) of the incoming HTLC that created half the 13708 // circuit. 13709 AmtIn uint64 `protobuf:"varint,5,opt,name=amt_in,json=amtIn,proto3" json:"amt_in,omitempty"` 13710 // The total amount (in atoms) of the outgoing HTLC that created the second 13711 // half of the circuit. 13712 AmtOut uint64 `protobuf:"varint,6,opt,name=amt_out,json=amtOut,proto3" json:"amt_out,omitempty"` 13713 // The total fee (in atoms) that this payment circuit carried. 13714 Fee uint64 `protobuf:"varint,7,opt,name=fee,proto3" json:"fee,omitempty"` 13715 // The total fee (in milli-atoms) that this payment circuit carried. 13716 FeeMAtoms uint64 `protobuf:"varint,8,opt,name=fee_m_atoms,json=feeMAtoms,proto3" json:"fee_m_atoms,omitempty"` 13717 // The total amount (in milli-atoms) of the incoming HTLC that created half 13718 // the circuit. 13719 AmtInMAtoms uint64 `protobuf:"varint,9,opt,name=amt_in_m_atoms,json=amtInMAtoms,proto3" json:"amt_in_m_atoms,omitempty"` 13720 // The total amount (in milli-atoms) of the outgoing HTLC that created the 13721 // second half of the circuit. 13722 AmtOutMAtoms uint64 `protobuf:"varint,10,opt,name=amt_out_m_atoms,json=amtOutMAtoms,proto3" json:"amt_out_m_atoms,omitempty"` 13723 // The number of nanoseconds elapsed since January 1, 1970 UTC when this 13724 // circuit was completed. 13725 TimestampNs uint64 `protobuf:"varint,11,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` 13726 } 13727 13728 func (x *ForwardingEvent) Reset() { 13729 *x = ForwardingEvent{} 13730 if protoimpl.UnsafeEnabled { 13731 mi := &file_lightning_proto_msgTypes[155] 13732 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13733 ms.StoreMessageInfo(mi) 13734 } 13735 } 13736 13737 func (x *ForwardingEvent) String() string { 13738 return protoimpl.X.MessageStringOf(x) 13739 } 13740 13741 func (*ForwardingEvent) ProtoMessage() {} 13742 13743 func (x *ForwardingEvent) ProtoReflect() protoreflect.Message { 13744 mi := &file_lightning_proto_msgTypes[155] 13745 if protoimpl.UnsafeEnabled && x != nil { 13746 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13747 if ms.LoadMessageInfo() == nil { 13748 ms.StoreMessageInfo(mi) 13749 } 13750 return ms 13751 } 13752 return mi.MessageOf(x) 13753 } 13754 13755 // Deprecated: Use ForwardingEvent.ProtoReflect.Descriptor instead. 13756 func (*ForwardingEvent) Descriptor() ([]byte, []int) { 13757 return file_lightning_proto_rawDescGZIP(), []int{155} 13758 } 13759 13760 // Deprecated: Marked as deprecated in lightning.proto. 13761 func (x *ForwardingEvent) GetTimestamp() uint64 { 13762 if x != nil { 13763 return x.Timestamp 13764 } 13765 return 0 13766 } 13767 13768 func (x *ForwardingEvent) GetChanIdIn() uint64 { 13769 if x != nil { 13770 return x.ChanIdIn 13771 } 13772 return 0 13773 } 13774 13775 func (x *ForwardingEvent) GetChanIdOut() uint64 { 13776 if x != nil { 13777 return x.ChanIdOut 13778 } 13779 return 0 13780 } 13781 13782 func (x *ForwardingEvent) GetAmtIn() uint64 { 13783 if x != nil { 13784 return x.AmtIn 13785 } 13786 return 0 13787 } 13788 13789 func (x *ForwardingEvent) GetAmtOut() uint64 { 13790 if x != nil { 13791 return x.AmtOut 13792 } 13793 return 0 13794 } 13795 13796 func (x *ForwardingEvent) GetFee() uint64 { 13797 if x != nil { 13798 return x.Fee 13799 } 13800 return 0 13801 } 13802 13803 func (x *ForwardingEvent) GetFeeMAtoms() uint64 { 13804 if x != nil { 13805 return x.FeeMAtoms 13806 } 13807 return 0 13808 } 13809 13810 func (x *ForwardingEvent) GetAmtInMAtoms() uint64 { 13811 if x != nil { 13812 return x.AmtInMAtoms 13813 } 13814 return 0 13815 } 13816 13817 func (x *ForwardingEvent) GetAmtOutMAtoms() uint64 { 13818 if x != nil { 13819 return x.AmtOutMAtoms 13820 } 13821 return 0 13822 } 13823 13824 func (x *ForwardingEvent) GetTimestampNs() uint64 { 13825 if x != nil { 13826 return x.TimestampNs 13827 } 13828 return 0 13829 } 13830 13831 type ForwardingHistoryResponse struct { 13832 state protoimpl.MessageState 13833 sizeCache protoimpl.SizeCache 13834 unknownFields protoimpl.UnknownFields 13835 13836 // A list of forwarding events from the time slice of the time series 13837 // specified in the request. 13838 ForwardingEvents []*ForwardingEvent `protobuf:"bytes,1,rep,name=forwarding_events,json=forwardingEvents,proto3" json:"forwarding_events,omitempty"` 13839 // The index of the last time in the set of returned forwarding events. Can 13840 // be used to seek further, pagination style. 13841 LastOffsetIndex uint32 `protobuf:"varint,2,opt,name=last_offset_index,json=lastOffsetIndex,proto3" json:"last_offset_index,omitempty"` 13842 } 13843 13844 func (x *ForwardingHistoryResponse) Reset() { 13845 *x = ForwardingHistoryResponse{} 13846 if protoimpl.UnsafeEnabled { 13847 mi := &file_lightning_proto_msgTypes[156] 13848 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13849 ms.StoreMessageInfo(mi) 13850 } 13851 } 13852 13853 func (x *ForwardingHistoryResponse) String() string { 13854 return protoimpl.X.MessageStringOf(x) 13855 } 13856 13857 func (*ForwardingHistoryResponse) ProtoMessage() {} 13858 13859 func (x *ForwardingHistoryResponse) ProtoReflect() protoreflect.Message { 13860 mi := &file_lightning_proto_msgTypes[156] 13861 if protoimpl.UnsafeEnabled && x != nil { 13862 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13863 if ms.LoadMessageInfo() == nil { 13864 ms.StoreMessageInfo(mi) 13865 } 13866 return ms 13867 } 13868 return mi.MessageOf(x) 13869 } 13870 13871 // Deprecated: Use ForwardingHistoryResponse.ProtoReflect.Descriptor instead. 13872 func (*ForwardingHistoryResponse) Descriptor() ([]byte, []int) { 13873 return file_lightning_proto_rawDescGZIP(), []int{156} 13874 } 13875 13876 func (x *ForwardingHistoryResponse) GetForwardingEvents() []*ForwardingEvent { 13877 if x != nil { 13878 return x.ForwardingEvents 13879 } 13880 return nil 13881 } 13882 13883 func (x *ForwardingHistoryResponse) GetLastOffsetIndex() uint32 { 13884 if x != nil { 13885 return x.LastOffsetIndex 13886 } 13887 return 0 13888 } 13889 13890 type ExportChannelBackupRequest struct { 13891 state protoimpl.MessageState 13892 sizeCache protoimpl.SizeCache 13893 unknownFields protoimpl.UnknownFields 13894 13895 // The target channel point to obtain a back up for. 13896 ChanPoint *ChannelPoint `protobuf:"bytes,1,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` 13897 } 13898 13899 func (x *ExportChannelBackupRequest) Reset() { 13900 *x = ExportChannelBackupRequest{} 13901 if protoimpl.UnsafeEnabled { 13902 mi := &file_lightning_proto_msgTypes[157] 13903 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13904 ms.StoreMessageInfo(mi) 13905 } 13906 } 13907 13908 func (x *ExportChannelBackupRequest) String() string { 13909 return protoimpl.X.MessageStringOf(x) 13910 } 13911 13912 func (*ExportChannelBackupRequest) ProtoMessage() {} 13913 13914 func (x *ExportChannelBackupRequest) ProtoReflect() protoreflect.Message { 13915 mi := &file_lightning_proto_msgTypes[157] 13916 if protoimpl.UnsafeEnabled && x != nil { 13917 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13918 if ms.LoadMessageInfo() == nil { 13919 ms.StoreMessageInfo(mi) 13920 } 13921 return ms 13922 } 13923 return mi.MessageOf(x) 13924 } 13925 13926 // Deprecated: Use ExportChannelBackupRequest.ProtoReflect.Descriptor instead. 13927 func (*ExportChannelBackupRequest) Descriptor() ([]byte, []int) { 13928 return file_lightning_proto_rawDescGZIP(), []int{157} 13929 } 13930 13931 func (x *ExportChannelBackupRequest) GetChanPoint() *ChannelPoint { 13932 if x != nil { 13933 return x.ChanPoint 13934 } 13935 return nil 13936 } 13937 13938 type ChannelBackup struct { 13939 state protoimpl.MessageState 13940 sizeCache protoimpl.SizeCache 13941 unknownFields protoimpl.UnknownFields 13942 13943 // Identifies the channel that this backup belongs to. 13944 ChanPoint *ChannelPoint `protobuf:"bytes,1,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` 13945 // Is an encrypted single-chan backup. this can be passed to 13946 // RestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in 13947 // order to trigger the recovery protocol. When using REST, this field must be 13948 // encoded as base64. 13949 ChanBackup []byte `protobuf:"bytes,2,opt,name=chan_backup,json=chanBackup,proto3" json:"chan_backup,omitempty"` 13950 } 13951 13952 func (x *ChannelBackup) Reset() { 13953 *x = ChannelBackup{} 13954 if protoimpl.UnsafeEnabled { 13955 mi := &file_lightning_proto_msgTypes[158] 13956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13957 ms.StoreMessageInfo(mi) 13958 } 13959 } 13960 13961 func (x *ChannelBackup) String() string { 13962 return protoimpl.X.MessageStringOf(x) 13963 } 13964 13965 func (*ChannelBackup) ProtoMessage() {} 13966 13967 func (x *ChannelBackup) ProtoReflect() protoreflect.Message { 13968 mi := &file_lightning_proto_msgTypes[158] 13969 if protoimpl.UnsafeEnabled && x != nil { 13970 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 13971 if ms.LoadMessageInfo() == nil { 13972 ms.StoreMessageInfo(mi) 13973 } 13974 return ms 13975 } 13976 return mi.MessageOf(x) 13977 } 13978 13979 // Deprecated: Use ChannelBackup.ProtoReflect.Descriptor instead. 13980 func (*ChannelBackup) Descriptor() ([]byte, []int) { 13981 return file_lightning_proto_rawDescGZIP(), []int{158} 13982 } 13983 13984 func (x *ChannelBackup) GetChanPoint() *ChannelPoint { 13985 if x != nil { 13986 return x.ChanPoint 13987 } 13988 return nil 13989 } 13990 13991 func (x *ChannelBackup) GetChanBackup() []byte { 13992 if x != nil { 13993 return x.ChanBackup 13994 } 13995 return nil 13996 } 13997 13998 type MultiChanBackup struct { 13999 state protoimpl.MessageState 14000 sizeCache protoimpl.SizeCache 14001 unknownFields protoimpl.UnknownFields 14002 14003 // Is the set of all channels that are included in this multi-channel backup. 14004 ChanPoints []*ChannelPoint `protobuf:"bytes,1,rep,name=chan_points,json=chanPoints,proto3" json:"chan_points,omitempty"` 14005 // A single encrypted blob containing all the static channel backups of the 14006 // channel listed above. This can be stored as a single file or blob, and 14007 // safely be replaced with any prior/future versions. When using REST, this 14008 // field must be encoded as base64. 14009 MultiChanBackup []byte `protobuf:"bytes,2,opt,name=multi_chan_backup,json=multiChanBackup,proto3" json:"multi_chan_backup,omitempty"` 14010 } 14011 14012 func (x *MultiChanBackup) Reset() { 14013 *x = MultiChanBackup{} 14014 if protoimpl.UnsafeEnabled { 14015 mi := &file_lightning_proto_msgTypes[159] 14016 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14017 ms.StoreMessageInfo(mi) 14018 } 14019 } 14020 14021 func (x *MultiChanBackup) String() string { 14022 return protoimpl.X.MessageStringOf(x) 14023 } 14024 14025 func (*MultiChanBackup) ProtoMessage() {} 14026 14027 func (x *MultiChanBackup) ProtoReflect() protoreflect.Message { 14028 mi := &file_lightning_proto_msgTypes[159] 14029 if protoimpl.UnsafeEnabled && x != nil { 14030 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14031 if ms.LoadMessageInfo() == nil { 14032 ms.StoreMessageInfo(mi) 14033 } 14034 return ms 14035 } 14036 return mi.MessageOf(x) 14037 } 14038 14039 // Deprecated: Use MultiChanBackup.ProtoReflect.Descriptor instead. 14040 func (*MultiChanBackup) Descriptor() ([]byte, []int) { 14041 return file_lightning_proto_rawDescGZIP(), []int{159} 14042 } 14043 14044 func (x *MultiChanBackup) GetChanPoints() []*ChannelPoint { 14045 if x != nil { 14046 return x.ChanPoints 14047 } 14048 return nil 14049 } 14050 14051 func (x *MultiChanBackup) GetMultiChanBackup() []byte { 14052 if x != nil { 14053 return x.MultiChanBackup 14054 } 14055 return nil 14056 } 14057 14058 type ChanBackupExportRequest struct { 14059 state protoimpl.MessageState 14060 sizeCache protoimpl.SizeCache 14061 unknownFields protoimpl.UnknownFields 14062 } 14063 14064 func (x *ChanBackupExportRequest) Reset() { 14065 *x = ChanBackupExportRequest{} 14066 if protoimpl.UnsafeEnabled { 14067 mi := &file_lightning_proto_msgTypes[160] 14068 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14069 ms.StoreMessageInfo(mi) 14070 } 14071 } 14072 14073 func (x *ChanBackupExportRequest) String() string { 14074 return protoimpl.X.MessageStringOf(x) 14075 } 14076 14077 func (*ChanBackupExportRequest) ProtoMessage() {} 14078 14079 func (x *ChanBackupExportRequest) ProtoReflect() protoreflect.Message { 14080 mi := &file_lightning_proto_msgTypes[160] 14081 if protoimpl.UnsafeEnabled && x != nil { 14082 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14083 if ms.LoadMessageInfo() == nil { 14084 ms.StoreMessageInfo(mi) 14085 } 14086 return ms 14087 } 14088 return mi.MessageOf(x) 14089 } 14090 14091 // Deprecated: Use ChanBackupExportRequest.ProtoReflect.Descriptor instead. 14092 func (*ChanBackupExportRequest) Descriptor() ([]byte, []int) { 14093 return file_lightning_proto_rawDescGZIP(), []int{160} 14094 } 14095 14096 type ChanBackupSnapshot struct { 14097 state protoimpl.MessageState 14098 sizeCache protoimpl.SizeCache 14099 unknownFields protoimpl.UnknownFields 14100 14101 // The set of new channels that have been added since the last channel backup 14102 // snapshot was requested. 14103 SingleChanBackups *ChannelBackups `protobuf:"bytes,1,opt,name=single_chan_backups,json=singleChanBackups,proto3" json:"single_chan_backups,omitempty"` 14104 // A multi-channel backup that covers all open channels currently known to 14105 // lnd. 14106 MultiChanBackup *MultiChanBackup `protobuf:"bytes,2,opt,name=multi_chan_backup,json=multiChanBackup,proto3" json:"multi_chan_backup,omitempty"` 14107 } 14108 14109 func (x *ChanBackupSnapshot) Reset() { 14110 *x = ChanBackupSnapshot{} 14111 if protoimpl.UnsafeEnabled { 14112 mi := &file_lightning_proto_msgTypes[161] 14113 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14114 ms.StoreMessageInfo(mi) 14115 } 14116 } 14117 14118 func (x *ChanBackupSnapshot) String() string { 14119 return protoimpl.X.MessageStringOf(x) 14120 } 14121 14122 func (*ChanBackupSnapshot) ProtoMessage() {} 14123 14124 func (x *ChanBackupSnapshot) ProtoReflect() protoreflect.Message { 14125 mi := &file_lightning_proto_msgTypes[161] 14126 if protoimpl.UnsafeEnabled && x != nil { 14127 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14128 if ms.LoadMessageInfo() == nil { 14129 ms.StoreMessageInfo(mi) 14130 } 14131 return ms 14132 } 14133 return mi.MessageOf(x) 14134 } 14135 14136 // Deprecated: Use ChanBackupSnapshot.ProtoReflect.Descriptor instead. 14137 func (*ChanBackupSnapshot) Descriptor() ([]byte, []int) { 14138 return file_lightning_proto_rawDescGZIP(), []int{161} 14139 } 14140 14141 func (x *ChanBackupSnapshot) GetSingleChanBackups() *ChannelBackups { 14142 if x != nil { 14143 return x.SingleChanBackups 14144 } 14145 return nil 14146 } 14147 14148 func (x *ChanBackupSnapshot) GetMultiChanBackup() *MultiChanBackup { 14149 if x != nil { 14150 return x.MultiChanBackup 14151 } 14152 return nil 14153 } 14154 14155 type ChannelBackups struct { 14156 state protoimpl.MessageState 14157 sizeCache protoimpl.SizeCache 14158 unknownFields protoimpl.UnknownFields 14159 14160 // A set of single-chan static channel backups. 14161 ChanBackups []*ChannelBackup `protobuf:"bytes,1,rep,name=chan_backups,json=chanBackups,proto3" json:"chan_backups,omitempty"` 14162 } 14163 14164 func (x *ChannelBackups) Reset() { 14165 *x = ChannelBackups{} 14166 if protoimpl.UnsafeEnabled { 14167 mi := &file_lightning_proto_msgTypes[162] 14168 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14169 ms.StoreMessageInfo(mi) 14170 } 14171 } 14172 14173 func (x *ChannelBackups) String() string { 14174 return protoimpl.X.MessageStringOf(x) 14175 } 14176 14177 func (*ChannelBackups) ProtoMessage() {} 14178 14179 func (x *ChannelBackups) ProtoReflect() protoreflect.Message { 14180 mi := &file_lightning_proto_msgTypes[162] 14181 if protoimpl.UnsafeEnabled && x != nil { 14182 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14183 if ms.LoadMessageInfo() == nil { 14184 ms.StoreMessageInfo(mi) 14185 } 14186 return ms 14187 } 14188 return mi.MessageOf(x) 14189 } 14190 14191 // Deprecated: Use ChannelBackups.ProtoReflect.Descriptor instead. 14192 func (*ChannelBackups) Descriptor() ([]byte, []int) { 14193 return file_lightning_proto_rawDescGZIP(), []int{162} 14194 } 14195 14196 func (x *ChannelBackups) GetChanBackups() []*ChannelBackup { 14197 if x != nil { 14198 return x.ChanBackups 14199 } 14200 return nil 14201 } 14202 14203 type RestoreChanBackupRequest struct { 14204 state protoimpl.MessageState 14205 sizeCache protoimpl.SizeCache 14206 unknownFields protoimpl.UnknownFields 14207 14208 // Types that are assignable to Backup: 14209 // 14210 // *RestoreChanBackupRequest_ChanBackups 14211 // *RestoreChanBackupRequest_MultiChanBackup 14212 Backup isRestoreChanBackupRequest_Backup `protobuf_oneof:"backup"` 14213 } 14214 14215 func (x *RestoreChanBackupRequest) Reset() { 14216 *x = RestoreChanBackupRequest{} 14217 if protoimpl.UnsafeEnabled { 14218 mi := &file_lightning_proto_msgTypes[163] 14219 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14220 ms.StoreMessageInfo(mi) 14221 } 14222 } 14223 14224 func (x *RestoreChanBackupRequest) String() string { 14225 return protoimpl.X.MessageStringOf(x) 14226 } 14227 14228 func (*RestoreChanBackupRequest) ProtoMessage() {} 14229 14230 func (x *RestoreChanBackupRequest) ProtoReflect() protoreflect.Message { 14231 mi := &file_lightning_proto_msgTypes[163] 14232 if protoimpl.UnsafeEnabled && x != nil { 14233 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14234 if ms.LoadMessageInfo() == nil { 14235 ms.StoreMessageInfo(mi) 14236 } 14237 return ms 14238 } 14239 return mi.MessageOf(x) 14240 } 14241 14242 // Deprecated: Use RestoreChanBackupRequest.ProtoReflect.Descriptor instead. 14243 func (*RestoreChanBackupRequest) Descriptor() ([]byte, []int) { 14244 return file_lightning_proto_rawDescGZIP(), []int{163} 14245 } 14246 14247 func (m *RestoreChanBackupRequest) GetBackup() isRestoreChanBackupRequest_Backup { 14248 if m != nil { 14249 return m.Backup 14250 } 14251 return nil 14252 } 14253 14254 func (x *RestoreChanBackupRequest) GetChanBackups() *ChannelBackups { 14255 if x, ok := x.GetBackup().(*RestoreChanBackupRequest_ChanBackups); ok { 14256 return x.ChanBackups 14257 } 14258 return nil 14259 } 14260 14261 func (x *RestoreChanBackupRequest) GetMultiChanBackup() []byte { 14262 if x, ok := x.GetBackup().(*RestoreChanBackupRequest_MultiChanBackup); ok { 14263 return x.MultiChanBackup 14264 } 14265 return nil 14266 } 14267 14268 type isRestoreChanBackupRequest_Backup interface { 14269 isRestoreChanBackupRequest_Backup() 14270 } 14271 14272 type RestoreChanBackupRequest_ChanBackups struct { 14273 // The channels to restore as a list of channel/backup pairs. 14274 ChanBackups *ChannelBackups `protobuf:"bytes,1,opt,name=chan_backups,json=chanBackups,proto3,oneof"` 14275 } 14276 14277 type RestoreChanBackupRequest_MultiChanBackup struct { 14278 // The channels to restore in the packed multi backup format. When using 14279 // REST, this field must be encoded as base64. 14280 MultiChanBackup []byte `protobuf:"bytes,2,opt,name=multi_chan_backup,json=multiChanBackup,proto3,oneof"` 14281 } 14282 14283 func (*RestoreChanBackupRequest_ChanBackups) isRestoreChanBackupRequest_Backup() {} 14284 14285 func (*RestoreChanBackupRequest_MultiChanBackup) isRestoreChanBackupRequest_Backup() {} 14286 14287 type RestoreBackupResponse struct { 14288 state protoimpl.MessageState 14289 sizeCache protoimpl.SizeCache 14290 unknownFields protoimpl.UnknownFields 14291 } 14292 14293 func (x *RestoreBackupResponse) Reset() { 14294 *x = RestoreBackupResponse{} 14295 if protoimpl.UnsafeEnabled { 14296 mi := &file_lightning_proto_msgTypes[164] 14297 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14298 ms.StoreMessageInfo(mi) 14299 } 14300 } 14301 14302 func (x *RestoreBackupResponse) String() string { 14303 return protoimpl.X.MessageStringOf(x) 14304 } 14305 14306 func (*RestoreBackupResponse) ProtoMessage() {} 14307 14308 func (x *RestoreBackupResponse) ProtoReflect() protoreflect.Message { 14309 mi := &file_lightning_proto_msgTypes[164] 14310 if protoimpl.UnsafeEnabled && x != nil { 14311 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14312 if ms.LoadMessageInfo() == nil { 14313 ms.StoreMessageInfo(mi) 14314 } 14315 return ms 14316 } 14317 return mi.MessageOf(x) 14318 } 14319 14320 // Deprecated: Use RestoreBackupResponse.ProtoReflect.Descriptor instead. 14321 func (*RestoreBackupResponse) Descriptor() ([]byte, []int) { 14322 return file_lightning_proto_rawDescGZIP(), []int{164} 14323 } 14324 14325 type ChannelBackupSubscription struct { 14326 state protoimpl.MessageState 14327 sizeCache protoimpl.SizeCache 14328 unknownFields protoimpl.UnknownFields 14329 } 14330 14331 func (x *ChannelBackupSubscription) Reset() { 14332 *x = ChannelBackupSubscription{} 14333 if protoimpl.UnsafeEnabled { 14334 mi := &file_lightning_proto_msgTypes[165] 14335 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14336 ms.StoreMessageInfo(mi) 14337 } 14338 } 14339 14340 func (x *ChannelBackupSubscription) String() string { 14341 return protoimpl.X.MessageStringOf(x) 14342 } 14343 14344 func (*ChannelBackupSubscription) ProtoMessage() {} 14345 14346 func (x *ChannelBackupSubscription) ProtoReflect() protoreflect.Message { 14347 mi := &file_lightning_proto_msgTypes[165] 14348 if protoimpl.UnsafeEnabled && x != nil { 14349 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14350 if ms.LoadMessageInfo() == nil { 14351 ms.StoreMessageInfo(mi) 14352 } 14353 return ms 14354 } 14355 return mi.MessageOf(x) 14356 } 14357 14358 // Deprecated: Use ChannelBackupSubscription.ProtoReflect.Descriptor instead. 14359 func (*ChannelBackupSubscription) Descriptor() ([]byte, []int) { 14360 return file_lightning_proto_rawDescGZIP(), []int{165} 14361 } 14362 14363 type VerifyChanBackupResponse struct { 14364 state protoimpl.MessageState 14365 sizeCache protoimpl.SizeCache 14366 unknownFields protoimpl.UnknownFields 14367 } 14368 14369 func (x *VerifyChanBackupResponse) Reset() { 14370 *x = VerifyChanBackupResponse{} 14371 if protoimpl.UnsafeEnabled { 14372 mi := &file_lightning_proto_msgTypes[166] 14373 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14374 ms.StoreMessageInfo(mi) 14375 } 14376 } 14377 14378 func (x *VerifyChanBackupResponse) String() string { 14379 return protoimpl.X.MessageStringOf(x) 14380 } 14381 14382 func (*VerifyChanBackupResponse) ProtoMessage() {} 14383 14384 func (x *VerifyChanBackupResponse) ProtoReflect() protoreflect.Message { 14385 mi := &file_lightning_proto_msgTypes[166] 14386 if protoimpl.UnsafeEnabled && x != nil { 14387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14388 if ms.LoadMessageInfo() == nil { 14389 ms.StoreMessageInfo(mi) 14390 } 14391 return ms 14392 } 14393 return mi.MessageOf(x) 14394 } 14395 14396 // Deprecated: Use VerifyChanBackupResponse.ProtoReflect.Descriptor instead. 14397 func (*VerifyChanBackupResponse) Descriptor() ([]byte, []int) { 14398 return file_lightning_proto_rawDescGZIP(), []int{166} 14399 } 14400 14401 type MacaroonPermission struct { 14402 state protoimpl.MessageState 14403 sizeCache protoimpl.SizeCache 14404 unknownFields protoimpl.UnknownFields 14405 14406 // The entity a permission grants access to. 14407 Entity string `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` 14408 // The action that is granted. 14409 Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` 14410 } 14411 14412 func (x *MacaroonPermission) Reset() { 14413 *x = MacaroonPermission{} 14414 if protoimpl.UnsafeEnabled { 14415 mi := &file_lightning_proto_msgTypes[167] 14416 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14417 ms.StoreMessageInfo(mi) 14418 } 14419 } 14420 14421 func (x *MacaroonPermission) String() string { 14422 return protoimpl.X.MessageStringOf(x) 14423 } 14424 14425 func (*MacaroonPermission) ProtoMessage() {} 14426 14427 func (x *MacaroonPermission) ProtoReflect() protoreflect.Message { 14428 mi := &file_lightning_proto_msgTypes[167] 14429 if protoimpl.UnsafeEnabled && x != nil { 14430 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14431 if ms.LoadMessageInfo() == nil { 14432 ms.StoreMessageInfo(mi) 14433 } 14434 return ms 14435 } 14436 return mi.MessageOf(x) 14437 } 14438 14439 // Deprecated: Use MacaroonPermission.ProtoReflect.Descriptor instead. 14440 func (*MacaroonPermission) Descriptor() ([]byte, []int) { 14441 return file_lightning_proto_rawDescGZIP(), []int{167} 14442 } 14443 14444 func (x *MacaroonPermission) GetEntity() string { 14445 if x != nil { 14446 return x.Entity 14447 } 14448 return "" 14449 } 14450 14451 func (x *MacaroonPermission) GetAction() string { 14452 if x != nil { 14453 return x.Action 14454 } 14455 return "" 14456 } 14457 14458 type BakeMacaroonRequest struct { 14459 state protoimpl.MessageState 14460 sizeCache protoimpl.SizeCache 14461 unknownFields protoimpl.UnknownFields 14462 14463 // The list of permissions the new macaroon should grant. 14464 Permissions []*MacaroonPermission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"` 14465 // The root key ID used to create the macaroon, must be a positive integer. 14466 RootKeyId uint64 `protobuf:"varint,2,opt,name=root_key_id,json=rootKeyId,proto3" json:"root_key_id,omitempty"` 14467 // Informs the RPC on whether to allow external permissions that LND is not 14468 // aware of. 14469 AllowExternalPermissions bool `protobuf:"varint,3,opt,name=allow_external_permissions,json=allowExternalPermissions,proto3" json:"allow_external_permissions,omitempty"` 14470 } 14471 14472 func (x *BakeMacaroonRequest) Reset() { 14473 *x = BakeMacaroonRequest{} 14474 if protoimpl.UnsafeEnabled { 14475 mi := &file_lightning_proto_msgTypes[168] 14476 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14477 ms.StoreMessageInfo(mi) 14478 } 14479 } 14480 14481 func (x *BakeMacaroonRequest) String() string { 14482 return protoimpl.X.MessageStringOf(x) 14483 } 14484 14485 func (*BakeMacaroonRequest) ProtoMessage() {} 14486 14487 func (x *BakeMacaroonRequest) ProtoReflect() protoreflect.Message { 14488 mi := &file_lightning_proto_msgTypes[168] 14489 if protoimpl.UnsafeEnabled && x != nil { 14490 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14491 if ms.LoadMessageInfo() == nil { 14492 ms.StoreMessageInfo(mi) 14493 } 14494 return ms 14495 } 14496 return mi.MessageOf(x) 14497 } 14498 14499 // Deprecated: Use BakeMacaroonRequest.ProtoReflect.Descriptor instead. 14500 func (*BakeMacaroonRequest) Descriptor() ([]byte, []int) { 14501 return file_lightning_proto_rawDescGZIP(), []int{168} 14502 } 14503 14504 func (x *BakeMacaroonRequest) GetPermissions() []*MacaroonPermission { 14505 if x != nil { 14506 return x.Permissions 14507 } 14508 return nil 14509 } 14510 14511 func (x *BakeMacaroonRequest) GetRootKeyId() uint64 { 14512 if x != nil { 14513 return x.RootKeyId 14514 } 14515 return 0 14516 } 14517 14518 func (x *BakeMacaroonRequest) GetAllowExternalPermissions() bool { 14519 if x != nil { 14520 return x.AllowExternalPermissions 14521 } 14522 return false 14523 } 14524 14525 type BakeMacaroonResponse struct { 14526 state protoimpl.MessageState 14527 sizeCache protoimpl.SizeCache 14528 unknownFields protoimpl.UnknownFields 14529 14530 // The hex encoded macaroon, serialized in binary format. 14531 Macaroon string `protobuf:"bytes,1,opt,name=macaroon,proto3" json:"macaroon,omitempty"` 14532 } 14533 14534 func (x *BakeMacaroonResponse) Reset() { 14535 *x = BakeMacaroonResponse{} 14536 if protoimpl.UnsafeEnabled { 14537 mi := &file_lightning_proto_msgTypes[169] 14538 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14539 ms.StoreMessageInfo(mi) 14540 } 14541 } 14542 14543 func (x *BakeMacaroonResponse) String() string { 14544 return protoimpl.X.MessageStringOf(x) 14545 } 14546 14547 func (*BakeMacaroonResponse) ProtoMessage() {} 14548 14549 func (x *BakeMacaroonResponse) ProtoReflect() protoreflect.Message { 14550 mi := &file_lightning_proto_msgTypes[169] 14551 if protoimpl.UnsafeEnabled && x != nil { 14552 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14553 if ms.LoadMessageInfo() == nil { 14554 ms.StoreMessageInfo(mi) 14555 } 14556 return ms 14557 } 14558 return mi.MessageOf(x) 14559 } 14560 14561 // Deprecated: Use BakeMacaroonResponse.ProtoReflect.Descriptor instead. 14562 func (*BakeMacaroonResponse) Descriptor() ([]byte, []int) { 14563 return file_lightning_proto_rawDescGZIP(), []int{169} 14564 } 14565 14566 func (x *BakeMacaroonResponse) GetMacaroon() string { 14567 if x != nil { 14568 return x.Macaroon 14569 } 14570 return "" 14571 } 14572 14573 type ListMacaroonIDsRequest struct { 14574 state protoimpl.MessageState 14575 sizeCache protoimpl.SizeCache 14576 unknownFields protoimpl.UnknownFields 14577 } 14578 14579 func (x *ListMacaroonIDsRequest) Reset() { 14580 *x = ListMacaroonIDsRequest{} 14581 if protoimpl.UnsafeEnabled { 14582 mi := &file_lightning_proto_msgTypes[170] 14583 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14584 ms.StoreMessageInfo(mi) 14585 } 14586 } 14587 14588 func (x *ListMacaroonIDsRequest) String() string { 14589 return protoimpl.X.MessageStringOf(x) 14590 } 14591 14592 func (*ListMacaroonIDsRequest) ProtoMessage() {} 14593 14594 func (x *ListMacaroonIDsRequest) ProtoReflect() protoreflect.Message { 14595 mi := &file_lightning_proto_msgTypes[170] 14596 if protoimpl.UnsafeEnabled && x != nil { 14597 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14598 if ms.LoadMessageInfo() == nil { 14599 ms.StoreMessageInfo(mi) 14600 } 14601 return ms 14602 } 14603 return mi.MessageOf(x) 14604 } 14605 14606 // Deprecated: Use ListMacaroonIDsRequest.ProtoReflect.Descriptor instead. 14607 func (*ListMacaroonIDsRequest) Descriptor() ([]byte, []int) { 14608 return file_lightning_proto_rawDescGZIP(), []int{170} 14609 } 14610 14611 type ListMacaroonIDsResponse struct { 14612 state protoimpl.MessageState 14613 sizeCache protoimpl.SizeCache 14614 unknownFields protoimpl.UnknownFields 14615 14616 // The list of root key IDs that are in use. 14617 RootKeyIds []uint64 `protobuf:"varint,1,rep,packed,name=root_key_ids,json=rootKeyIds,proto3" json:"root_key_ids,omitempty"` 14618 } 14619 14620 func (x *ListMacaroonIDsResponse) Reset() { 14621 *x = ListMacaroonIDsResponse{} 14622 if protoimpl.UnsafeEnabled { 14623 mi := &file_lightning_proto_msgTypes[171] 14624 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14625 ms.StoreMessageInfo(mi) 14626 } 14627 } 14628 14629 func (x *ListMacaroonIDsResponse) String() string { 14630 return protoimpl.X.MessageStringOf(x) 14631 } 14632 14633 func (*ListMacaroonIDsResponse) ProtoMessage() {} 14634 14635 func (x *ListMacaroonIDsResponse) ProtoReflect() protoreflect.Message { 14636 mi := &file_lightning_proto_msgTypes[171] 14637 if protoimpl.UnsafeEnabled && x != nil { 14638 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14639 if ms.LoadMessageInfo() == nil { 14640 ms.StoreMessageInfo(mi) 14641 } 14642 return ms 14643 } 14644 return mi.MessageOf(x) 14645 } 14646 14647 // Deprecated: Use ListMacaroonIDsResponse.ProtoReflect.Descriptor instead. 14648 func (*ListMacaroonIDsResponse) Descriptor() ([]byte, []int) { 14649 return file_lightning_proto_rawDescGZIP(), []int{171} 14650 } 14651 14652 func (x *ListMacaroonIDsResponse) GetRootKeyIds() []uint64 { 14653 if x != nil { 14654 return x.RootKeyIds 14655 } 14656 return nil 14657 } 14658 14659 type DeleteMacaroonIDRequest struct { 14660 state protoimpl.MessageState 14661 sizeCache protoimpl.SizeCache 14662 unknownFields protoimpl.UnknownFields 14663 14664 // The root key ID to be removed. 14665 RootKeyId uint64 `protobuf:"varint,1,opt,name=root_key_id,json=rootKeyId,proto3" json:"root_key_id,omitempty"` 14666 } 14667 14668 func (x *DeleteMacaroonIDRequest) Reset() { 14669 *x = DeleteMacaroonIDRequest{} 14670 if protoimpl.UnsafeEnabled { 14671 mi := &file_lightning_proto_msgTypes[172] 14672 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14673 ms.StoreMessageInfo(mi) 14674 } 14675 } 14676 14677 func (x *DeleteMacaroonIDRequest) String() string { 14678 return protoimpl.X.MessageStringOf(x) 14679 } 14680 14681 func (*DeleteMacaroonIDRequest) ProtoMessage() {} 14682 14683 func (x *DeleteMacaroonIDRequest) ProtoReflect() protoreflect.Message { 14684 mi := &file_lightning_proto_msgTypes[172] 14685 if protoimpl.UnsafeEnabled && x != nil { 14686 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14687 if ms.LoadMessageInfo() == nil { 14688 ms.StoreMessageInfo(mi) 14689 } 14690 return ms 14691 } 14692 return mi.MessageOf(x) 14693 } 14694 14695 // Deprecated: Use DeleteMacaroonIDRequest.ProtoReflect.Descriptor instead. 14696 func (*DeleteMacaroonIDRequest) Descriptor() ([]byte, []int) { 14697 return file_lightning_proto_rawDescGZIP(), []int{172} 14698 } 14699 14700 func (x *DeleteMacaroonIDRequest) GetRootKeyId() uint64 { 14701 if x != nil { 14702 return x.RootKeyId 14703 } 14704 return 0 14705 } 14706 14707 type DeleteMacaroonIDResponse struct { 14708 state protoimpl.MessageState 14709 sizeCache protoimpl.SizeCache 14710 unknownFields protoimpl.UnknownFields 14711 14712 // A boolean indicates that the deletion is successful. 14713 Deleted bool `protobuf:"varint,1,opt,name=deleted,proto3" json:"deleted,omitempty"` 14714 } 14715 14716 func (x *DeleteMacaroonIDResponse) Reset() { 14717 *x = DeleteMacaroonIDResponse{} 14718 if protoimpl.UnsafeEnabled { 14719 mi := &file_lightning_proto_msgTypes[173] 14720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14721 ms.StoreMessageInfo(mi) 14722 } 14723 } 14724 14725 func (x *DeleteMacaroonIDResponse) String() string { 14726 return protoimpl.X.MessageStringOf(x) 14727 } 14728 14729 func (*DeleteMacaroonIDResponse) ProtoMessage() {} 14730 14731 func (x *DeleteMacaroonIDResponse) ProtoReflect() protoreflect.Message { 14732 mi := &file_lightning_proto_msgTypes[173] 14733 if protoimpl.UnsafeEnabled && x != nil { 14734 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14735 if ms.LoadMessageInfo() == nil { 14736 ms.StoreMessageInfo(mi) 14737 } 14738 return ms 14739 } 14740 return mi.MessageOf(x) 14741 } 14742 14743 // Deprecated: Use DeleteMacaroonIDResponse.ProtoReflect.Descriptor instead. 14744 func (*DeleteMacaroonIDResponse) Descriptor() ([]byte, []int) { 14745 return file_lightning_proto_rawDescGZIP(), []int{173} 14746 } 14747 14748 func (x *DeleteMacaroonIDResponse) GetDeleted() bool { 14749 if x != nil { 14750 return x.Deleted 14751 } 14752 return false 14753 } 14754 14755 type MacaroonPermissionList struct { 14756 state protoimpl.MessageState 14757 sizeCache protoimpl.SizeCache 14758 unknownFields protoimpl.UnknownFields 14759 14760 // A list of macaroon permissions. 14761 Permissions []*MacaroonPermission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"` 14762 } 14763 14764 func (x *MacaroonPermissionList) Reset() { 14765 *x = MacaroonPermissionList{} 14766 if protoimpl.UnsafeEnabled { 14767 mi := &file_lightning_proto_msgTypes[174] 14768 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14769 ms.StoreMessageInfo(mi) 14770 } 14771 } 14772 14773 func (x *MacaroonPermissionList) String() string { 14774 return protoimpl.X.MessageStringOf(x) 14775 } 14776 14777 func (*MacaroonPermissionList) ProtoMessage() {} 14778 14779 func (x *MacaroonPermissionList) ProtoReflect() protoreflect.Message { 14780 mi := &file_lightning_proto_msgTypes[174] 14781 if protoimpl.UnsafeEnabled && x != nil { 14782 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14783 if ms.LoadMessageInfo() == nil { 14784 ms.StoreMessageInfo(mi) 14785 } 14786 return ms 14787 } 14788 return mi.MessageOf(x) 14789 } 14790 14791 // Deprecated: Use MacaroonPermissionList.ProtoReflect.Descriptor instead. 14792 func (*MacaroonPermissionList) Descriptor() ([]byte, []int) { 14793 return file_lightning_proto_rawDescGZIP(), []int{174} 14794 } 14795 14796 func (x *MacaroonPermissionList) GetPermissions() []*MacaroonPermission { 14797 if x != nil { 14798 return x.Permissions 14799 } 14800 return nil 14801 } 14802 14803 type ListPermissionsRequest struct { 14804 state protoimpl.MessageState 14805 sizeCache protoimpl.SizeCache 14806 unknownFields protoimpl.UnknownFields 14807 } 14808 14809 func (x *ListPermissionsRequest) Reset() { 14810 *x = ListPermissionsRequest{} 14811 if protoimpl.UnsafeEnabled { 14812 mi := &file_lightning_proto_msgTypes[175] 14813 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14814 ms.StoreMessageInfo(mi) 14815 } 14816 } 14817 14818 func (x *ListPermissionsRequest) String() string { 14819 return protoimpl.X.MessageStringOf(x) 14820 } 14821 14822 func (*ListPermissionsRequest) ProtoMessage() {} 14823 14824 func (x *ListPermissionsRequest) ProtoReflect() protoreflect.Message { 14825 mi := &file_lightning_proto_msgTypes[175] 14826 if protoimpl.UnsafeEnabled && x != nil { 14827 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14828 if ms.LoadMessageInfo() == nil { 14829 ms.StoreMessageInfo(mi) 14830 } 14831 return ms 14832 } 14833 return mi.MessageOf(x) 14834 } 14835 14836 // Deprecated: Use ListPermissionsRequest.ProtoReflect.Descriptor instead. 14837 func (*ListPermissionsRequest) Descriptor() ([]byte, []int) { 14838 return file_lightning_proto_rawDescGZIP(), []int{175} 14839 } 14840 14841 type ListPermissionsResponse struct { 14842 state protoimpl.MessageState 14843 sizeCache protoimpl.SizeCache 14844 unknownFields protoimpl.UnknownFields 14845 14846 // A map between all RPC method URIs and their required macaroon permissions to 14847 // access them. 14848 MethodPermissions map[string]*MacaroonPermissionList `protobuf:"bytes,1,rep,name=method_permissions,json=methodPermissions,proto3" json:"method_permissions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 14849 } 14850 14851 func (x *ListPermissionsResponse) Reset() { 14852 *x = ListPermissionsResponse{} 14853 if protoimpl.UnsafeEnabled { 14854 mi := &file_lightning_proto_msgTypes[176] 14855 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14856 ms.StoreMessageInfo(mi) 14857 } 14858 } 14859 14860 func (x *ListPermissionsResponse) String() string { 14861 return protoimpl.X.MessageStringOf(x) 14862 } 14863 14864 func (*ListPermissionsResponse) ProtoMessage() {} 14865 14866 func (x *ListPermissionsResponse) ProtoReflect() protoreflect.Message { 14867 mi := &file_lightning_proto_msgTypes[176] 14868 if protoimpl.UnsafeEnabled && x != nil { 14869 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14870 if ms.LoadMessageInfo() == nil { 14871 ms.StoreMessageInfo(mi) 14872 } 14873 return ms 14874 } 14875 return mi.MessageOf(x) 14876 } 14877 14878 // Deprecated: Use ListPermissionsResponse.ProtoReflect.Descriptor instead. 14879 func (*ListPermissionsResponse) Descriptor() ([]byte, []int) { 14880 return file_lightning_proto_rawDescGZIP(), []int{176} 14881 } 14882 14883 func (x *ListPermissionsResponse) GetMethodPermissions() map[string]*MacaroonPermissionList { 14884 if x != nil { 14885 return x.MethodPermissions 14886 } 14887 return nil 14888 } 14889 14890 type Failure struct { 14891 state protoimpl.MessageState 14892 sizeCache protoimpl.SizeCache 14893 unknownFields protoimpl.UnknownFields 14894 14895 // Failure code as defined in the Lightning spec 14896 Code Failure_FailureCode `protobuf:"varint,1,opt,name=code,proto3,enum=lnrpc.Failure_FailureCode" json:"code,omitempty"` 14897 // An optional channel update message. 14898 ChannelUpdate *ChannelUpdate `protobuf:"bytes,3,opt,name=channel_update,json=channelUpdate,proto3" json:"channel_update,omitempty"` 14899 // A failure type-dependent htlc value. 14900 HtlcMAtoms uint64 `protobuf:"varint,4,opt,name=htlc_m_atoms,json=htlcMAtoms,proto3" json:"htlc_m_atoms,omitempty"` 14901 // The sha256 sum of the onion payload. 14902 OnionSha_256 []byte `protobuf:"bytes,5,opt,name=onion_sha_256,json=onionSha256,proto3" json:"onion_sha_256,omitempty"` 14903 // A failure type-dependent cltv expiry value. 14904 CltvExpiry uint32 `protobuf:"varint,6,opt,name=cltv_expiry,json=cltvExpiry,proto3" json:"cltv_expiry,omitempty"` 14905 // A failure type-dependent flags value. 14906 Flags uint32 `protobuf:"varint,7,opt,name=flags,proto3" json:"flags,omitempty"` 14907 // The position in the path of the intermediate or final node that generated 14908 // the failure message. Position zero is the sender node. 14909 FailureSourceIndex uint32 `protobuf:"varint,8,opt,name=failure_source_index,json=failureSourceIndex,proto3" json:"failure_source_index,omitempty"` 14910 // A failure type-dependent block height. 14911 Height uint32 `protobuf:"varint,9,opt,name=height,proto3" json:"height,omitempty"` 14912 } 14913 14914 func (x *Failure) Reset() { 14915 *x = Failure{} 14916 if protoimpl.UnsafeEnabled { 14917 mi := &file_lightning_proto_msgTypes[177] 14918 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14919 ms.StoreMessageInfo(mi) 14920 } 14921 } 14922 14923 func (x *Failure) String() string { 14924 return protoimpl.X.MessageStringOf(x) 14925 } 14926 14927 func (*Failure) ProtoMessage() {} 14928 14929 func (x *Failure) ProtoReflect() protoreflect.Message { 14930 mi := &file_lightning_proto_msgTypes[177] 14931 if protoimpl.UnsafeEnabled && x != nil { 14932 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 14933 if ms.LoadMessageInfo() == nil { 14934 ms.StoreMessageInfo(mi) 14935 } 14936 return ms 14937 } 14938 return mi.MessageOf(x) 14939 } 14940 14941 // Deprecated: Use Failure.ProtoReflect.Descriptor instead. 14942 func (*Failure) Descriptor() ([]byte, []int) { 14943 return file_lightning_proto_rawDescGZIP(), []int{177} 14944 } 14945 14946 func (x *Failure) GetCode() Failure_FailureCode { 14947 if x != nil { 14948 return x.Code 14949 } 14950 return Failure_RESERVED 14951 } 14952 14953 func (x *Failure) GetChannelUpdate() *ChannelUpdate { 14954 if x != nil { 14955 return x.ChannelUpdate 14956 } 14957 return nil 14958 } 14959 14960 func (x *Failure) GetHtlcMAtoms() uint64 { 14961 if x != nil { 14962 return x.HtlcMAtoms 14963 } 14964 return 0 14965 } 14966 14967 func (x *Failure) GetOnionSha_256() []byte { 14968 if x != nil { 14969 return x.OnionSha_256 14970 } 14971 return nil 14972 } 14973 14974 func (x *Failure) GetCltvExpiry() uint32 { 14975 if x != nil { 14976 return x.CltvExpiry 14977 } 14978 return 0 14979 } 14980 14981 func (x *Failure) GetFlags() uint32 { 14982 if x != nil { 14983 return x.Flags 14984 } 14985 return 0 14986 } 14987 14988 func (x *Failure) GetFailureSourceIndex() uint32 { 14989 if x != nil { 14990 return x.FailureSourceIndex 14991 } 14992 return 0 14993 } 14994 14995 func (x *Failure) GetHeight() uint32 { 14996 if x != nil { 14997 return x.Height 14998 } 14999 return 0 15000 } 15001 15002 type ChannelUpdate struct { 15003 state protoimpl.MessageState 15004 sizeCache protoimpl.SizeCache 15005 unknownFields protoimpl.UnknownFields 15006 15007 // The signature that validates the announced data and proves the ownership 15008 // of node id. 15009 Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` 15010 // The target chain that this channel was opened within. This value 15011 // should be the genesis hash of the target chain. Along with the short 15012 // channel ID, this uniquely identifies the channel globally in a 15013 // blockchain. 15014 ChainHash []byte `protobuf:"bytes,2,opt,name=chain_hash,json=chainHash,proto3" json:"chain_hash,omitempty"` 15015 // The unique description of the funding transaction. 15016 ChanId uint64 `protobuf:"varint,3,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` 15017 // A timestamp that allows ordering in the case of multiple announcements. 15018 // We should ignore the message if timestamp is not greater than the 15019 // last-received. 15020 Timestamp uint32 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` 15021 // The bitfield that describes whether optional fields are present in this 15022 // update. Currently, the least-significant bit must be set to 1 if the 15023 // optional field MaxHtlc is present. 15024 MessageFlags uint32 `protobuf:"varint,10,opt,name=message_flags,json=messageFlags,proto3" json:"message_flags,omitempty"` 15025 // The bitfield that describes additional meta-data concerning how the 15026 // update is to be interpreted. Currently, the least-significant bit must be 15027 // set to 0 if the creating node corresponds to the first node in the 15028 // previously sent channel announcement and 1 otherwise. If the second bit 15029 // is set, then the channel is set to be disabled. 15030 ChannelFlags uint32 `protobuf:"varint,5,opt,name=channel_flags,json=channelFlags,proto3" json:"channel_flags,omitempty"` 15031 // The minimum number of blocks this node requires to be added to the expiry 15032 // of HTLCs. This is a security parameter determined by the node operator. 15033 // This value represents the required gap between the time locks of the 15034 // incoming and outgoing HTLC's set to this node. 15035 TimeLockDelta uint32 `protobuf:"varint,6,opt,name=time_lock_delta,json=timeLockDelta,proto3" json:"time_lock_delta,omitempty"` 15036 // The minimum HTLC value which will be accepted. 15037 HtlcMinimumMAtoms uint64 `protobuf:"varint,7,opt,name=htlc_minimum_m_atoms,json=htlcMinimumMAtoms,proto3" json:"htlc_minimum_m_atoms,omitempty"` 15038 // The base fee that must be used for incoming HTLC's to this particular 15039 // channel. This value will be tacked onto the required for a payment 15040 // independent of the size of the payment. 15041 BaseFee uint32 `protobuf:"varint,8,opt,name=base_fee,json=baseFee,proto3" json:"base_fee,omitempty"` 15042 // The fee rate that will be charged per millionth of a satoshi. 15043 FeeRate uint32 `protobuf:"varint,9,opt,name=fee_rate,json=feeRate,proto3" json:"fee_rate,omitempty"` 15044 // The maximum HTLC value which will be accepted. 15045 HtlcMaximumMAtoms uint64 `protobuf:"varint,11,opt,name=htlc_maximum_m_atoms,json=htlcMaximumMAtoms,proto3" json:"htlc_maximum_m_atoms,omitempty"` 15046 // The set of data that was appended to this message, some of which we may 15047 // not actually know how to iterate or parse. By holding onto this data, we 15048 // ensure that we're able to properly validate the set of signatures that 15049 // cover these new fields, and ensure we're able to make upgrades to the 15050 // network in a forwards compatible manner. 15051 ExtraOpaqueData []byte `protobuf:"bytes,12,opt,name=extra_opaque_data,json=extraOpaqueData,proto3" json:"extra_opaque_data,omitempty"` 15052 } 15053 15054 func (x *ChannelUpdate) Reset() { 15055 *x = ChannelUpdate{} 15056 if protoimpl.UnsafeEnabled { 15057 mi := &file_lightning_proto_msgTypes[178] 15058 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15059 ms.StoreMessageInfo(mi) 15060 } 15061 } 15062 15063 func (x *ChannelUpdate) String() string { 15064 return protoimpl.X.MessageStringOf(x) 15065 } 15066 15067 func (*ChannelUpdate) ProtoMessage() {} 15068 15069 func (x *ChannelUpdate) ProtoReflect() protoreflect.Message { 15070 mi := &file_lightning_proto_msgTypes[178] 15071 if protoimpl.UnsafeEnabled && x != nil { 15072 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15073 if ms.LoadMessageInfo() == nil { 15074 ms.StoreMessageInfo(mi) 15075 } 15076 return ms 15077 } 15078 return mi.MessageOf(x) 15079 } 15080 15081 // Deprecated: Use ChannelUpdate.ProtoReflect.Descriptor instead. 15082 func (*ChannelUpdate) Descriptor() ([]byte, []int) { 15083 return file_lightning_proto_rawDescGZIP(), []int{178} 15084 } 15085 15086 func (x *ChannelUpdate) GetSignature() []byte { 15087 if x != nil { 15088 return x.Signature 15089 } 15090 return nil 15091 } 15092 15093 func (x *ChannelUpdate) GetChainHash() []byte { 15094 if x != nil { 15095 return x.ChainHash 15096 } 15097 return nil 15098 } 15099 15100 func (x *ChannelUpdate) GetChanId() uint64 { 15101 if x != nil { 15102 return x.ChanId 15103 } 15104 return 0 15105 } 15106 15107 func (x *ChannelUpdate) GetTimestamp() uint32 { 15108 if x != nil { 15109 return x.Timestamp 15110 } 15111 return 0 15112 } 15113 15114 func (x *ChannelUpdate) GetMessageFlags() uint32 { 15115 if x != nil { 15116 return x.MessageFlags 15117 } 15118 return 0 15119 } 15120 15121 func (x *ChannelUpdate) GetChannelFlags() uint32 { 15122 if x != nil { 15123 return x.ChannelFlags 15124 } 15125 return 0 15126 } 15127 15128 func (x *ChannelUpdate) GetTimeLockDelta() uint32 { 15129 if x != nil { 15130 return x.TimeLockDelta 15131 } 15132 return 0 15133 } 15134 15135 func (x *ChannelUpdate) GetHtlcMinimumMAtoms() uint64 { 15136 if x != nil { 15137 return x.HtlcMinimumMAtoms 15138 } 15139 return 0 15140 } 15141 15142 func (x *ChannelUpdate) GetBaseFee() uint32 { 15143 if x != nil { 15144 return x.BaseFee 15145 } 15146 return 0 15147 } 15148 15149 func (x *ChannelUpdate) GetFeeRate() uint32 { 15150 if x != nil { 15151 return x.FeeRate 15152 } 15153 return 0 15154 } 15155 15156 func (x *ChannelUpdate) GetHtlcMaximumMAtoms() uint64 { 15157 if x != nil { 15158 return x.HtlcMaximumMAtoms 15159 } 15160 return 0 15161 } 15162 15163 func (x *ChannelUpdate) GetExtraOpaqueData() []byte { 15164 if x != nil { 15165 return x.ExtraOpaqueData 15166 } 15167 return nil 15168 } 15169 15170 type MacaroonId struct { 15171 state protoimpl.MessageState 15172 sizeCache protoimpl.SizeCache 15173 unknownFields protoimpl.UnknownFields 15174 15175 Nonce []byte `protobuf:"bytes,1,opt,name=nonce,proto3" json:"nonce,omitempty"` 15176 StorageId []byte `protobuf:"bytes,2,opt,name=storageId,proto3" json:"storageId,omitempty"` 15177 Ops []*Op `protobuf:"bytes,3,rep,name=ops,proto3" json:"ops,omitempty"` 15178 } 15179 15180 func (x *MacaroonId) Reset() { 15181 *x = MacaroonId{} 15182 if protoimpl.UnsafeEnabled { 15183 mi := &file_lightning_proto_msgTypes[179] 15184 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15185 ms.StoreMessageInfo(mi) 15186 } 15187 } 15188 15189 func (x *MacaroonId) String() string { 15190 return protoimpl.X.MessageStringOf(x) 15191 } 15192 15193 func (*MacaroonId) ProtoMessage() {} 15194 15195 func (x *MacaroonId) ProtoReflect() protoreflect.Message { 15196 mi := &file_lightning_proto_msgTypes[179] 15197 if protoimpl.UnsafeEnabled && x != nil { 15198 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15199 if ms.LoadMessageInfo() == nil { 15200 ms.StoreMessageInfo(mi) 15201 } 15202 return ms 15203 } 15204 return mi.MessageOf(x) 15205 } 15206 15207 // Deprecated: Use MacaroonId.ProtoReflect.Descriptor instead. 15208 func (*MacaroonId) Descriptor() ([]byte, []int) { 15209 return file_lightning_proto_rawDescGZIP(), []int{179} 15210 } 15211 15212 func (x *MacaroonId) GetNonce() []byte { 15213 if x != nil { 15214 return x.Nonce 15215 } 15216 return nil 15217 } 15218 15219 func (x *MacaroonId) GetStorageId() []byte { 15220 if x != nil { 15221 return x.StorageId 15222 } 15223 return nil 15224 } 15225 15226 func (x *MacaroonId) GetOps() []*Op { 15227 if x != nil { 15228 return x.Ops 15229 } 15230 return nil 15231 } 15232 15233 type Op struct { 15234 state protoimpl.MessageState 15235 sizeCache protoimpl.SizeCache 15236 unknownFields protoimpl.UnknownFields 15237 15238 Entity string `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` 15239 Actions []string `protobuf:"bytes,2,rep,name=actions,proto3" json:"actions,omitempty"` 15240 } 15241 15242 func (x *Op) Reset() { 15243 *x = Op{} 15244 if protoimpl.UnsafeEnabled { 15245 mi := &file_lightning_proto_msgTypes[180] 15246 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15247 ms.StoreMessageInfo(mi) 15248 } 15249 } 15250 15251 func (x *Op) String() string { 15252 return protoimpl.X.MessageStringOf(x) 15253 } 15254 15255 func (*Op) ProtoMessage() {} 15256 15257 func (x *Op) ProtoReflect() protoreflect.Message { 15258 mi := &file_lightning_proto_msgTypes[180] 15259 if protoimpl.UnsafeEnabled && x != nil { 15260 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15261 if ms.LoadMessageInfo() == nil { 15262 ms.StoreMessageInfo(mi) 15263 } 15264 return ms 15265 } 15266 return mi.MessageOf(x) 15267 } 15268 15269 // Deprecated: Use Op.ProtoReflect.Descriptor instead. 15270 func (*Op) Descriptor() ([]byte, []int) { 15271 return file_lightning_proto_rawDescGZIP(), []int{180} 15272 } 15273 15274 func (x *Op) GetEntity() string { 15275 if x != nil { 15276 return x.Entity 15277 } 15278 return "" 15279 } 15280 15281 func (x *Op) GetActions() []string { 15282 if x != nil { 15283 return x.Actions 15284 } 15285 return nil 15286 } 15287 15288 type CheckMacPermRequest struct { 15289 state protoimpl.MessageState 15290 sizeCache protoimpl.SizeCache 15291 unknownFields protoimpl.UnknownFields 15292 15293 Macaroon []byte `protobuf:"bytes,1,opt,name=macaroon,proto3" json:"macaroon,omitempty"` 15294 Permissions []*MacaroonPermission `protobuf:"bytes,2,rep,name=permissions,proto3" json:"permissions,omitempty"` 15295 FullMethod string `protobuf:"bytes,3,opt,name=fullMethod,proto3" json:"fullMethod,omitempty"` 15296 } 15297 15298 func (x *CheckMacPermRequest) Reset() { 15299 *x = CheckMacPermRequest{} 15300 if protoimpl.UnsafeEnabled { 15301 mi := &file_lightning_proto_msgTypes[181] 15302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15303 ms.StoreMessageInfo(mi) 15304 } 15305 } 15306 15307 func (x *CheckMacPermRequest) String() string { 15308 return protoimpl.X.MessageStringOf(x) 15309 } 15310 15311 func (*CheckMacPermRequest) ProtoMessage() {} 15312 15313 func (x *CheckMacPermRequest) ProtoReflect() protoreflect.Message { 15314 mi := &file_lightning_proto_msgTypes[181] 15315 if protoimpl.UnsafeEnabled && x != nil { 15316 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15317 if ms.LoadMessageInfo() == nil { 15318 ms.StoreMessageInfo(mi) 15319 } 15320 return ms 15321 } 15322 return mi.MessageOf(x) 15323 } 15324 15325 // Deprecated: Use CheckMacPermRequest.ProtoReflect.Descriptor instead. 15326 func (*CheckMacPermRequest) Descriptor() ([]byte, []int) { 15327 return file_lightning_proto_rawDescGZIP(), []int{181} 15328 } 15329 15330 func (x *CheckMacPermRequest) GetMacaroon() []byte { 15331 if x != nil { 15332 return x.Macaroon 15333 } 15334 return nil 15335 } 15336 15337 func (x *CheckMacPermRequest) GetPermissions() []*MacaroonPermission { 15338 if x != nil { 15339 return x.Permissions 15340 } 15341 return nil 15342 } 15343 15344 func (x *CheckMacPermRequest) GetFullMethod() string { 15345 if x != nil { 15346 return x.FullMethod 15347 } 15348 return "" 15349 } 15350 15351 type CheckMacPermResponse struct { 15352 state protoimpl.MessageState 15353 sizeCache protoimpl.SizeCache 15354 unknownFields protoimpl.UnknownFields 15355 15356 Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` 15357 } 15358 15359 func (x *CheckMacPermResponse) Reset() { 15360 *x = CheckMacPermResponse{} 15361 if protoimpl.UnsafeEnabled { 15362 mi := &file_lightning_proto_msgTypes[182] 15363 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15364 ms.StoreMessageInfo(mi) 15365 } 15366 } 15367 15368 func (x *CheckMacPermResponse) String() string { 15369 return protoimpl.X.MessageStringOf(x) 15370 } 15371 15372 func (*CheckMacPermResponse) ProtoMessage() {} 15373 15374 func (x *CheckMacPermResponse) ProtoReflect() protoreflect.Message { 15375 mi := &file_lightning_proto_msgTypes[182] 15376 if protoimpl.UnsafeEnabled && x != nil { 15377 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15378 if ms.LoadMessageInfo() == nil { 15379 ms.StoreMessageInfo(mi) 15380 } 15381 return ms 15382 } 15383 return mi.MessageOf(x) 15384 } 15385 15386 // Deprecated: Use CheckMacPermResponse.ProtoReflect.Descriptor instead. 15387 func (*CheckMacPermResponse) Descriptor() ([]byte, []int) { 15388 return file_lightning_proto_rawDescGZIP(), []int{182} 15389 } 15390 15391 func (x *CheckMacPermResponse) GetValid() bool { 15392 if x != nil { 15393 return x.Valid 15394 } 15395 return false 15396 } 15397 15398 type RPCMiddlewareRequest struct { 15399 state protoimpl.MessageState 15400 sizeCache protoimpl.SizeCache 15401 unknownFields protoimpl.UnknownFields 15402 15403 // The unique ID of the intercepted original gRPC request. Useful for mapping 15404 // request to response when implementing full duplex message interception. For 15405 // streaming requests, this will be the same ID for all incoming and outgoing 15406 // middleware intercept messages of the _same_ stream. 15407 RequestId uint64 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 15408 // The raw bytes of the complete macaroon as sent by the gRPC client in the 15409 // original request. This might be empty for a request that doesn't require 15410 // macaroons such as the wallet unlocker RPCs. 15411 RawMacaroon []byte `protobuf:"bytes,2,opt,name=raw_macaroon,json=rawMacaroon,proto3" json:"raw_macaroon,omitempty"` 15412 // The parsed condition of the macaroon's custom caveat for convenient access. 15413 // This field only contains the value of the custom caveat that the handling 15414 // middleware has registered itself for. The condition _must_ be validated for 15415 // messages of intercept_type stream_auth and request! 15416 CustomCaveatCondition string `protobuf:"bytes,3,opt,name=custom_caveat_condition,json=customCaveatCondition,proto3" json:"custom_caveat_condition,omitempty"` 15417 // There are three types of messages that will be sent to the middleware for 15418 // inspection and approval: Stream authentication, request and response 15419 // interception. The first two can only be accepted (=forward to main RPC 15420 // server) or denied (=return error to client). Intercepted responses can also 15421 // be replaced/overwritten. 15422 // 15423 // Types that are assignable to InterceptType: 15424 // 15425 // *RPCMiddlewareRequest_StreamAuth 15426 // *RPCMiddlewareRequest_Request 15427 // *RPCMiddlewareRequest_Response 15428 InterceptType isRPCMiddlewareRequest_InterceptType `protobuf_oneof:"intercept_type"` 15429 // The unique message ID of this middleware intercept message. There can be 15430 // multiple middleware intercept messages per single gRPC request (one for the 15431 // incoming request and one for the outgoing response) or gRPC stream (one for 15432 // each incoming message and one for each outgoing response). This message ID 15433 // must be referenced when responding (accepting/rejecting/modifying) to an 15434 // intercept message. 15435 MsgId uint64 `protobuf:"varint,7,opt,name=msg_id,json=msgId,proto3" json:"msg_id,omitempty"` 15436 } 15437 15438 func (x *RPCMiddlewareRequest) Reset() { 15439 *x = RPCMiddlewareRequest{} 15440 if protoimpl.UnsafeEnabled { 15441 mi := &file_lightning_proto_msgTypes[183] 15442 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15443 ms.StoreMessageInfo(mi) 15444 } 15445 } 15446 15447 func (x *RPCMiddlewareRequest) String() string { 15448 return protoimpl.X.MessageStringOf(x) 15449 } 15450 15451 func (*RPCMiddlewareRequest) ProtoMessage() {} 15452 15453 func (x *RPCMiddlewareRequest) ProtoReflect() protoreflect.Message { 15454 mi := &file_lightning_proto_msgTypes[183] 15455 if protoimpl.UnsafeEnabled && x != nil { 15456 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15457 if ms.LoadMessageInfo() == nil { 15458 ms.StoreMessageInfo(mi) 15459 } 15460 return ms 15461 } 15462 return mi.MessageOf(x) 15463 } 15464 15465 // Deprecated: Use RPCMiddlewareRequest.ProtoReflect.Descriptor instead. 15466 func (*RPCMiddlewareRequest) Descriptor() ([]byte, []int) { 15467 return file_lightning_proto_rawDescGZIP(), []int{183} 15468 } 15469 15470 func (x *RPCMiddlewareRequest) GetRequestId() uint64 { 15471 if x != nil { 15472 return x.RequestId 15473 } 15474 return 0 15475 } 15476 15477 func (x *RPCMiddlewareRequest) GetRawMacaroon() []byte { 15478 if x != nil { 15479 return x.RawMacaroon 15480 } 15481 return nil 15482 } 15483 15484 func (x *RPCMiddlewareRequest) GetCustomCaveatCondition() string { 15485 if x != nil { 15486 return x.CustomCaveatCondition 15487 } 15488 return "" 15489 } 15490 15491 func (m *RPCMiddlewareRequest) GetInterceptType() isRPCMiddlewareRequest_InterceptType { 15492 if m != nil { 15493 return m.InterceptType 15494 } 15495 return nil 15496 } 15497 15498 func (x *RPCMiddlewareRequest) GetStreamAuth() *StreamAuth { 15499 if x, ok := x.GetInterceptType().(*RPCMiddlewareRequest_StreamAuth); ok { 15500 return x.StreamAuth 15501 } 15502 return nil 15503 } 15504 15505 func (x *RPCMiddlewareRequest) GetRequest() *RPCMessage { 15506 if x, ok := x.GetInterceptType().(*RPCMiddlewareRequest_Request); ok { 15507 return x.Request 15508 } 15509 return nil 15510 } 15511 15512 func (x *RPCMiddlewareRequest) GetResponse() *RPCMessage { 15513 if x, ok := x.GetInterceptType().(*RPCMiddlewareRequest_Response); ok { 15514 return x.Response 15515 } 15516 return nil 15517 } 15518 15519 func (x *RPCMiddlewareRequest) GetMsgId() uint64 { 15520 if x != nil { 15521 return x.MsgId 15522 } 15523 return 0 15524 } 15525 15526 type isRPCMiddlewareRequest_InterceptType interface { 15527 isRPCMiddlewareRequest_InterceptType() 15528 } 15529 15530 type RPCMiddlewareRequest_StreamAuth struct { 15531 // Intercept stream authentication: each new streaming RPC call that is 15532 // initiated against lnd and contains the middleware's custom macaroon 15533 // caveat can be approved or denied based upon the macaroon in the stream 15534 // header. This message will only be sent for streaming RPCs, unary RPCs 15535 // must handle the macaroon authentication in the request interception to 15536 // avoid an additional message round trip between lnd and the middleware. 15537 StreamAuth *StreamAuth `protobuf:"bytes,4,opt,name=stream_auth,json=streamAuth,proto3,oneof"` 15538 } 15539 15540 type RPCMiddlewareRequest_Request struct { 15541 // Intercept incoming gRPC client request message: all incoming messages, 15542 // both on streaming and unary RPCs, are forwarded to the middleware for 15543 // inspection. For unary RPC messages the middleware is also expected to 15544 // validate the custom macaroon caveat of the request. 15545 Request *RPCMessage `protobuf:"bytes,5,opt,name=request,proto3,oneof"` 15546 } 15547 15548 type RPCMiddlewareRequest_Response struct { 15549 // Intercept outgoing gRPC response message: all outgoing messages, both on 15550 // streaming and unary RPCs, are forwarded to the middleware for inspection 15551 // and amendment. The response in this message is the original response as 15552 // it was generated by the main RPC server. It can either be accepted 15553 // (=forwarded to the client), replaced/overwritten with a new message of 15554 // the same type, or replaced by an error message. 15555 Response *RPCMessage `protobuf:"bytes,6,opt,name=response,proto3,oneof"` 15556 } 15557 15558 func (*RPCMiddlewareRequest_StreamAuth) isRPCMiddlewareRequest_InterceptType() {} 15559 15560 func (*RPCMiddlewareRequest_Request) isRPCMiddlewareRequest_InterceptType() {} 15561 15562 func (*RPCMiddlewareRequest_Response) isRPCMiddlewareRequest_InterceptType() {} 15563 15564 type StreamAuth struct { 15565 state protoimpl.MessageState 15566 sizeCache protoimpl.SizeCache 15567 unknownFields protoimpl.UnknownFields 15568 15569 // The full URI (in the format /<rpcpackage>.<ServiceName>/MethodName, for 15570 // example /lnrpc.Lightning/GetInfo) of the streaming RPC method that was just 15571 // established. 15572 MethodFullUri string `protobuf:"bytes,1,opt,name=method_full_uri,json=methodFullUri,proto3" json:"method_full_uri,omitempty"` 15573 } 15574 15575 func (x *StreamAuth) Reset() { 15576 *x = StreamAuth{} 15577 if protoimpl.UnsafeEnabled { 15578 mi := &file_lightning_proto_msgTypes[184] 15579 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15580 ms.StoreMessageInfo(mi) 15581 } 15582 } 15583 15584 func (x *StreamAuth) String() string { 15585 return protoimpl.X.MessageStringOf(x) 15586 } 15587 15588 func (*StreamAuth) ProtoMessage() {} 15589 15590 func (x *StreamAuth) ProtoReflect() protoreflect.Message { 15591 mi := &file_lightning_proto_msgTypes[184] 15592 if protoimpl.UnsafeEnabled && x != nil { 15593 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15594 if ms.LoadMessageInfo() == nil { 15595 ms.StoreMessageInfo(mi) 15596 } 15597 return ms 15598 } 15599 return mi.MessageOf(x) 15600 } 15601 15602 // Deprecated: Use StreamAuth.ProtoReflect.Descriptor instead. 15603 func (*StreamAuth) Descriptor() ([]byte, []int) { 15604 return file_lightning_proto_rawDescGZIP(), []int{184} 15605 } 15606 15607 func (x *StreamAuth) GetMethodFullUri() string { 15608 if x != nil { 15609 return x.MethodFullUri 15610 } 15611 return "" 15612 } 15613 15614 type RPCMessage struct { 15615 state protoimpl.MessageState 15616 sizeCache protoimpl.SizeCache 15617 unknownFields protoimpl.UnknownFields 15618 15619 // The full URI (in the format /<rpcpackage>.<ServiceName>/MethodName, for 15620 // example /lnrpc.Lightning/GetInfo) of the RPC method the message was sent 15621 // to/from. 15622 MethodFullUri string `protobuf:"bytes,1,opt,name=method_full_uri,json=methodFullUri,proto3" json:"method_full_uri,omitempty"` 15623 // Indicates whether the message was sent over a streaming RPC method or not. 15624 StreamRpc bool `protobuf:"varint,2,opt,name=stream_rpc,json=streamRpc,proto3" json:"stream_rpc,omitempty"` 15625 // The full canonical gRPC name of the message type (in the format 15626 // <rpcpackage>.TypeName, for example lnrpc.GetInfoRequest). 15627 TypeName string `protobuf:"bytes,3,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` 15628 // The full content of the gRPC message, serialized in the binary protobuf 15629 // format. 15630 Serialized []byte `protobuf:"bytes,4,opt,name=serialized,proto3" json:"serialized,omitempty"` 15631 } 15632 15633 func (x *RPCMessage) Reset() { 15634 *x = RPCMessage{} 15635 if protoimpl.UnsafeEnabled { 15636 mi := &file_lightning_proto_msgTypes[185] 15637 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15638 ms.StoreMessageInfo(mi) 15639 } 15640 } 15641 15642 func (x *RPCMessage) String() string { 15643 return protoimpl.X.MessageStringOf(x) 15644 } 15645 15646 func (*RPCMessage) ProtoMessage() {} 15647 15648 func (x *RPCMessage) ProtoReflect() protoreflect.Message { 15649 mi := &file_lightning_proto_msgTypes[185] 15650 if protoimpl.UnsafeEnabled && x != nil { 15651 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15652 if ms.LoadMessageInfo() == nil { 15653 ms.StoreMessageInfo(mi) 15654 } 15655 return ms 15656 } 15657 return mi.MessageOf(x) 15658 } 15659 15660 // Deprecated: Use RPCMessage.ProtoReflect.Descriptor instead. 15661 func (*RPCMessage) Descriptor() ([]byte, []int) { 15662 return file_lightning_proto_rawDescGZIP(), []int{185} 15663 } 15664 15665 func (x *RPCMessage) GetMethodFullUri() string { 15666 if x != nil { 15667 return x.MethodFullUri 15668 } 15669 return "" 15670 } 15671 15672 func (x *RPCMessage) GetStreamRpc() bool { 15673 if x != nil { 15674 return x.StreamRpc 15675 } 15676 return false 15677 } 15678 15679 func (x *RPCMessage) GetTypeName() string { 15680 if x != nil { 15681 return x.TypeName 15682 } 15683 return "" 15684 } 15685 15686 func (x *RPCMessage) GetSerialized() []byte { 15687 if x != nil { 15688 return x.Serialized 15689 } 15690 return nil 15691 } 15692 15693 type RPCMiddlewareResponse struct { 15694 state protoimpl.MessageState 15695 sizeCache protoimpl.SizeCache 15696 unknownFields protoimpl.UnknownFields 15697 15698 // The request message ID this response refers to. Must always be set when 15699 // giving feedback to an intercept but is ignored for the initial registration 15700 // message. 15701 RefMsgId uint64 `protobuf:"varint,1,opt,name=ref_msg_id,json=refMsgId,proto3" json:"ref_msg_id,omitempty"` 15702 // The middleware can only send two types of messages to lnd: The initial 15703 // registration message that identifies the middleware and after that only 15704 // feedback messages to requests sent to the middleware. 15705 // 15706 // Types that are assignable to MiddlewareMessage: 15707 // 15708 // *RPCMiddlewareResponse_Register 15709 // *RPCMiddlewareResponse_Feedback 15710 MiddlewareMessage isRPCMiddlewareResponse_MiddlewareMessage `protobuf_oneof:"middleware_message"` 15711 } 15712 15713 func (x *RPCMiddlewareResponse) Reset() { 15714 *x = RPCMiddlewareResponse{} 15715 if protoimpl.UnsafeEnabled { 15716 mi := &file_lightning_proto_msgTypes[186] 15717 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15718 ms.StoreMessageInfo(mi) 15719 } 15720 } 15721 15722 func (x *RPCMiddlewareResponse) String() string { 15723 return protoimpl.X.MessageStringOf(x) 15724 } 15725 15726 func (*RPCMiddlewareResponse) ProtoMessage() {} 15727 15728 func (x *RPCMiddlewareResponse) ProtoReflect() protoreflect.Message { 15729 mi := &file_lightning_proto_msgTypes[186] 15730 if protoimpl.UnsafeEnabled && x != nil { 15731 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15732 if ms.LoadMessageInfo() == nil { 15733 ms.StoreMessageInfo(mi) 15734 } 15735 return ms 15736 } 15737 return mi.MessageOf(x) 15738 } 15739 15740 // Deprecated: Use RPCMiddlewareResponse.ProtoReflect.Descriptor instead. 15741 func (*RPCMiddlewareResponse) Descriptor() ([]byte, []int) { 15742 return file_lightning_proto_rawDescGZIP(), []int{186} 15743 } 15744 15745 func (x *RPCMiddlewareResponse) GetRefMsgId() uint64 { 15746 if x != nil { 15747 return x.RefMsgId 15748 } 15749 return 0 15750 } 15751 15752 func (m *RPCMiddlewareResponse) GetMiddlewareMessage() isRPCMiddlewareResponse_MiddlewareMessage { 15753 if m != nil { 15754 return m.MiddlewareMessage 15755 } 15756 return nil 15757 } 15758 15759 func (x *RPCMiddlewareResponse) GetRegister() *MiddlewareRegistration { 15760 if x, ok := x.GetMiddlewareMessage().(*RPCMiddlewareResponse_Register); ok { 15761 return x.Register 15762 } 15763 return nil 15764 } 15765 15766 func (x *RPCMiddlewareResponse) GetFeedback() *InterceptFeedback { 15767 if x, ok := x.GetMiddlewareMessage().(*RPCMiddlewareResponse_Feedback); ok { 15768 return x.Feedback 15769 } 15770 return nil 15771 } 15772 15773 type isRPCMiddlewareResponse_MiddlewareMessage interface { 15774 isRPCMiddlewareResponse_MiddlewareMessage() 15775 } 15776 15777 type RPCMiddlewareResponse_Register struct { 15778 // The registration message identifies the middleware that's being 15779 // registered in lnd. The registration message must be sent immediately 15780 // after initiating the RegisterRpcMiddleware stream, otherwise lnd will 15781 // time out the attempt and terminate the request. NOTE: The middleware 15782 // will only receive interception messages for requests that contain a 15783 // macaroon with the custom caveat that the middleware declares it is 15784 // responsible for handling in the registration message! As a security 15785 // measure, _no_ middleware can intercept requests made with _unencumbered_ 15786 // macaroons! 15787 Register *MiddlewareRegistration `protobuf:"bytes,2,opt,name=register,proto3,oneof"` 15788 } 15789 15790 type RPCMiddlewareResponse_Feedback struct { 15791 // The middleware received an interception request and gives feedback to 15792 // it. The request_id indicates what message the feedback refers to. 15793 Feedback *InterceptFeedback `protobuf:"bytes,3,opt,name=feedback,proto3,oneof"` 15794 } 15795 15796 func (*RPCMiddlewareResponse_Register) isRPCMiddlewareResponse_MiddlewareMessage() {} 15797 15798 func (*RPCMiddlewareResponse_Feedback) isRPCMiddlewareResponse_MiddlewareMessage() {} 15799 15800 type MiddlewareRegistration struct { 15801 state protoimpl.MessageState 15802 sizeCache protoimpl.SizeCache 15803 unknownFields protoimpl.UnknownFields 15804 15805 // The name of the middleware to register. The name should be as informative 15806 // as possible and is logged on registration. 15807 MiddlewareName string `protobuf:"bytes,1,opt,name=middleware_name,json=middlewareName,proto3" json:"middleware_name,omitempty"` 15808 // The name of the custom macaroon caveat that this middleware is responsible 15809 // for. Only requests/responses that contain a macaroon with the registered 15810 // custom caveat are forwarded for interception to the middleware. The 15811 // exception being the read-only mode: All requests/responses are forwarded to 15812 // a middleware that requests read-only access but such a middleware won't be 15813 // allowed to _alter_ responses. As a security measure, _no_ middleware can 15814 // change responses to requests made with _unencumbered_ macaroons! 15815 // NOTE: Cannot be used at the same time as read_only_mode. 15816 CustomMacaroonCaveatName string `protobuf:"bytes,2,opt,name=custom_macaroon_caveat_name,json=customMacaroonCaveatName,proto3" json:"custom_macaroon_caveat_name,omitempty"` 15817 // Instead of defining a custom macaroon caveat name a middleware can register 15818 // itself for read-only access only. In that mode all requests/responses are 15819 // forwarded to the middleware but the middleware isn't allowed to alter any of 15820 // the responses. 15821 // NOTE: Cannot be used at the same time as custom_macaroon_caveat_name. 15822 ReadOnlyMode bool `protobuf:"varint,3,opt,name=read_only_mode,json=readOnlyMode,proto3" json:"read_only_mode,omitempty"` 15823 } 15824 15825 func (x *MiddlewareRegistration) Reset() { 15826 *x = MiddlewareRegistration{} 15827 if protoimpl.UnsafeEnabled { 15828 mi := &file_lightning_proto_msgTypes[187] 15829 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15830 ms.StoreMessageInfo(mi) 15831 } 15832 } 15833 15834 func (x *MiddlewareRegistration) String() string { 15835 return protoimpl.X.MessageStringOf(x) 15836 } 15837 15838 func (*MiddlewareRegistration) ProtoMessage() {} 15839 15840 func (x *MiddlewareRegistration) ProtoReflect() protoreflect.Message { 15841 mi := &file_lightning_proto_msgTypes[187] 15842 if protoimpl.UnsafeEnabled && x != nil { 15843 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15844 if ms.LoadMessageInfo() == nil { 15845 ms.StoreMessageInfo(mi) 15846 } 15847 return ms 15848 } 15849 return mi.MessageOf(x) 15850 } 15851 15852 // Deprecated: Use MiddlewareRegistration.ProtoReflect.Descriptor instead. 15853 func (*MiddlewareRegistration) Descriptor() ([]byte, []int) { 15854 return file_lightning_proto_rawDescGZIP(), []int{187} 15855 } 15856 15857 func (x *MiddlewareRegistration) GetMiddlewareName() string { 15858 if x != nil { 15859 return x.MiddlewareName 15860 } 15861 return "" 15862 } 15863 15864 func (x *MiddlewareRegistration) GetCustomMacaroonCaveatName() string { 15865 if x != nil { 15866 return x.CustomMacaroonCaveatName 15867 } 15868 return "" 15869 } 15870 15871 func (x *MiddlewareRegistration) GetReadOnlyMode() bool { 15872 if x != nil { 15873 return x.ReadOnlyMode 15874 } 15875 return false 15876 } 15877 15878 type InterceptFeedback struct { 15879 state protoimpl.MessageState 15880 sizeCache protoimpl.SizeCache 15881 unknownFields protoimpl.UnknownFields 15882 15883 // The error to return to the user. If this is non-empty, the incoming gRPC 15884 // stream/request is aborted and the error is returned to the gRPC client. If 15885 // this value is empty, it means the middleware accepts the stream/request/ 15886 // response and the processing of it can continue. 15887 Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` 15888 // A boolean indicating that the gRPC response should be replaced/overwritten. 15889 // As its name suggests, this can only be used as a feedback to an intercepted 15890 // response RPC message and is ignored for feedback on any other message. This 15891 // boolean is needed because in protobuf an empty message is serialized as a 15892 // 0-length or nil byte slice and we wouldn't be able to distinguish between 15893 // an empty replacement message and the "don't replace anything" case. 15894 ReplaceResponse bool `protobuf:"varint,2,opt,name=replace_response,json=replaceResponse,proto3" json:"replace_response,omitempty"` 15895 // If the replace_response field is set to true, this field must contain the 15896 // binary serialized gRPC response message in the protobuf format. 15897 ReplacementSerialized []byte `protobuf:"bytes,3,opt,name=replacement_serialized,json=replacementSerialized,proto3" json:"replacement_serialized,omitempty"` 15898 } 15899 15900 func (x *InterceptFeedback) Reset() { 15901 *x = InterceptFeedback{} 15902 if protoimpl.UnsafeEnabled { 15903 mi := &file_lightning_proto_msgTypes[188] 15904 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15905 ms.StoreMessageInfo(mi) 15906 } 15907 } 15908 15909 func (x *InterceptFeedback) String() string { 15910 return protoimpl.X.MessageStringOf(x) 15911 } 15912 15913 func (*InterceptFeedback) ProtoMessage() {} 15914 15915 func (x *InterceptFeedback) ProtoReflect() protoreflect.Message { 15916 mi := &file_lightning_proto_msgTypes[188] 15917 if protoimpl.UnsafeEnabled && x != nil { 15918 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15919 if ms.LoadMessageInfo() == nil { 15920 ms.StoreMessageInfo(mi) 15921 } 15922 return ms 15923 } 15924 return mi.MessageOf(x) 15925 } 15926 15927 // Deprecated: Use InterceptFeedback.ProtoReflect.Descriptor instead. 15928 func (*InterceptFeedback) Descriptor() ([]byte, []int) { 15929 return file_lightning_proto_rawDescGZIP(), []int{188} 15930 } 15931 15932 func (x *InterceptFeedback) GetError() string { 15933 if x != nil { 15934 return x.Error 15935 } 15936 return "" 15937 } 15938 15939 func (x *InterceptFeedback) GetReplaceResponse() bool { 15940 if x != nil { 15941 return x.ReplaceResponse 15942 } 15943 return false 15944 } 15945 15946 func (x *InterceptFeedback) GetReplacementSerialized() []byte { 15947 if x != nil { 15948 return x.ReplacementSerialized 15949 } 15950 return nil 15951 } 15952 15953 type PendingChannelsResponse_PendingChannel struct { 15954 state protoimpl.MessageState 15955 sizeCache protoimpl.SizeCache 15956 unknownFields protoimpl.UnknownFields 15957 15958 RemoteNodePub string `protobuf:"bytes,1,opt,name=remote_node_pub,json=remoteNodePub,proto3" json:"remote_node_pub,omitempty"` 15959 ChannelPoint string `protobuf:"bytes,2,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` 15960 // The short channel id represented as a string, to ease log parsing. This is 15961 // the same as chan_id, but returned directly in the string representation. 15962 ShortChanId string `protobuf:"bytes,900,opt,name=short_chan_id,json=shortChanId,proto3" json:"short_chan_id,omitempty"` 15963 Capacity int64 `protobuf:"varint,3,opt,name=capacity,proto3" json:"capacity,omitempty"` 15964 LocalBalance int64 `protobuf:"varint,4,opt,name=local_balance,json=localBalance,proto3" json:"local_balance,omitempty"` 15965 RemoteBalance int64 `protobuf:"varint,5,opt,name=remote_balance,json=remoteBalance,proto3" json:"remote_balance,omitempty"` 15966 // The minimum atoms this node is required to reserve in its balance. 15967 LocalChanReserveAtoms int64 `protobuf:"varint,6,opt,name=local_chan_reserve_atoms,json=localChanReserveAtoms,proto3" json:"local_chan_reserve_atoms,omitempty"` 15968 // The minimum atoms the other node is required to reserve in its 15969 // balance. 15970 RemoteChanReserveAtoms int64 `protobuf:"varint,7,opt,name=remote_chan_reserve_atoms,json=remoteChanReserveAtoms,proto3" json:"remote_chan_reserve_atoms,omitempty"` 15971 // The party that initiated opening the channel. 15972 Initiator Initiator `protobuf:"varint,8,opt,name=initiator,proto3,enum=lnrpc.Initiator" json:"initiator,omitempty"` 15973 // The commitment type used by this channel. 15974 CommitmentType CommitmentType `protobuf:"varint,9,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"` 15975 // Total number of forwarding packages created in this channel. 15976 NumForwardingPackages int64 `protobuf:"varint,10,opt,name=num_forwarding_packages,json=numForwardingPackages,proto3" json:"num_forwarding_packages,omitempty"` 15977 // A set of flags showing the current state of the channel. 15978 ChanStatusFlags string `protobuf:"bytes,11,opt,name=chan_status_flags,json=chanStatusFlags,proto3" json:"chan_status_flags,omitempty"` 15979 } 15980 15981 func (x *PendingChannelsResponse_PendingChannel) Reset() { 15982 *x = PendingChannelsResponse_PendingChannel{} 15983 if protoimpl.UnsafeEnabled { 15984 mi := &file_lightning_proto_msgTypes[194] 15985 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 15986 ms.StoreMessageInfo(mi) 15987 } 15988 } 15989 15990 func (x *PendingChannelsResponse_PendingChannel) String() string { 15991 return protoimpl.X.MessageStringOf(x) 15992 } 15993 15994 func (*PendingChannelsResponse_PendingChannel) ProtoMessage() {} 15995 15996 func (x *PendingChannelsResponse_PendingChannel) ProtoReflect() protoreflect.Message { 15997 mi := &file_lightning_proto_msgTypes[194] 15998 if protoimpl.UnsafeEnabled && x != nil { 15999 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16000 if ms.LoadMessageInfo() == nil { 16001 ms.StoreMessageInfo(mi) 16002 } 16003 return ms 16004 } 16005 return mi.MessageOf(x) 16006 } 16007 16008 // Deprecated: Use PendingChannelsResponse_PendingChannel.ProtoReflect.Descriptor instead. 16009 func (*PendingChannelsResponse_PendingChannel) Descriptor() ([]byte, []int) { 16010 return file_lightning_proto_rawDescGZIP(), []int{79, 0} 16011 } 16012 16013 func (x *PendingChannelsResponse_PendingChannel) GetRemoteNodePub() string { 16014 if x != nil { 16015 return x.RemoteNodePub 16016 } 16017 return "" 16018 } 16019 16020 func (x *PendingChannelsResponse_PendingChannel) GetChannelPoint() string { 16021 if x != nil { 16022 return x.ChannelPoint 16023 } 16024 return "" 16025 } 16026 16027 func (x *PendingChannelsResponse_PendingChannel) GetShortChanId() string { 16028 if x != nil { 16029 return x.ShortChanId 16030 } 16031 return "" 16032 } 16033 16034 func (x *PendingChannelsResponse_PendingChannel) GetCapacity() int64 { 16035 if x != nil { 16036 return x.Capacity 16037 } 16038 return 0 16039 } 16040 16041 func (x *PendingChannelsResponse_PendingChannel) GetLocalBalance() int64 { 16042 if x != nil { 16043 return x.LocalBalance 16044 } 16045 return 0 16046 } 16047 16048 func (x *PendingChannelsResponse_PendingChannel) GetRemoteBalance() int64 { 16049 if x != nil { 16050 return x.RemoteBalance 16051 } 16052 return 0 16053 } 16054 16055 func (x *PendingChannelsResponse_PendingChannel) GetLocalChanReserveAtoms() int64 { 16056 if x != nil { 16057 return x.LocalChanReserveAtoms 16058 } 16059 return 0 16060 } 16061 16062 func (x *PendingChannelsResponse_PendingChannel) GetRemoteChanReserveAtoms() int64 { 16063 if x != nil { 16064 return x.RemoteChanReserveAtoms 16065 } 16066 return 0 16067 } 16068 16069 func (x *PendingChannelsResponse_PendingChannel) GetInitiator() Initiator { 16070 if x != nil { 16071 return x.Initiator 16072 } 16073 return Initiator_INITIATOR_UNKNOWN 16074 } 16075 16076 func (x *PendingChannelsResponse_PendingChannel) GetCommitmentType() CommitmentType { 16077 if x != nil { 16078 return x.CommitmentType 16079 } 16080 return CommitmentType_UNKNOWN_COMMITMENT_TYPE 16081 } 16082 16083 func (x *PendingChannelsResponse_PendingChannel) GetNumForwardingPackages() int64 { 16084 if x != nil { 16085 return x.NumForwardingPackages 16086 } 16087 return 0 16088 } 16089 16090 func (x *PendingChannelsResponse_PendingChannel) GetChanStatusFlags() string { 16091 if x != nil { 16092 return x.ChanStatusFlags 16093 } 16094 return "" 16095 } 16096 16097 type PendingChannelsResponse_PendingOpenChannel struct { 16098 state protoimpl.MessageState 16099 sizeCache protoimpl.SizeCache 16100 unknownFields protoimpl.UnknownFields 16101 16102 // The pending channel 16103 Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` 16104 // The height at which this channel will be confirmed 16105 ConfirmationHeight uint32 `protobuf:"varint,2,opt,name=confirmation_height,json=confirmationHeight,proto3" json:"confirmation_height,omitempty"` 16106 // The amount calculated to be paid in fees for the current set of 16107 // commitment transactions. The fee amount is persisted with the channel 16108 // in order to allow the fee amount to be removed and recalculated with 16109 // each channel state update, including updates that happen after a system 16110 // restart. 16111 CommitFee int64 `protobuf:"varint,4,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee,omitempty"` 16112 // The size of the commitment transaction 16113 CommitSize int64 `protobuf:"varint,5,opt,name=commit_size,json=commitSize,proto3" json:"commit_size,omitempty"` 16114 // The required number of atoms per kilobyte that the requester will 16115 // pay at all times, for both the funding transaction and commitment 16116 // transaction. This value can later be updated once the channel is open. 16117 FeePerKb int64 `protobuf:"varint,6,opt,name=fee_per_kb,json=feePerKb,proto3" json:"fee_per_kb,omitempty"` 16118 } 16119 16120 func (x *PendingChannelsResponse_PendingOpenChannel) Reset() { 16121 *x = PendingChannelsResponse_PendingOpenChannel{} 16122 if protoimpl.UnsafeEnabled { 16123 mi := &file_lightning_proto_msgTypes[195] 16124 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16125 ms.StoreMessageInfo(mi) 16126 } 16127 } 16128 16129 func (x *PendingChannelsResponse_PendingOpenChannel) String() string { 16130 return protoimpl.X.MessageStringOf(x) 16131 } 16132 16133 func (*PendingChannelsResponse_PendingOpenChannel) ProtoMessage() {} 16134 16135 func (x *PendingChannelsResponse_PendingOpenChannel) ProtoReflect() protoreflect.Message { 16136 mi := &file_lightning_proto_msgTypes[195] 16137 if protoimpl.UnsafeEnabled && x != nil { 16138 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16139 if ms.LoadMessageInfo() == nil { 16140 ms.StoreMessageInfo(mi) 16141 } 16142 return ms 16143 } 16144 return mi.MessageOf(x) 16145 } 16146 16147 // Deprecated: Use PendingChannelsResponse_PendingOpenChannel.ProtoReflect.Descriptor instead. 16148 func (*PendingChannelsResponse_PendingOpenChannel) Descriptor() ([]byte, []int) { 16149 return file_lightning_proto_rawDescGZIP(), []int{79, 1} 16150 } 16151 16152 func (x *PendingChannelsResponse_PendingOpenChannel) GetChannel() *PendingChannelsResponse_PendingChannel { 16153 if x != nil { 16154 return x.Channel 16155 } 16156 return nil 16157 } 16158 16159 func (x *PendingChannelsResponse_PendingOpenChannel) GetConfirmationHeight() uint32 { 16160 if x != nil { 16161 return x.ConfirmationHeight 16162 } 16163 return 0 16164 } 16165 16166 func (x *PendingChannelsResponse_PendingOpenChannel) GetCommitFee() int64 { 16167 if x != nil { 16168 return x.CommitFee 16169 } 16170 return 0 16171 } 16172 16173 func (x *PendingChannelsResponse_PendingOpenChannel) GetCommitSize() int64 { 16174 if x != nil { 16175 return x.CommitSize 16176 } 16177 return 0 16178 } 16179 16180 func (x *PendingChannelsResponse_PendingOpenChannel) GetFeePerKb() int64 { 16181 if x != nil { 16182 return x.FeePerKb 16183 } 16184 return 0 16185 } 16186 16187 type PendingChannelsResponse_WaitingCloseChannel struct { 16188 state protoimpl.MessageState 16189 sizeCache protoimpl.SizeCache 16190 unknownFields protoimpl.UnknownFields 16191 16192 // The pending channel waiting for closing tx to confirm 16193 Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` 16194 // The balance in atoms encumbered in this channel 16195 LimboBalance int64 `protobuf:"varint,2,opt,name=limbo_balance,json=limboBalance,proto3" json:"limbo_balance,omitempty"` 16196 // A list of valid commitment transactions. Any of these can confirm at 16197 // this point. 16198 Commitments *PendingChannelsResponse_Commitments `protobuf:"bytes,3,opt,name=commitments,proto3" json:"commitments,omitempty"` 16199 // The transaction id of the closing transaction 16200 ClosingTxid string `protobuf:"bytes,4,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"` 16201 } 16202 16203 func (x *PendingChannelsResponse_WaitingCloseChannel) Reset() { 16204 *x = PendingChannelsResponse_WaitingCloseChannel{} 16205 if protoimpl.UnsafeEnabled { 16206 mi := &file_lightning_proto_msgTypes[196] 16207 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16208 ms.StoreMessageInfo(mi) 16209 } 16210 } 16211 16212 func (x *PendingChannelsResponse_WaitingCloseChannel) String() string { 16213 return protoimpl.X.MessageStringOf(x) 16214 } 16215 16216 func (*PendingChannelsResponse_WaitingCloseChannel) ProtoMessage() {} 16217 16218 func (x *PendingChannelsResponse_WaitingCloseChannel) ProtoReflect() protoreflect.Message { 16219 mi := &file_lightning_proto_msgTypes[196] 16220 if protoimpl.UnsafeEnabled && x != nil { 16221 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16222 if ms.LoadMessageInfo() == nil { 16223 ms.StoreMessageInfo(mi) 16224 } 16225 return ms 16226 } 16227 return mi.MessageOf(x) 16228 } 16229 16230 // Deprecated: Use PendingChannelsResponse_WaitingCloseChannel.ProtoReflect.Descriptor instead. 16231 func (*PendingChannelsResponse_WaitingCloseChannel) Descriptor() ([]byte, []int) { 16232 return file_lightning_proto_rawDescGZIP(), []int{79, 2} 16233 } 16234 16235 func (x *PendingChannelsResponse_WaitingCloseChannel) GetChannel() *PendingChannelsResponse_PendingChannel { 16236 if x != nil { 16237 return x.Channel 16238 } 16239 return nil 16240 } 16241 16242 func (x *PendingChannelsResponse_WaitingCloseChannel) GetLimboBalance() int64 { 16243 if x != nil { 16244 return x.LimboBalance 16245 } 16246 return 0 16247 } 16248 16249 func (x *PendingChannelsResponse_WaitingCloseChannel) GetCommitments() *PendingChannelsResponse_Commitments { 16250 if x != nil { 16251 return x.Commitments 16252 } 16253 return nil 16254 } 16255 16256 func (x *PendingChannelsResponse_WaitingCloseChannel) GetClosingTxid() string { 16257 if x != nil { 16258 return x.ClosingTxid 16259 } 16260 return "" 16261 } 16262 16263 type PendingChannelsResponse_Commitments struct { 16264 state protoimpl.MessageState 16265 sizeCache protoimpl.SizeCache 16266 unknownFields protoimpl.UnknownFields 16267 16268 // Hash of the local version of the commitment tx. 16269 LocalTxid string `protobuf:"bytes,1,opt,name=local_txid,json=localTxid,proto3" json:"local_txid,omitempty"` 16270 // Hash of the remote version of the commitment tx. 16271 RemoteTxid string `protobuf:"bytes,2,opt,name=remote_txid,json=remoteTxid,proto3" json:"remote_txid,omitempty"` 16272 // Hash of the remote pending version of the commitment tx. 16273 RemotePendingTxid string `protobuf:"bytes,3,opt,name=remote_pending_txid,json=remotePendingTxid,proto3" json:"remote_pending_txid,omitempty"` 16274 // The amount in atoms calculated to be paid in fees for the local 16275 // commitment. 16276 LocalCommitFeeAtoms uint64 `protobuf:"varint,4,opt,name=local_commit_fee_atoms,json=localCommitFeeAtoms,proto3" json:"local_commit_fee_atoms,omitempty"` 16277 // The amount in atoms calculated to be paid in fees for the remote 16278 // commitment. 16279 RemoteCommitFeeAtoms uint64 `protobuf:"varint,5,opt,name=remote_commit_fee_atoms,json=remoteCommitFeeAtoms,proto3" json:"remote_commit_fee_atoms,omitempty"` 16280 // The amount in satoshis calculated to be paid in fees for the remote 16281 // pending commitment. 16282 RemotePendingCommitFeeAtoms uint64 `protobuf:"varint,6,opt,name=remote_pending_commit_fee_atoms,json=remotePendingCommitFeeAtoms,proto3" json:"remote_pending_commit_fee_atoms,omitempty"` 16283 } 16284 16285 func (x *PendingChannelsResponse_Commitments) Reset() { 16286 *x = PendingChannelsResponse_Commitments{} 16287 if protoimpl.UnsafeEnabled { 16288 mi := &file_lightning_proto_msgTypes[197] 16289 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16290 ms.StoreMessageInfo(mi) 16291 } 16292 } 16293 16294 func (x *PendingChannelsResponse_Commitments) String() string { 16295 return protoimpl.X.MessageStringOf(x) 16296 } 16297 16298 func (*PendingChannelsResponse_Commitments) ProtoMessage() {} 16299 16300 func (x *PendingChannelsResponse_Commitments) ProtoReflect() protoreflect.Message { 16301 mi := &file_lightning_proto_msgTypes[197] 16302 if protoimpl.UnsafeEnabled && x != nil { 16303 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16304 if ms.LoadMessageInfo() == nil { 16305 ms.StoreMessageInfo(mi) 16306 } 16307 return ms 16308 } 16309 return mi.MessageOf(x) 16310 } 16311 16312 // Deprecated: Use PendingChannelsResponse_Commitments.ProtoReflect.Descriptor instead. 16313 func (*PendingChannelsResponse_Commitments) Descriptor() ([]byte, []int) { 16314 return file_lightning_proto_rawDescGZIP(), []int{79, 3} 16315 } 16316 16317 func (x *PendingChannelsResponse_Commitments) GetLocalTxid() string { 16318 if x != nil { 16319 return x.LocalTxid 16320 } 16321 return "" 16322 } 16323 16324 func (x *PendingChannelsResponse_Commitments) GetRemoteTxid() string { 16325 if x != nil { 16326 return x.RemoteTxid 16327 } 16328 return "" 16329 } 16330 16331 func (x *PendingChannelsResponse_Commitments) GetRemotePendingTxid() string { 16332 if x != nil { 16333 return x.RemotePendingTxid 16334 } 16335 return "" 16336 } 16337 16338 func (x *PendingChannelsResponse_Commitments) GetLocalCommitFeeAtoms() uint64 { 16339 if x != nil { 16340 return x.LocalCommitFeeAtoms 16341 } 16342 return 0 16343 } 16344 16345 func (x *PendingChannelsResponse_Commitments) GetRemoteCommitFeeAtoms() uint64 { 16346 if x != nil { 16347 return x.RemoteCommitFeeAtoms 16348 } 16349 return 0 16350 } 16351 16352 func (x *PendingChannelsResponse_Commitments) GetRemotePendingCommitFeeAtoms() uint64 { 16353 if x != nil { 16354 return x.RemotePendingCommitFeeAtoms 16355 } 16356 return 0 16357 } 16358 16359 type PendingChannelsResponse_ClosedChannel struct { 16360 state protoimpl.MessageState 16361 sizeCache protoimpl.SizeCache 16362 unknownFields protoimpl.UnknownFields 16363 16364 // The pending channel to be closed 16365 Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` 16366 // The transaction id of the closing transaction 16367 ClosingTxid string `protobuf:"bytes,2,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"` 16368 } 16369 16370 func (x *PendingChannelsResponse_ClosedChannel) Reset() { 16371 *x = PendingChannelsResponse_ClosedChannel{} 16372 if protoimpl.UnsafeEnabled { 16373 mi := &file_lightning_proto_msgTypes[198] 16374 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16375 ms.StoreMessageInfo(mi) 16376 } 16377 } 16378 16379 func (x *PendingChannelsResponse_ClosedChannel) String() string { 16380 return protoimpl.X.MessageStringOf(x) 16381 } 16382 16383 func (*PendingChannelsResponse_ClosedChannel) ProtoMessage() {} 16384 16385 func (x *PendingChannelsResponse_ClosedChannel) ProtoReflect() protoreflect.Message { 16386 mi := &file_lightning_proto_msgTypes[198] 16387 if protoimpl.UnsafeEnabled && x != nil { 16388 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16389 if ms.LoadMessageInfo() == nil { 16390 ms.StoreMessageInfo(mi) 16391 } 16392 return ms 16393 } 16394 return mi.MessageOf(x) 16395 } 16396 16397 // Deprecated: Use PendingChannelsResponse_ClosedChannel.ProtoReflect.Descriptor instead. 16398 func (*PendingChannelsResponse_ClosedChannel) Descriptor() ([]byte, []int) { 16399 return file_lightning_proto_rawDescGZIP(), []int{79, 4} 16400 } 16401 16402 func (x *PendingChannelsResponse_ClosedChannel) GetChannel() *PendingChannelsResponse_PendingChannel { 16403 if x != nil { 16404 return x.Channel 16405 } 16406 return nil 16407 } 16408 16409 func (x *PendingChannelsResponse_ClosedChannel) GetClosingTxid() string { 16410 if x != nil { 16411 return x.ClosingTxid 16412 } 16413 return "" 16414 } 16415 16416 type PendingChannelsResponse_ForceClosedChannel struct { 16417 state protoimpl.MessageState 16418 sizeCache protoimpl.SizeCache 16419 unknownFields protoimpl.UnknownFields 16420 16421 // The pending channel to be force closed 16422 Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` 16423 // The transaction id of the closing transaction 16424 ClosingTxid string `protobuf:"bytes,2,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"` 16425 // The balance in atoms encumbered in this pending channel 16426 LimboBalance int64 `protobuf:"varint,3,opt,name=limbo_balance,json=limboBalance,proto3" json:"limbo_balance,omitempty"` 16427 // The height at which funds can be swept into the wallet 16428 MaturityHeight uint32 `protobuf:"varint,4,opt,name=maturity_height,json=maturityHeight,proto3" json:"maturity_height,omitempty"` 16429 // Remaining # of blocks until the commitment output can be swept. 16430 // Negative values indicate how many blocks have passed since becoming 16431 // mature. 16432 BlocksTilMaturity int32 `protobuf:"varint,5,opt,name=blocks_til_maturity,json=blocksTilMaturity,proto3" json:"blocks_til_maturity,omitempty"` 16433 // The total value of funds successfully recovered from this channel 16434 RecoveredBalance int64 `protobuf:"varint,6,opt,name=recovered_balance,json=recoveredBalance,proto3" json:"recovered_balance,omitempty"` 16435 PendingHtlcs []*PendingHTLC `protobuf:"bytes,8,rep,name=pending_htlcs,json=pendingHtlcs,proto3" json:"pending_htlcs,omitempty"` 16436 Anchor PendingChannelsResponse_ForceClosedChannel_AnchorState `protobuf:"varint,9,opt,name=anchor,proto3,enum=lnrpc.PendingChannelsResponse_ForceClosedChannel_AnchorState" json:"anchor,omitempty"` 16437 } 16438 16439 func (x *PendingChannelsResponse_ForceClosedChannel) Reset() { 16440 *x = PendingChannelsResponse_ForceClosedChannel{} 16441 if protoimpl.UnsafeEnabled { 16442 mi := &file_lightning_proto_msgTypes[199] 16443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16444 ms.StoreMessageInfo(mi) 16445 } 16446 } 16447 16448 func (x *PendingChannelsResponse_ForceClosedChannel) String() string { 16449 return protoimpl.X.MessageStringOf(x) 16450 } 16451 16452 func (*PendingChannelsResponse_ForceClosedChannel) ProtoMessage() {} 16453 16454 func (x *PendingChannelsResponse_ForceClosedChannel) ProtoReflect() protoreflect.Message { 16455 mi := &file_lightning_proto_msgTypes[199] 16456 if protoimpl.UnsafeEnabled && x != nil { 16457 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 16458 if ms.LoadMessageInfo() == nil { 16459 ms.StoreMessageInfo(mi) 16460 } 16461 return ms 16462 } 16463 return mi.MessageOf(x) 16464 } 16465 16466 // Deprecated: Use PendingChannelsResponse_ForceClosedChannel.ProtoReflect.Descriptor instead. 16467 func (*PendingChannelsResponse_ForceClosedChannel) Descriptor() ([]byte, []int) { 16468 return file_lightning_proto_rawDescGZIP(), []int{79, 5} 16469 } 16470 16471 func (x *PendingChannelsResponse_ForceClosedChannel) GetChannel() *PendingChannelsResponse_PendingChannel { 16472 if x != nil { 16473 return x.Channel 16474 } 16475 return nil 16476 } 16477 16478 func (x *PendingChannelsResponse_ForceClosedChannel) GetClosingTxid() string { 16479 if x != nil { 16480 return x.ClosingTxid 16481 } 16482 return "" 16483 } 16484 16485 func (x *PendingChannelsResponse_ForceClosedChannel) GetLimboBalance() int64 { 16486 if x != nil { 16487 return x.LimboBalance 16488 } 16489 return 0 16490 } 16491 16492 func (x *PendingChannelsResponse_ForceClosedChannel) GetMaturityHeight() uint32 { 16493 if x != nil { 16494 return x.MaturityHeight 16495 } 16496 return 0 16497 } 16498 16499 func (x *PendingChannelsResponse_ForceClosedChannel) GetBlocksTilMaturity() int32 { 16500 if x != nil { 16501 return x.BlocksTilMaturity 16502 } 16503 return 0 16504 } 16505 16506 func (x *PendingChannelsResponse_ForceClosedChannel) GetRecoveredBalance() int64 { 16507 if x != nil { 16508 return x.RecoveredBalance 16509 } 16510 return 0 16511 } 16512 16513 func (x *PendingChannelsResponse_ForceClosedChannel) GetPendingHtlcs() []*PendingHTLC { 16514 if x != nil { 16515 return x.PendingHtlcs 16516 } 16517 return nil 16518 } 16519 16520 func (x *PendingChannelsResponse_ForceClosedChannel) GetAnchor() PendingChannelsResponse_ForceClosedChannel_AnchorState { 16521 if x != nil { 16522 return x.Anchor 16523 } 16524 return PendingChannelsResponse_ForceClosedChannel_LIMBO 16525 } 16526 16527 var File_lightning_proto protoreflect.FileDescriptor 16528 16529 var file_lightning_proto_rawDesc = []byte{ 16530 0x0a, 0x0f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 16531 0x6f, 0x12, 0x05, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x73, 16532 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 16533 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x0d, 0x43, 0x75, 16534 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 16535 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, 16536 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 16537 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 16538 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x56, 0x0a, 0x18, 0x53, 0x65, 0x6e, 0x64, 0x43, 16539 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 16540 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 16541 0x0c, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 16542 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 16543 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 16544 0x1b, 0x0a, 0x19, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 16545 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xea, 0x01, 0x0a, 16546 0x04, 0x55, 0x74, 0x78, 0x6f, 0x12, 0x35, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 16547 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 16548 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 16549 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 16550 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 16551 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 16552 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x6d, 16553 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6b, 0x5f, 16554 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6b, 16555 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x2b, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 16556 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 16557 0x2e, 0x4f, 0x75, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 16558 0x69, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 16559 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 16560 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xc6, 0x02, 0x0a, 0x0b, 0x54, 0x72, 16561 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 16562 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 16563 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 16564 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6e, 0x75, 16565 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 16566 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 16567 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 16568 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 16569 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 16570 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x6c, 16571 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 16572 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 16573 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 16574 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, 16575 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x5f, 16576 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 16577 0x0d, 0x64, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1c, 16578 0x0a, 0x0a, 0x72, 0x61, 0x77, 0x5f, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 16579 0x28, 0x09, 0x52, 0x08, 0x72, 0x61, 0x77, 0x54, 0x78, 0x48, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 16580 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 16581 0x65, 0x6c, 0x22, 0x74, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 16582 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 16583 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 16584 0x28, 0x05, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 16585 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 16586 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 16587 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 16588 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x4c, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 16589 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x36, 16590 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 16591 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 16592 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 16593 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x6d, 0x0a, 0x08, 0x46, 0x65, 0x65, 0x4c, 0x69, 0x6d, 16594 0x69, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x66, 0x69, 0x78, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 16595 0x03, 0x48, 0x00, 0x52, 0x05, 0x66, 0x69, 0x78, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x66, 0x69, 16596 0x78, 0x65, 0x64, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 16597 0x03, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 16598 0x12, 0x1a, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 16599 0x03, 0x48, 0x00, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 16600 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xa6, 0x06, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 16601 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 16602 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x64, 0x65, 0x73, 16603 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 16604 0x18, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x10, 16605 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x6d, 0x74, 16606 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 16607 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x6d, 0x74, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 16608 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 16609 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 16610 0x61, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 16611 0x61, 0x73, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 16612 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 16613 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 16614 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 16615 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 16616 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 16617 0x65, 0x6c, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x61, 16618 0x6c, 0x43, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x09, 0x66, 0x65, 16619 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 16620 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x08, 16621 0x66, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x67, 16622 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 16623 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 16624 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x17, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 16625 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 16626 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4d, 16627 0x61, 0x78, 0x4f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x74, 0x12, 0x26, 0x0a, 16628 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 16629 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x50, 16630 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x6c, 0x69, 16631 0x6d, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6c, 0x74, 0x76, 0x4c, 16632 0x69, 0x6d, 0x69, 0x74, 0x12, 0x59, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x75, 0x73, 16633 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 16634 0x0b, 0x32, 0x29, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 16635 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 16636 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x64, 0x65, 16637 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 16638 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x5f, 0x70, 0x61, 16639 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 16640 0x6f, 0x77, 0x53, 0x65, 0x6c, 0x66, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 16641 0x0d, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x10, 16642 0x20, 0x03, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 16643 0x74, 0x75, 0x72, 0x65, 0x42, 0x69, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x46, 0x65, 0x61, 16644 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 16645 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 16646 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x1a, 0x44, 0x0a, 0x16, 0x44, 0x65, 0x73, 0x74, 16647 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 16648 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 16649 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 16650 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb4, 16651 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 16652 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 16653 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 16654 0x72, 0x72, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 16655 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 16656 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 16657 0x31, 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 16658 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 16659 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 16660 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 16661 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 16662 0x74, 0x48, 0x61, 0x73, 0x68, 0x22, 0x95, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 16663 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 16664 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 16665 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 16666 0x32, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 16667 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 16668 0x52, 0x11, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x72, 16669 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 16670 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 16671 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x9a, 0x04, 16672 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 16673 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 16674 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 16675 0x65, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 16676 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 16677 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 16678 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 16679 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1f, 16680 0x0a, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x04, 0x20, 16681 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x74, 0x12, 16682 0x19, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 16683 0x04, 0x52, 0x07, 0x70, 0x75, 0x73, 0x68, 0x41, 0x6d, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 16684 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 16685 0x64, 0x75, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x6d, 0x61, 0x78, 16686 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 16687 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 16688 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 16689 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 16690 0x04, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 16691 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x18, 0x09, 0x20, 16692 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x12, 0x1c, 0x0a, 0x0a, 16693 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6b, 0x62, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 16694 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x65, 0x72, 0x4b, 0x62, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x73, 16695 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 16696 0x73, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x61, 16697 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x0c, 0x20, 16698 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 16699 0x48, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 16700 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 16701 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x3e, 0x0a, 0x0f, 0x63, 0x6f, 16702 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 16703 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 16704 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 16705 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x22, 0xfb, 0x02, 0x0a, 0x15, 0x43, 16706 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 16707 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x01, 16708 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x12, 0x26, 0x0a, 0x0f, 16709 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 16710 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 16711 0x61, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 16712 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x70, 16713 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x73, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x04, 16714 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x53, 0x68, 0x75, 16715 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 16716 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x73, 0x76, 0x44, 0x65, 0x6c, 16717 0x61, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x61, 0x74, 16718 0x6f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x65, 0x72, 16719 0x76, 0x65, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 16720 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 16721 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x69, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4d, 16722 0x61, 0x78, 0x4d, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 16723 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 16724 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x48, 0x74, 0x6c, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 16725 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x18, 0x09, 0x20, 16726 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x12, 0x28, 16727 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x64, 0x65, 0x70, 16728 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x41, 0x63, 0x63, 16729 0x65, 0x70, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68, 0x22, 0x9d, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x61, 16730 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x75, 0x6e, 16731 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 16732 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x10, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 16733 0x54, 0x78, 0x69, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x66, 0x75, 0x6e, 16734 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x02, 0x20, 16735 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 16736 0x69, 0x64, 0x53, 0x74, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 16737 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x75, 0x74, 16738 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0e, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 16739 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x22, 0x67, 0x0a, 0x08, 0x4f, 0x75, 0x74, 0x50, 16740 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x78, 0x69, 0x64, 0x5f, 0x62, 0x79, 0x74, 16741 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x78, 0x69, 0x64, 0x42, 0x79, 16742 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x18, 16743 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x78, 0x69, 0x64, 0x53, 0x74, 0x72, 0x12, 0x21, 16744 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 16745 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 16746 0x78, 0x22, 0x3e, 0x0a, 0x10, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x64, 16747 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 16748 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 16749 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 16750 0x74, 0x22, 0x91, 0x02, 0x0a, 0x12, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 16751 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x72, 16752 0x54, 0x6f, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 16753 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 16754 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 16755 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x41, 0x64, 0x64, 16756 0x72, 0x54, 0x6f, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 16757 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 16758 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 16759 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 16760 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x6e, 0x64, 16761 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 16762 0x28, 0x08, 0x52, 0x10, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x55, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 16763 0x72, 0x6d, 0x65, 0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x41, 0x6d, 16764 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 16765 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 16766 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 16767 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6d, 0x0a, 0x13, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 16768 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 16769 0x66, 0x65, 0x65, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 16770 0x08, 0x66, 0x65, 0x65, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x33, 0x0a, 0x16, 0x66, 0x65, 0x65, 16771 0x72, 0x61, 0x74, 0x65, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 16772 0x79, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x66, 0x65, 0x65, 0x72, 0x61, 16773 0x74, 0x65, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x4a, 0x04, 16774 0x08, 0x03, 0x10, 0x04, 0x22, 0xe1, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 16775 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x72, 16776 0x54, 0x6f, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 16777 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x52, 16778 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x41, 0x6d, 0x6f, 16779 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 16780 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 16781 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, 16782 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x74, 0x6f, 0x6d, 0x73, 16783 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 16784 0x0c, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x12, 0x14, 0x0a, 16785 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 16786 0x62, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x64, 16787 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 16788 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 16789 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 16790 0x65, 0x6e, 0x64, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 16791 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x55, 0x6e, 0x63, 0x6f, 16792 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x72, 0x54, 16793 0x6f, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 16794 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 16795 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 16796 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x26, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 16797 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 16798 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 16799 0x22, 0x9a, 0x02, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x65, 16800 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 16801 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 16802 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 16803 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 16804 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 16805 0x6e, 0x66, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 16806 0x62, 0x79, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x61, 0x74, 0x6f, 0x6d, 16807 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 16808 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 16809 0x41, 0x6c, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 16810 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 16811 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 16812 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, 16813 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 16814 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 16815 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x70, 0x65, 16816 0x6e, 0x64, 0x55, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x22, 0x27, 0x0a, 16817 0x11, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 16818 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 16819 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 16820 0x73, 0x70, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 16821 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 16822 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 16823 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, 16824 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 16825 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 16826 0x22, 0x38, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x52, 16827 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 16828 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x55, 16829 0x74, 0x78, 0x6f, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x22, 0x55, 0x0a, 0x11, 0x4e, 0x65, 16830 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 16831 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 16832 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 16833 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 16834 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 16835 0x74, 0x22, 0x2e, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 16836 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 16837 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 16838 0x73, 0x22, 0x47, 0x0a, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 16839 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 16840 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x6e, 16841 0x67, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 16842 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x22, 0x33, 0x0a, 0x13, 0x53, 0x69, 16843 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 16844 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 16845 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 16846 0x46, 0x0a, 0x14, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 16847 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 16848 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 16849 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 16850 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x45, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x69, 0x66, 16851 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 16852 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 16853 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 16854 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0x6f, 16855 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 16856 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 16857 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 16858 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x04, 0x61, 0x64, 0x64, 16859 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 16860 0x04, 0x70, 0x65, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 16861 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 16862 0x15, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 16863 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 16864 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 16865 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 16866 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x63, 16867 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 16868 0x73, 0x65, 0x22, 0x86, 0x02, 0x0a, 0x04, 0x48, 0x54, 0x4c, 0x43, 0x12, 0x1a, 0x0a, 0x08, 0x69, 16869 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 16870 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 16871 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 16872 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 16873 0x28, 0x0c, 0x52, 0x08, 0x68, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x2b, 0x0a, 0x11, 16874 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 16875 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 16876 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x74, 0x6c, 16877 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x68, 16878 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2d, 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x77, 16879 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x06, 16880 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 16881 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x6f, 0x72, 0x77, 0x61, 16882 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 16883 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 16884 0x6e, 0x67, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x96, 0x02, 0x0a, 0x12, 16885 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 16886 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 16887 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x73, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 16888 0x2c, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 16889 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x63, 0x68, 0x61, 16890 0x6e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x28, 0x0a, 16891 0x10, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 16892 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x64, 0x75, 0x73, 0x74, 0x4c, 0x69, 0x6d, 16893 0x69, 0x74, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x34, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x5f, 0x70, 16894 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 16895 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x50, 0x65, 0x6e, 16896 0x64, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x74, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x27, 0x0a, 16897 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 16898 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 16899 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 16900 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x06, 0x20, 0x01, 16901 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x48, 16902 0x74, 0x6c, 0x63, 0x73, 0x22, 0xbb, 0x0a, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 16903 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 16904 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 16905 0x74, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 16906 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 16907 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 16908 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 16909 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 16910 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 16911 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 16912 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 16913 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 16914 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 16915 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 16916 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 16917 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 16918 0x74, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6f, 0x6d, 16919 0x6d, 0x69, 0x74, 0x46, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 16920 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 16921 0x6d, 0x69, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x5f, 0x70, 16922 0x65, 0x72, 0x5f, 0x6b, 0x62, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 16923 0x50, 0x65, 0x72, 0x4b, 0x62, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 16924 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 16925 0x52, 0x10, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 16926 0x63, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 16927 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 0x6f, 16928 0x74, 0x61, 0x6c, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 16929 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 16930 0x69, 0x76, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 16931 0x6c, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1f, 16932 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 16933 0x01, 0x28, 0x04, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 16934 0x30, 0x0a, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 16935 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, 16936 0x54, 0x4c, 0x43, 0x52, 0x0c, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x6c, 0x63, 16937 0x73, 0x12, 0x1f, 0x0a, 0x09, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x10, 16938 0x20, 0x01, 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x73, 0x76, 0x44, 0x65, 0x6c, 16939 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 16940 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 16941 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 16942 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 16943 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 16944 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 16945 0x73, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 16946 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x61, 0x74, 0x6f, 16947 0x6d, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x15, 0x6c, 0x6f, 16948 0x63, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x41, 0x74, 16949 0x6f, 0x6d, 0x73, 0x12, 0x3d, 0x0a, 0x19, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x68, 16950 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 16951 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x72, 0x65, 0x6d, 0x6f, 16952 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x41, 0x74, 0x6f, 16953 0x6d, 0x73, 0x12, 0x2e, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x5f, 0x72, 0x65, 0x6d, 16954 0x6f, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 16955 0x01, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4b, 16956 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 16957 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 16958 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 16959 0x70, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 16960 0x70, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x65, 0x73, 0x74, 16961 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 16962 0x5f, 0x6d, 0x73, 0x18, 0x84, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x63, 0x68, 0x61, 0x6e, 16963 0x52, 0x65, 0x65, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x57, 0x61, 0x69, 0x74, 0x54, 16964 0x69, 0x6d, 0x65, 0x4d, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 16965 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x85, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 16966 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 16967 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x69, 16968 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 16969 0x18, 0x18, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x23, 16970 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 16971 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 16972 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 16973 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 16974 0x70, 0x75, 0x73, 0x68, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 16975 0x1f, 0x0a, 0x0b, 0x74, 0x68, 0x61, 0x77, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x1c, 16976 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x68, 0x61, 0x77, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 16977 0x12, 0x46, 0x0a, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 16978 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x6e, 16979 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 16980 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 16981 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f, 16982 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x1e, 16983 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 16984 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 16985 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 16986 0x74, 0x73, 0x22, 0xb3, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 16987 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 16988 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 16989 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x69, 16990 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 16991 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 16992 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 16993 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4f, 0x6e, 0x6c, 16994 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 16995 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 16996 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 16997 0x28, 0x0c, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 16998 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 16999 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 17000 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 17001 0x65, 0x6c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xfd, 0x05, 0x0a, 17002 0x13, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x6d, 17003 0x6d, 0x61, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 17004 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 17005 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x6f, 17006 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x84, 0x07, 0x20, 0x01, 0x28, 17007 0x09, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1b, 17008 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 17009 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 17010 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 17011 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 17012 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 17013 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x48, 0x61, 17014 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x75, 0x62, 17015 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 17016 0x65, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 17017 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 17018 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x69, 17019 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x65, 17020 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 17021 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 17022 0x0e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 17023 0x2e, 0x0a, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 17024 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x69, 17025 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 17026 0x45, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 17027 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 17028 0x6e, 0x65, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 17029 0x43, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x63, 0x6c, 0x6f, 17030 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 17031 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 17032 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 17033 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 17034 0x39, 0x0a, 0x0f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 17035 0x6f, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 17036 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 17037 0x65, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x65, 17038 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 17039 0x11, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 17040 0x6f, 0x6e, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 17041 0x8a, 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x6f, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 17042 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x43, 17043 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 17044 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 17045 0x12, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4c, 17046 0x4f, 0x53, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x42, 0x52, 0x45, 0x41, 0x43, 0x48, 0x5f, 17047 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x55, 0x4e, 0x44, 0x49, 17048 0x4e, 0x47, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 17049 0x09, 0x41, 0x42, 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x05, 0x22, 0xef, 0x01, 0x0a, 17050 0x0a, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0f, 0x72, 17051 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 17052 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 17053 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x73, 17054 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x6f, 17055 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 17056 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 17057 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 17058 0x2b, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 17059 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x50, 0x6f, 0x69, 17060 0x6e, 0x74, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 17061 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 17062 0x28, 0x04, 0x52, 0x0b, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 17063 0x1d, 0x0a, 0x0a, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x05, 0x20, 17064 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x77, 0x65, 0x65, 0x70, 0x54, 0x78, 0x69, 0x64, 0x22, 0xde, 17065 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 17066 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x6f, 0x70, 17067 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 17068 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 17069 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 17070 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 17071 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 17072 0x08, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x16, 17073 0x0a, 0x06, 0x62, 0x72, 0x65, 0x61, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 17074 0x62, 0x72, 0x65, 0x61, 0x63, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 17075 0x67, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 17076 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 17077 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x18, 0x06, 17078 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x22, 17079 0x50, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 17080 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x63, 0x68, 0x61, 17081 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x6e, 17082 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 17083 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 17084 0x73, 0x22, 0x93, 0x05, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 17085 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 17086 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 17087 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 17088 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 17089 0x04, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 17090 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 17091 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x63, 0x76, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 17092 0x74, 0x6f, 0x6d, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 17093 0x09, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 17094 0x6f, 0x6d, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 17095 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x52, 0x65, 0x63, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x62, 17096 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 17097 0x75, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 17098 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 17099 0x12, 0x31, 0x0a, 0x09, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 17100 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x65, 0x72, 17101 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x54, 17102 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 17103 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 17104 0x65, 0x72, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 17105 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x72, 17106 0x72, 0x6f, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 17107 0x70, 0x63, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x45, 0x72, 17108 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 17109 0x6c, 0x61, 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 17110 0x09, 0x66, 0x6c, 0x61, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x6c, 0x61, 17111 0x73, 0x74, 0x5f, 0x66, 0x6c, 0x61, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 17112 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x70, 0x4e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 17113 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 17114 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x69, 0x6e, 17115 0x67, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x4b, 0x0a, 0x0d, 0x46, 0x65, 0x61, 0x74, 17116 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 17117 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 17118 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 17119 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 17120 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x08, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 17121 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 17122 0x43, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x59, 17123 0x4e, 0x43, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x5f, 17124 0x53, 0x59, 0x4e, 0x43, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x49, 0x4e, 0x4e, 0x45, 0x44, 17125 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x03, 0x22, 0x46, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, 17126 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 17127 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 17128 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 17129 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 17130 0x35, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 17131 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x72, 17132 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x73, 17133 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x36, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 17134 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x70, 17135 0x65, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6c, 0x6e, 0x72, 17136 0x70, 0x63, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x22, 0x17, 17137 0x0a, 0x15, 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 17138 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x09, 0x50, 0x65, 0x65, 0x72, 17139 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 17140 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2e, 17141 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 17142 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 17143 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2e, 17144 0x0a, 0x09, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 17145 0x45, 0x45, 0x52, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 17146 0x50, 0x45, 0x45, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x22, 0x10, 17147 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 17148 0x22, 0x90, 0x07, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 17149 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 17150 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 17151 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 17152 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 17153 0x27, 0x0a, 0x0f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x75, 0x62, 0x6b, 17154 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 17155 0x74, 0x79, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 17156 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 17157 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 17158 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x6e, 0x64, 17159 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 17160 0x28, 0x0d, 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 17161 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x63, 17162 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 17163 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 17164 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 17165 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 17166 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 17167 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 17168 0x6d, 0x5f, 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 17169 0x75, 0x6d, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 17170 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 17171 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 17172 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 17173 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x65, 0x73, 17174 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 17175 0x6d, 0x70, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x62, 0x65, 0x73, 0x74, 0x48, 0x65, 17176 0x61, 0x64, 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 17177 0x0f, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 17178 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x54, 0x6f, 17179 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 17180 0x74, 0x6f, 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 17181 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x54, 0x6f, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x1c, 0x0a, 17182 0x07, 0x74, 0x65, 0x73, 0x74, 0x6e, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 17183 0x18, 0x01, 0x52, 0x07, 0x74, 0x65, 0x73, 0x74, 0x6e, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x06, 0x63, 17184 0x68, 0x61, 0x69, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6e, 17185 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 17186 0x73, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x72, 0x69, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 17187 0x04, 0x75, 0x72, 0x69, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 17188 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 17189 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 17190 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x66, 17191 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 17192 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x85, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 17193 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x2f, 17194 0x0a, 0x13, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x5f, 0x74, 17195 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x86, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 0x6f, 17196 0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 17197 0x2f, 0x0a, 0x13, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x75, 0x6e, 0x65, 0x5f, 17198 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x87, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x72, 17199 0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x75, 0x6e, 0x65, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 17200 0x1a, 0x4b, 0x0a, 0x0d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 17201 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 17202 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 17203 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 17204 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 17205 0x0b, 0x10, 0x0c, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 17206 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x87, 0x01, 17207 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 17208 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 17209 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 17210 0x52, 0x0c, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2b, 17211 0x0a, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 17212 0x68, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x76, 17213 0x65, 0x72, 0x79, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 17214 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 17215 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x37, 0x0a, 0x05, 0x43, 0x68, 0x61, 0x69, 0x6e, 17216 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 17217 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 17218 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 17219 0x22, 0x7a, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 17220 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 17221 0x73, 0x68, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 17222 0x53, 0x68, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 17223 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 17224 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 17225 0x6e, 0x66, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 17226 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x22, 0x4d, 0x0a, 0x11, 17227 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 17228 0x65, 0x12, 0x38, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 17229 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 17230 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0c, 0x63, 17231 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x51, 0x0a, 0x12, 0x43, 17232 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 17233 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 17234 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 17235 0x54, 0x78, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 17236 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xdd, 17237 0x01, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 17238 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 17239 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 17240 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 17241 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 17242 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 17243 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 17244 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, 17245 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x74, 0x6f, 0x6d, 0x73, 17246 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 17247 0x0c, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x12, 0x29, 0x0a, 17248 0x10, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 17249 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 17250 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x22, 0x96, 17251 0x01, 0x0a, 0x11, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 17252 0x64, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x70, 0x65, 17253 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 17254 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 17255 0x65, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 17256 0x67, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 17257 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 17258 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 17259 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x08, 0x0a, 17260 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x46, 0x0a, 0x0d, 0x50, 0x65, 0x6e, 0x64, 0x69, 17261 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 17262 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 17263 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 17264 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 17265 0x79, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x64, 0x79, 0x46, 0x6f, 0x72, 0x50, 0x73, 0x62, 0x74, 0x46, 17266 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 17267 0x67, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 17268 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 17269 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 17270 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 17271 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x03, 17272 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x73, 0x62, 0x74, 0x22, 0xf5, 0x01, 0x0a, 0x17, 0x42, 17273 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 17274 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 17275 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 17276 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 17277 0x6c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 17278 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 17279 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x24, 0x0a, 0x0e, 17280 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, 17281 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 17282 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, 0x18, 17283 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 17284 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 17285 0x72, 0x6d, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x70, 0x65, 0x6e, 17286 0x64, 0x55, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 17287 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 17288 0x65, 0x6c, 0x22, 0xfe, 0x02, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 17289 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 17290 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x6f, 17291 0x64, 0x65, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x6f, 0x63, 0x61, 17292 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 17293 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x75, 0x6e, 17294 0x64, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x75, 17295 0x73, 0x68, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 17296 0x70, 0x75, 0x73, 0x68, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 17297 0x76, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 17298 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 17299 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 17300 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x10, 17301 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 17302 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x73, 17303 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 17304 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 17305 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 17306 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 17307 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 17308 0x6e, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 17309 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 17310 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 17311 0x79, 0x70, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 17312 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 17313 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 17314 0x3f, 0x0a, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 17315 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 17316 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 17317 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 17318 0x22, 0xf0, 0x05, 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 17319 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 17320 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x6f, 17321 0x64, 0x65, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x12, 0x6e, 0x6f, 0x64, 0x65, 17322 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x03, 17323 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x75, 17324 0x62, 0x6b, 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x6c, 0x6f, 17325 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 17326 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 17327 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 17328 0x70, 0x75, 0x73, 0x68, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 17329 0x52, 0x09, 0x70, 0x75, 0x73, 0x68, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 17330 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 17331 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x24, 0x0a, 0x0e, 17332 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x07, 17333 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x50, 0x65, 0x72, 0x42, 0x79, 17334 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 17335 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x10, 17336 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 17337 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x4d, 17338 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 17339 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 17340 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x73, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 17341 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x0b, 0x20, 0x01, 17342 0x28, 0x05, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x2b, 0x0a, 0x11, 17343 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 17344 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x55, 0x6e, 17345 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 17346 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 17347 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x35, 17348 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x68, 0x69, 0x6d, 0x18, 0x0e, 17349 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 17350 0x64, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 17351 0x67, 0x53, 0x68, 0x69, 0x6d, 0x12, 0x48, 0x0a, 0x22, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 17352 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 17353 0x67, 0x68, 0x74, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 17354 0x04, 0x52, 0x1c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 17355 0x65, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 17356 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x74, 17357 0x6c, 0x63, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 17358 0x65, 0x4d, 0x61, 0x78, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 17359 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x73, 0x76, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0d, 17360 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x73, 0x76, 0x12, 0x3e, 0x0a, 17361 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 17362 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 17363 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x63, 17364 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 17365 0x01, 0x10, 0x02, 0x22, 0xf3, 0x01, 0x0a, 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 17366 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 17367 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 17368 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 17369 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x65, 0x6e, 0x64, 17370 0x69, 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 17371 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 17372 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 17373 0x48, 0x00, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 17374 0x70, 0x73, 0x62, 0x74, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 17375 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x79, 0x46, 0x6f, 0x72, 17376 0x50, 0x73, 0x62, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x08, 0x70, 17377 0x73, 0x62, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 17378 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 17379 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x42, 17380 0x08, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x48, 0x0a, 0x0a, 0x4b, 0x65, 0x79, 17381 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x66, 17382 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6b, 0x65, 0x79, 17383 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 17384 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x49, 0x6e, 17385 0x64, 0x65, 0x78, 0x22, 0x5f, 0x0a, 0x0d, 0x4b, 0x65, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 17386 0x70, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0d, 0x72, 0x61, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 17387 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x61, 0x77, 17388 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 17389 0x6c, 0x6f, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 17390 0x63, 0x2e, 0x4b, 0x65, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6b, 0x65, 17391 0x79, 0x4c, 0x6f, 0x63, 0x22, 0xf0, 0x01, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 17392 0x6e, 0x74, 0x53, 0x68, 0x69, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x01, 0x20, 17393 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 17394 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 17395 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 17396 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09, 17397 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 17398 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x65, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 17399 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, 17400 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 17401 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x26, 17402 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 17403 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 17404 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x68, 0x61, 0x77, 0x5f, 0x68, 17405 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x68, 0x61, 17406 0x77, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x6e, 0x0a, 0x08, 0x50, 0x73, 0x62, 0x74, 0x53, 17407 0x68, 0x69, 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 17408 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 17409 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 17410 0x61, 0x73, 0x65, 0x5f, 0x70, 0x73, 0x62, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 17411 0x62, 0x61, 0x73, 0x65, 0x50, 0x73, 0x62, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x70, 17412 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f, 17413 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x22, 0x85, 0x01, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 17414 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, 0x12, 0x3e, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 17415 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x68, 0x69, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 17416 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 17417 0x6e, 0x74, 0x53, 0x68, 0x69, 0x6d, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 17418 0x69, 0x6e, 0x74, 0x53, 0x68, 0x69, 0x6d, 0x12, 0x2e, 0x0a, 0x09, 0x70, 0x73, 0x62, 0x74, 0x5f, 17419 0x73, 0x68, 0x69, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 17420 0x70, 0x63, 0x2e, 0x50, 0x73, 0x62, 0x74, 0x53, 0x68, 0x69, 0x6d, 0x48, 0x00, 0x52, 0x08, 0x70, 17421 0x73, 0x62, 0x74, 0x53, 0x68, 0x69, 0x6d, 0x42, 0x06, 0x0a, 0x04, 0x73, 0x68, 0x69, 0x6d, 0x22, 17422 0x3b, 0x0a, 0x11, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, 0x43, 0x61, 17423 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 17424 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 17425 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x81, 0x01, 0x0a, 17426 0x11, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x73, 0x62, 0x74, 0x56, 0x65, 0x72, 0x69, 17427 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x73, 0x62, 17428 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x50, 17429 0x73, 0x62, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 17430 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 17431 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 17432 0x6b, 0x69, 0x70, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 17433 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, 0x70, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 17434 0x22, 0x80, 0x01, 0x0a, 0x13, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x73, 0x62, 0x74, 17435 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 17436 0x65, 0x64, 0x5f, 0x70, 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 17437 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x73, 0x62, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 17438 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 17439 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 17440 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x74, 17441 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x61, 17442 0x77, 0x54, 0x78, 0x22, 0x99, 0x02, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 17443 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x39, 0x0a, 0x0d, 17444 0x73, 0x68, 0x69, 0x6d, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 17445 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 17446 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, 0x48, 0x00, 0x52, 0x0c, 0x73, 0x68, 0x69, 0x6d, 0x52, 17447 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x68, 0x69, 0x6d, 0x5f, 17448 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 17449 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, 17450 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x68, 0x69, 0x6d, 0x43, 0x61, 17451 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x73, 0x62, 0x74, 0x5f, 0x76, 0x65, 0x72, 17452 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 17453 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x73, 0x62, 0x74, 0x56, 0x65, 0x72, 17454 0x69, 0x66, 0x79, 0x48, 0x00, 0x52, 0x0a, 0x70, 0x73, 0x62, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 17455 0x79, 0x12, 0x41, 0x0a, 0x0d, 0x70, 0x73, 0x62, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 17456 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 17457 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x73, 0x62, 0x74, 0x46, 0x69, 0x6e, 0x61, 17458 0x6c, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x70, 0x73, 0x62, 0x74, 0x46, 0x69, 0x6e, 0x61, 17459 0x6c, 0x69, 0x7a, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 17460 0x16, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 17461 0x74, 0x65, 0x70, 0x52, 0x65, 0x73, 0x70, 0x22, 0xcc, 0x01, 0x0a, 0x0b, 0x50, 0x65, 0x6e, 0x64, 17462 0x69, 0x6e, 0x67, 0x48, 0x54, 0x4c, 0x43, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 17463 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 17464 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 17465 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 17466 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 17467 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x75, 0x72, 17468 0x69, 0x74, 0x79, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 17469 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 17470 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x74, 0x69, 0x6c, 0x5f, 0x6d, 17471 0x61, 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x62, 17472 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x54, 0x69, 0x6c, 0x4d, 0x61, 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 17473 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 17474 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 17475 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 17476 0x22, 0xb9, 0x13, 0x0a, 0x17, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 17477 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x13, 17478 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, 0x69, 0x6d, 0x62, 0x6f, 0x5f, 0x62, 0x61, 0x6c, 0x61, 17479 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 17480 0x4c, 0x69, 0x6d, 0x62, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x65, 0x0a, 0x15, 17481 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, 17482 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6c, 0x6e, 17483 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 17484 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x6e, 0x64, 17485 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x13, 17486 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 17487 0x65, 0x6c, 0x73, 0x12, 0x6a, 0x0a, 0x18, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 17488 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 17489 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 17490 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 17491 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 17492 0x6e, 0x65, 0x6c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 17493 0x43, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 17494 0x76, 0x0a, 0x1e, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 17495 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 17496 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 17497 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 17498 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x6f, 17499 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x1b, 0x70, 0x65, 0x6e, 0x64, 17500 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x43, 17501 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x68, 0x0a, 0x16, 0x77, 0x61, 0x69, 0x74, 0x69, 17502 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 17503 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 17504 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 17505 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 17506 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x14, 0x77, 0x61, 0x69, 17507 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 17508 0x73, 0x1a, 0xb2, 0x04, 0x0a, 0x0e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 17509 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 17510 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 17511 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x75, 0x62, 0x12, 0x23, 0x0a, 0x0d, 17512 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 17513 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 17514 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 17515 0x69, 0x64, 0x18, 0x84, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x68, 0x6f, 0x72, 0x74, 17516 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 17517 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 17518 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 17519 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 17520 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 17521 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 17522 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x37, 17523 0x0a, 0x18, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 17524 0x65, 0x72, 0x76, 0x65, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 17525 0x52, 0x15, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x72, 17526 0x76, 0x65, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x6d, 0x6f, 0x74, 17527 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x61, 17528 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x16, 0x72, 0x65, 0x6d, 0x6f, 17529 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x41, 0x74, 0x6f, 17530 0x6d, 0x73, 0x12, 0x2e, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, 17531 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 17532 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 17533 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 17534 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 17535 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 17536 0x70, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 17537 0x70, 0x65, 0x12, 0x36, 0x0a, 0x17, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 17538 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0a, 0x20, 17539 0x01, 0x28, 0x03, 0x52, 0x15, 0x6e, 0x75, 0x6d, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 17540 0x6e, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 17541 0x61, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 17542 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 17543 0x73, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x1a, 0xec, 0x01, 0x0a, 0x12, 0x50, 0x65, 0x6e, 0x64, 0x69, 17544 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x47, 0x0a, 17545 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 17546 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 17547 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 17548 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 17549 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 17550 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 17551 0x01, 0x28, 0x0d, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 17552 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 17553 0x74, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6f, 0x6d, 17554 0x6d, 0x69, 0x74, 0x46, 0x65, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 17555 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 17556 0x6d, 0x69, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x5f, 0x70, 17557 0x65, 0x72, 0x5f, 0x6b, 0x62, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 17558 0x50, 0x65, 0x72, 0x4b, 0x62, 0x1a, 0xf4, 0x01, 0x0a, 0x13, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 17559 0x67, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x47, 0x0a, 17560 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 17561 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 17562 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 17563 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 17564 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x62, 0x6f, 0x5f, 17565 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 17566 0x69, 0x6d, 0x62, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x63, 17567 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 17568 0x32, 0x2a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 17569 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 17570 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x63, 0x6f, 17571 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 17572 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 17573 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x1a, 0xaf, 0x02, 0x0a, 17574 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 17575 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 17576 0x52, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x78, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 17577 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 17578 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x54, 0x78, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x13, 17579 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 17580 0x78, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 17581 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x12, 0x33, 0x0a, 0x16, 17582 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x65, 0x65, 17583 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x6c, 0x6f, 17584 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x65, 0x65, 0x41, 0x74, 0x6f, 0x6d, 17585 0x73, 0x12, 0x35, 0x0a, 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 17586 0x69, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 17587 0x28, 0x04, 0x52, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 17588 0x46, 0x65, 0x65, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x44, 0x0a, 0x1f, 0x72, 0x65, 0x6d, 0x6f, 17589 0x74, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 17590 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 17591 0x04, 0x52, 0x1b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 17592 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x65, 0x65, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x1a, 0x7b, 17593 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 17594 0x47, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 17595 0x32, 0x2d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 17596 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 17597 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 17598 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 17599 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 17600 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x1a, 0xee, 0x03, 0x0a, 0x12, 17601 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 17602 0x65, 0x6c, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 17603 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 17604 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 17605 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 17606 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, 17607 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 17608 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x12, 0x23, 17609 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x62, 0x6f, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 17610 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x69, 0x6d, 0x62, 0x6f, 0x42, 0x61, 0x6c, 0x61, 17611 0x6e, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 17612 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 17613 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2e, 0x0a, 0x13, 17614 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x74, 0x69, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x75, 0x72, 17615 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 17616 0x73, 0x54, 0x69, 0x6c, 0x4d, 0x61, 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2b, 0x0a, 0x11, 17617 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 17618 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 17619 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0d, 0x70, 0x65, 0x6e, 17620 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 17621 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 17622 0x48, 0x54, 0x4c, 0x43, 0x52, 0x0c, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x6c, 17623 0x63, 0x73, 0x12, 0x55, 0x0a, 0x06, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, 0x09, 0x20, 0x01, 17624 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 17625 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 17626 0x73, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 17627 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 17628 0x65, 0x52, 0x06, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x0b, 0x41, 0x6e, 0x63, 17629 0x68, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x4c, 0x49, 0x4d, 0x42, 17630 0x4f, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x45, 0x44, 17631 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0x02, 0x22, 0x1a, 0x0a, 0x18, 17632 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x73, 17633 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xff, 0x04, 0x0a, 0x12, 0x43, 0x68, 0x61, 17634 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 17635 0x33, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 17636 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 17637 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 17638 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x63, 17639 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 17640 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 17641 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 17642 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3c, 0x0a, 0x0e, 0x61, 0x63, 0x74, 17643 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 17644 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 17645 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 17646 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x10, 0x69, 0x6e, 0x61, 0x63, 0x74, 17647 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 17648 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 17649 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 17650 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x48, 0x0a, 0x14, 0x70, 0x65, 0x6e, 17651 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 17652 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 17653 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 17654 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 17655 0x6e, 0x65, 0x6c, 0x12, 0x4b, 0x0a, 0x16, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, 0x72, 0x65, 0x73, 17656 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x07, 0x20, 17657 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 17658 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x14, 0x66, 0x75, 0x6c, 0x6c, 17659 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 17660 0x12, 0x38, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 17661 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 17662 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 17663 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x0a, 0x55, 17664 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x45, 17665 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x43, 17666 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x01, 0x12, 17667 0x12, 0x0a, 0x0e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 17668 0x4c, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 17669 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x45, 0x4e, 17670 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 17671 0x4c, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x55, 0x4c, 0x4c, 0x59, 0x5f, 0x52, 0x45, 0x53, 17672 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x05, 0x42, 17673 0x09, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x74, 0x0a, 0x14, 0x57, 0x61, 17674 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 17675 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x5f, 17676 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 17677 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 17678 0x2f, 0x0a, 0x13, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x62, 17679 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x75, 0x6e, 17680 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 17681 0x22, 0x16, 0x0a, 0x14, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 17682 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xfc, 0x02, 0x0a, 0x15, 0x57, 0x61, 0x6c, 17683 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 17684 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 17685 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 17686 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 17687 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 17688 0x28, 0x03, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x61, 0x6c, 17689 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 17690 0x6d, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 17691 0x03, 0x52, 0x12, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x61, 17692 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 17693 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6c, 17694 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x59, 0x0a, 0x0f, 17695 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 17696 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 17697 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 17698 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 17699 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 17700 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x5e, 0x0a, 0x13, 0x41, 0x63, 0x63, 0x6f, 0x75, 17701 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 17702 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 17703 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 17704 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x63, 17705 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 17706 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x36, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 17707 0x74, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 17708 0x52, 0x05, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x74, 0x6f, 0x6d, 17709 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x6d, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x22, 17710 0x17, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 17711 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xe0, 0x04, 0x0a, 0x16, 0x43, 0x68, 0x61, 17712 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 17713 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 17714 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 17715 0x65, 0x12, 0x34, 0x0a, 0x14, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65, 17716 0x6e, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 17717 0x02, 0x18, 0x01, 0x52, 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 17718 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 17719 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 17720 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x6c, 17721 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x0e, 0x72, 17722 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 17723 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 17724 0x6e, 0x74, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 17725 0x65, 0x12, 0x45, 0x0a, 0x17, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 17726 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 17727 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 17728 0x74, 0x52, 0x15, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 17729 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x18, 0x75, 0x6e, 0x73, 0x65, 17730 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x6c, 17731 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x6e, 0x72, 17732 0x70, 0x63, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x16, 0x75, 0x6e, 0x73, 0x65, 0x74, 17733 0x74, 0x6c, 0x65, 0x64, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 17734 0x65, 0x12, 0x4a, 0x0a, 0x1a, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65, 17735 0x6e, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 17736 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6d, 17737 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 17738 0x6e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x4c, 0x0a, 17739 0x1b, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x65, 17740 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 17741 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 17742 0x74, 0x52, 0x18, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 17743 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 17744 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 17745 0x74, 0x18, 0x84, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x49, 0x6e, 0x62, 17746 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x6d, 0x61, 17747 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 17748 0x74, 0x18, 0x85, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 17749 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xb3, 0x06, 0x0a, 0x12, 17750 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 17751 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 17752 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x61, 17753 0x6d, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 17754 0x0b, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 17755 0x28, 0x03, 0x52, 0x09, 0x61, 0x6d, 0x74, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x28, 0x0a, 17756 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, 17757 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 17758 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x6c, 17759 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 17760 0x70, 0x63, 0x2e, 0x46, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x08, 0x66, 0x65, 0x65, 17761 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 17762 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x69, 0x67, 17763 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0d, 0x69, 0x67, 17764 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 17765 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x64, 0x67, 0x65, 0x4c, 0x6f, 17766 0x63, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 17767 0x65, 0x64, 0x45, 0x64, 0x67, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 17768 0x65, 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 17769 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 17770 0x13, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 17771 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 0x4d, 17772 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x34, 0x0a, 17773 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x0a, 17774 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 17775 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x50, 0x61, 17776 0x69, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 17777 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6c, 0x74, 0x76, 0x4c, 0x69, 0x6d, 17778 0x69, 0x74, 0x12, 0x60, 0x0a, 0x13, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 17779 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 17780 0x30, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 17781 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x43, 17782 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 17783 0x79, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 17784 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 17785 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 17786 0x30, 0x01, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 17787 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x70, 17788 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6c, 0x61, 0x73, 17789 0x74, 0x48, 0x6f, 0x70, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x0b, 0x72, 0x6f, 17790 0x75, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 17791 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 17792 0x74, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 17793 0x0d, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x11, 17794 0x20, 0x03, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 17795 0x74, 0x75, 0x72, 0x65, 0x42, 0x69, 0x74, 0x52, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x46, 0x65, 0x61, 17796 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x44, 0x65, 0x73, 0x74, 0x43, 0x75, 0x73, 17797 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 17798 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 17799 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 17800 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x03, 0x10, 17801 0x04, 0x22, 0x2e, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x69, 0x72, 0x12, 0x12, 0x0a, 17802 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x66, 0x72, 0x6f, 17803 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x74, 17804 0x6f, 0x22, 0x5d, 0x0a, 0x0b, 0x45, 0x64, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 17805 0x12, 0x21, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 17806 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 17807 0x6c, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 17808 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 17809 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 17810 0x22, 0x5e, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 17811 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 17812 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 17813 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x21, 0x0a, 17814 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, 0x62, 0x18, 0x02, 0x20, 17815 0x01, 0x28, 0x01, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x6f, 0x62, 17816 0x22, 0x9f, 0x04, 0x0a, 0x03, 0x48, 0x6f, 0x70, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 17817 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 17818 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x63, 0x61, 17819 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 17820 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x28, 17821 0x0a, 0x0e, 0x61, 0x6d, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 17822 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x61, 0x6d, 0x74, 0x54, 17823 0x6f, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 17824 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x16, 17825 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 17826 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x32, 0x0a, 0x16, 0x61, 0x6d, 0x74, 0x5f, 0x74, 0x6f, 17827 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 17828 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x61, 0x6d, 0x74, 0x54, 0x6f, 0x46, 0x6f, 0x72, 17829 0x77, 0x61, 0x72, 0x64, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 17830 0x65, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 17831 0x09, 0x66, 0x65, 0x65, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 17832 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 17833 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0b, 0x74, 0x6c, 0x76, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 17834 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x74, 0x6c, 17835 0x76, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x6d, 0x70, 0x70, 0x5f, 17836 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 17837 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x50, 0x50, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 17838 0x6d, 0x70, 0x70, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x61, 0x6d, 0x70, 17839 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 17840 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x4d, 0x50, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 17841 0x09, 0x61, 0x6d, 0x70, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x44, 0x0a, 0x0e, 0x63, 0x75, 17842 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 17843 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x6f, 0x70, 0x2e, 0x43, 17844 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 17845 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 17846 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 17847 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 17848 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 17849 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 17850 0x38, 0x01, 0x22, 0x59, 0x0a, 0x09, 0x4d, 0x50, 0x50, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 17851 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 17852 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 17853 0x64, 0x72, 0x12, 0x29, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 17854 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x74, 17855 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x74, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x22, 0x62, 0x0a, 17856 0x09, 0x41, 0x4d, 0x50, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 17857 0x6f, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 17858 0x72, 0x6f, 0x6f, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x74, 17859 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 17860 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 17861 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x64, 0x65, 17862 0x78, 0x22, 0xeb, 0x01, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x74, 17863 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 17864 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x4c, 17865 0x6f, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x65, 0x65, 17866 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x74, 0x6f, 0x74, 17867 0x61, 0x6c, 0x46, 0x65, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 17868 0x61, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x74, 17869 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x68, 0x6f, 0x70, 0x73, 0x18, 17870 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x6f, 17871 0x70, 0x52, 0x04, 0x68, 0x6f, 0x70, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 17872 0x5f, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x05, 0x20, 17873 0x01, 0x28, 0x03, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x73, 0x4d, 0x41, 17874 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x29, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 17875 0x74, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 17876 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x74, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x22, 17877 0x55, 0x0a, 0x0f, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 17878 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 17879 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x69, 17880 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 17881 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x68, 17882 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xae, 0x01, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x49, 17883 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 17884 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, 17885 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 17886 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 17887 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 17888 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 17889 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 17890 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 17891 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 17892 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x64, 0x67, 0x65, 0x52, 0x08, 0x63, 17893 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x0d, 0x4c, 0x69, 0x67, 0x68, 17894 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 17895 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 17896 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 17897 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 17898 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 17899 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x30, 0x0a, 0x09, 0x61, 0x64, 0x64, 17900 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 17901 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 17902 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 17903 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 17904 0x72, 0x12, 0x3e, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20, 17905 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x67, 0x68, 17906 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 17907 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 17908 0x73, 0x1a, 0x4b, 0x0a, 0x0d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 17909 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 17910 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 17911 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 17912 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3b, 17913 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 17914 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 17915 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 17916 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x22, 0x95, 0x02, 0x0a, 0x0d, 17917 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x0a, 17918 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 17919 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 17920 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 17921 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 17922 0x12, 0x27, 0x0a, 0x10, 0x66, 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x5f, 0x61, 17923 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x42, 17924 0x61, 0x73, 0x65, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x32, 0x0a, 0x16, 0x66, 0x65, 0x65, 17925 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 17926 0x6f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x66, 0x65, 0x65, 0x52, 0x61, 17927 0x74, 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 17928 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 17929 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x10, 0x6d, 0x61, 0x78, 17930 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x06, 0x20, 17931 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x48, 0x74, 0x6c, 0x63, 0x4d, 0x41, 0x74, 0x6f, 17932 0x6d, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 17933 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 17934 0x61, 0x74, 0x65, 0x22, 0x31, 0x0a, 0x16, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4e, 0x6f, 17935 0x64, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 17936 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 17937 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0x41, 0x0a, 0x17, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 17938 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 17939 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6d, 17940 0x69, 0x63, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x70, 0x69, 0x6e, 0x67, 17941 0x54, 0x69, 0x6d, 0x65, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x22, 0xbc, 0x02, 0x0a, 0x0b, 0x43, 0x68, 17942 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x64, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0a, 0x63, 0x68, 0x61, 17943 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 17944 0x01, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 17945 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 17946 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x6c, 17947 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 17948 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 17949 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x31, 0x5f, 0x70, 0x75, 0x62, 0x18, 0x04, 0x20, 17950 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x31, 0x50, 0x75, 0x62, 0x12, 0x1b, 0x0a, 17951 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x32, 0x5f, 0x70, 0x75, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 17952 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x32, 0x50, 0x75, 0x62, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 17953 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 17954 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x31, 0x5f, 17955 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 17956 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 17957 0x63, 0x79, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x31, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 17958 0x37, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x32, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 17959 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 17960 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 17961 0x65, 0x32, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x46, 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6e, 17962 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 17963 0x2f, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x75, 0x6e, 0x61, 0x6e, 0x6e, 17964 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x6e, 17965 0x63, 0x6c, 0x75, 0x64, 0x65, 0x55, 0x6e, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 17966 0x22, 0x64, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x61, 0x70, 0x68, 17967 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 17968 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 17969 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x05, 17970 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 17971 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x64, 0x67, 0x65, 0x52, 17972 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x22, 0x41, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 17973 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x05, 17974 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 17975 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 17976 0x70, 0x65, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x13, 0x4e, 0x6f, 17977 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 17978 0x65, 0x12, 0x6c, 0x0a, 0x16, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x73, 17979 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 17980 0x0b, 0x32, 0x35, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 17981 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x42, 0x65, 17982 0x74, 0x77, 0x65, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 17983 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 17984 0x6e, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x1a, 17985 0x5c, 0x0a, 0x1a, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x65, 17986 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 17987 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 17988 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 17989 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x65, 0x74, 0x72, 17990 0x69, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, 17991 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x14, 0x0a, 0x05, 17992 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 17993 0x75, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 17994 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, 0x6e, 0x6f, 17995 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2e, 0x0a, 17996 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 17997 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 17998 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x14, 0x0a, 17999 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 18000 0x65, 0x73, 0x74, 0x22, 0xd5, 0x03, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 18001 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x64, 0x69, 0x61, 18002 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, 0x72, 0x61, 18003 0x70, 0x68, 0x44, 0x69, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x76, 18004 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x18, 0x02, 0x20, 0x01, 18005 0x28, 0x01, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x4f, 0x75, 0x74, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 18006 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x67, 0x72, 18007 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x4f, 0x75, 0x74, 18008 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x6f, 18009 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x4e, 0x6f, 18010 0x64, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 18011 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x68, 18012 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 18013 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 18014 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x65, 0x74, 18015 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x10, 18016 0x61, 0x76, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 18017 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 18018 0x65, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x68, 18019 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 18020 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x7a, 0x65, 18021 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 18022 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x43, 18023 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x6d, 0x65, 18024 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 18025 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x6d, 0x65, 0x64, 18026 0x69, 0x61, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x53, 0x61, 18027 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x7a, 0x6f, 0x6d, 0x62, 0x69, 0x65, 0x5f, 18028 0x63, 0x68, 0x61, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 18029 0x5a, 0x6f, 0x6d, 0x62, 0x69, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x53, 18030 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, 0x0a, 0x0c, 0x53, 0x74, 18031 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x72, 18032 0x61, 0x70, 0x68, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x53, 0x75, 0x62, 0x73, 0x63, 18033 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcd, 0x01, 0x0a, 0x13, 0x47, 0x72, 0x61, 0x70, 18034 0x68, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 18035 0x34, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 18036 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 18037 0x64, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x55, 0x70, 18038 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 18039 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 18040 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x64, 18041 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 18042 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 18043 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 18044 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 18045 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 18046 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x73, 0x22, 0xef, 0x02, 0x0a, 0x0a, 0x4e, 0x6f, 0x64, 0x65, 18047 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 18048 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x61, 18049 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x64, 0x65, 0x6e, 18050 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 18051 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x0a, 0x0f, 0x67, 18052 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 18053 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 18054 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 18055 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 18056 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 18057 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x64, 0x64, 18058 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 18059 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 18060 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 18061 0x3b, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 18062 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 18063 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 18064 0x72, 0x79, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x4b, 0x0a, 0x0d, 18065 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 18066 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 18067 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 18068 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, 18069 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x02, 0x0a, 0x11, 0x43, 0x68, 18070 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x64, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 18071 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 18072 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0a, 18073 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 18074 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 18075 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 18076 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 18077 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x0e, 18078 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x04, 18079 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 18080 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x72, 0x6f, 0x75, 0x74, 18081 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, 0x76, 18082 0x65, 0x72, 0x74, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 18083 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x69, 0x6e, 0x67, 18084 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 18085 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 18086 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x22, 0xa7, 0x01, 18087 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 18088 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 18089 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 18090 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 18091 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x23, 18092 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 18093 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x48, 0x65, 0x69, 18094 0x67, 0x68, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 18095 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 18096 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x68, 18097 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xd4, 0x01, 0x0a, 0x07, 0x48, 0x6f, 0x70, 0x48, 18098 0x69, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 18099 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x07, 18100 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 18101 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x10, 0x66, 0x65, 0x65, 18102 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 18103 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x41, 0x74, 0x6f, 18104 0x6d, 0x73, 0x12, 0x3e, 0x0a, 0x1b, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 18105 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 18106 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x70, 18107 0x6f, 0x72, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 18108 0x68, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 18109 0x79, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 18110 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x1e, 18111 0x0a, 0x05, 0x53, 0x65, 0x74, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x5f, 0x69, 18112 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x38, 18113 0x0a, 0x09, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x68, 18114 0x6f, 0x70, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 18115 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x08, 18116 0x68, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xad, 0x01, 0x0a, 0x0f, 0x41, 0x4d, 0x50, 18117 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 18118 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 18119 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x54, 0x4c, 0x43, 0x53, 18120 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 18121 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 18122 0x04, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 18123 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 18124 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 18125 0x27, 0x0a, 0x10, 0x61, 0x6d, 0x74, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 18126 0x6f, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x6d, 0x74, 0x50, 0x61, 18127 0x69, 0x64, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x22, 0x86, 0x0a, 0x0a, 0x07, 0x49, 0x6e, 0x76, 18128 0x6f, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x01, 0x20, 0x01, 18129 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x5f, 0x70, 0x72, 18130 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x50, 18131 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x5f, 0x68, 0x61, 0x73, 18132 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 18133 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 18134 0x61, 0x6c, 0x75, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x5f, 18135 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x76, 0x61, 0x6c, 18136 0x75, 0x65, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 18137 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x73, 18138 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 18139 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 18140 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 18141 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 18142 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 18143 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 18144 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 18145 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 18146 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0c, 0x52, 18147 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 18148 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 18149 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x6c, 0x6c, 18150 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 18151 0x0c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 18152 0x0b, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 18153 0x28, 0x04, 0x52, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x31, 18154 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0e, 0x20, 18155 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 18156 0x65, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 18157 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 18158 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x61, 18159 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 18160 0x61, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x74, 18161 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 18162 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x61, 18163 0x6d, 0x74, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 18164 0x6d, 0x74, 0x50, 0x61, 0x69, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x6d, 0x74, 0x5f, 0x70, 0x61, 18165 0x69, 0x64, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 18166 0x61, 0x6d, 0x74, 0x50, 0x61, 0x69, 0x64, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x27, 0x0a, 0x10, 18167 0x61, 0x6d, 0x74, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 18168 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x6d, 0x74, 0x50, 0x61, 0x69, 0x64, 0x4d, 18169 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x15, 18170 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 18171 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 18172 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x68, 0x74, 0x6c, 0x63, 18173 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 18174 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x54, 0x4c, 0x43, 0x52, 0x05, 0x68, 0x74, 0x6c, 18175 0x63, 0x73, 0x12, 0x37, 0x0a, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x78, 18176 0x5f, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0xe9, 0x07, 0x20, 18177 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 18178 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x74, 0x12, 0x38, 0x0a, 0x08, 0x66, 18179 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 18180 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x46, 0x65, 18181 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x66, 0x65, 0x61, 18182 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x73, 18183 0x65, 0x6e, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4b, 0x65, 0x79, 18184 0x73, 0x65, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 18185 0x61, 0x64, 0x64, 0x72, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 18186 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x61, 0x6d, 18187 0x70, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x41, 0x6d, 0x70, 0x12, 0x4f, 18188 0x0a, 0x11, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x73, 0x74, 18189 0x61, 0x74, 0x65, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 18190 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x41, 0x6d, 0x70, 0x49, 0x6e, 0x76, 18191 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 18192 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 18193 0x4b, 0x0a, 0x0d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 18194 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 18195 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 18196 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 18197 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x5a, 0x0a, 0x14, 18198 0x41, 0x6d, 0x70, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 18199 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 18200 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 18201 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x4d, 18202 0x50, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x76, 18203 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x41, 0x0a, 0x0c, 0x49, 0x6e, 0x76, 0x6f, 18204 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x45, 0x4e, 18205 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 18206 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 18207 0x08, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x02, 0x10, 18208 0x03, 0x22, 0x86, 0x04, 0x0a, 0x0b, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x54, 0x4c, 18209 0x43, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 18210 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1d, 18211 0x0a, 0x0a, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 18212 0x28, 0x04, 0x52, 0x09, 0x68, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1e, 0x0a, 18213 0x0b, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 18214 0x28, 0x04, 0x52, 0x09, 0x61, 0x6d, 0x74, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x23, 0x0a, 18215 0x0d, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 18216 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x48, 0x65, 0x69, 0x67, 18217 0x68, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x74, 0x69, 0x6d, 18218 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, 18219 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5f, 0x74, 18220 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, 18221 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 18222 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, 18223 0x78, 0x70, 0x69, 0x72, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x73, 18224 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 18225 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x54, 0x4c, 0x43, 0x53, 0x74, 18226 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x63, 0x75, 18227 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 18228 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 18229 0x63, 0x65, 0x48, 0x54, 0x4c, 0x43, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 18230 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 18231 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x15, 0x6d, 0x70, 0x70, 0x5f, 18232 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 18233 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6d, 0x70, 0x70, 0x54, 0x6f, 0x74, 0x61, 18234 0x6c, 0x41, 0x6d, 0x74, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x1c, 0x0a, 0x03, 0x61, 0x6d, 18235 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 18236 0x41, 0x4d, 0x50, 0x52, 0x03, 0x61, 0x6d, 0x70, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 18237 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 18238 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 18239 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 18240 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8c, 0x01, 0x0a, 0x03, 0x41, 18241 0x4d, 0x50, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 18242 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x53, 0x68, 0x61, 0x72, 18243 0x65, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 18244 0x0c, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x69, 0x6c, 18245 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 18246 0x68, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 18247 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 18248 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 18249 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x41, 0x64, 18250 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 18251 0x12, 0x15, 0x0a, 0x06, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 18252 0x52, 0x05, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 18253 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 18254 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 18255 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 18256 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 18257 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x11, 0x20, 18258 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 18259 0x22, 0x46, 0x0a, 0x0b, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 18260 0x20, 0x0a, 0x0a, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 18261 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x72, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 18262 0x72, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 18263 0x0c, 0x52, 0x05, 0x72, 0x48, 0x61, 0x73, 0x68, 0x22, 0xa0, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 18264 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 18265 0x21, 0x0a, 0x0c, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 18266 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 18267 0x6c, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 18268 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 18269 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x78, 18270 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 18271 0x0e, 0x6e, 0x75, 0x6d, 0x4d, 0x61, 0x78, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 18272 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 18273 0x08, 0x52, 0x08, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x13, 18274 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 18275 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 18276 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 18277 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 18278 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 18279 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 18280 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 18281 0x69, 0x72, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 18282 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x49, 0x6e, 18283 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x49, 0x6e, 0x76, 18284 0x6f, 0x69, 0x63, 0x65, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 18285 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 18286 0x01, 0x28, 0x04, 0x52, 0x08, 0x61, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 18287 0x0c, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 18288 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 18289 0x22, 0x9c, 0x05, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 18290 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 18291 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 18292 0x18, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 18293 0x18, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x63, 0x72, 0x65, 18294 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 18295 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 18296 0x74, 0x65, 0x12, 0x14, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 18297 0x02, 0x18, 0x01, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 18298 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 18299 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 18300 0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x61, 0x74, 0x6f, 18301 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x41, 18302 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x5f, 18303 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x76, 0x61, 0x6c, 18304 0x75, 0x65, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 18305 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 18306 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 18307 0x74, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 18308 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 18309 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 18310 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x61, 18311 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x41, 18312 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 18313 0x6f, 0x6d, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x65, 0x65, 0x4d, 0x41, 18314 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 18315 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 18316 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x28, 18317 0x0a, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 18318 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x54, 0x4c, 0x43, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 18319 0x74, 0x52, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x6d, 18320 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 18321 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x42, 0x0a, 18322 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 18323 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 18324 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 18325 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 18326 0x6e, 0x22, 0x46, 0x0a, 0x0d, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 18327 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 18328 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x5f, 0x46, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x01, 0x12, 0x0d, 18329 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 18330 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 18331 0xd5, 0x02, 0x0a, 0x0b, 0x48, 0x54, 0x4c, 0x43, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 18332 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 18333 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x35, 18334 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 18335 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x54, 0x4c, 0x43, 0x41, 0x74, 0x74, 0x65, 0x6d, 18336 0x70, 0x74, 0x2e, 0x48, 0x54, 0x4c, 0x43, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 18337 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 18338 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 18339 0x74, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x74, 0x74, 18340 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 18341 0x28, 0x03, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4e, 18342 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 18343 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 18344 0x6c, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x66, 0x61, 0x69, 18345 0x6c, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 18346 0x70, 0x63, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 18347 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 18348 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 18349 0x36, 0x0a, 0x0a, 0x48, 0x54, 0x4c, 0x43, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0d, 0x0a, 18350 0x09, 0x49, 0x4e, 0x5f, 0x46, 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 18351 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 18352 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x22, 0xa6, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 18353 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 18354 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 18355 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x63, 18356 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x21, 18357 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 18358 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73, 0x65, 18359 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 18360 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x79, 0x6d, 18361 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 18362 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 18363 0x22, 0x9c, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 18364 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x61, 0x79, 18365 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 18366 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x70, 0x61, 0x79, 18367 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x69, 18368 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 18369 0x04, 0x52, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 18370 0x73, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 18371 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 18372 0x6c, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 18373 0x65, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 18374 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 18375 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 18376 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 18377 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 18378 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, 0x74, 0x6c, 18379 0x63, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x78, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 18380 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 18381 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x79, 18382 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 18383 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 18384 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x68, 18385 0x74, 0x6c, 0x63, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 18386 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 18387 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 18388 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 18389 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 18390 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x15, 0x41, 0x62, 0x61, 0x6e, 0x64, 18391 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 18392 0x12, 0x38, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 18393 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 18394 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x68, 18395 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x70, 0x65, 18396 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x68, 18397 0x69, 0x6d, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x70, 18398 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 18399 0x6d, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x31, 0x0a, 0x16, 0x69, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x5f, 18400 0x77, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x5f, 0x61, 0x6d, 0x5f, 0x64, 0x6f, 0x69, 0x6e, 0x67, 0x18, 18401 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x4b, 0x6e, 0x6f, 0x77, 0x57, 0x68, 0x61, 0x74, 18402 0x49, 0x41, 0x6d, 0x44, 0x6f, 0x69, 0x6e, 0x67, 0x22, 0x18, 0x0a, 0x16, 0x41, 0x62, 0x61, 0x6e, 18403 0x64, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 18404 0x73, 0x65, 0x22, 0x46, 0x0a, 0x11, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 18405 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x18, 18406 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 18407 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 18408 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x22, 0x35, 0x0a, 0x12, 0x44, 0x65, 18409 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 18410 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x18, 18411 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 18412 0x73, 0x22, 0x19, 0x0a, 0x17, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 18413 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xfb, 0x01, 0x0a, 18414 0x18, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 18415 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 18416 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 18417 0x16, 0x0a, 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 18418 0x06, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x63, 0x63, 0x65, 18419 0x65, 0x64, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x75, 0x63, 0x63, 18420 0x65, 0x65, 0x64, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x61, 0x74, 18421 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x68, 0x74, 18422 0x6c, 0x63, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x74, 18423 0x6c, 0x63, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 18424 0x0a, 0x68, 0x74, 0x6c, 0x63, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x68, 18425 0x74, 0x6c, 0x63, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 18426 0x04, 0x52, 0x0b, 0x68, 0x74, 0x6c, 0x63, 0x53, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x2a, 18427 0x0a, 0x11, 0x6f, 0x6c, 0x64, 0x5f, 0x64, 0x75, 0x70, 0x65, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 18428 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6f, 0x6c, 0x64, 0x44, 0x75, 18429 0x70, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x27, 0x0a, 0x0c, 0x50, 0x61, 18430 0x79, 0x52, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, 18431 0x79, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, 18432 0x52, 0x65, 0x71, 0x22, 0xaf, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12, 0x20, 18433 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 18434 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 18435 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 18436 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 18437 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 18438 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6e, 0x75, 0x6d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 18439 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 18440 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 18441 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 18442 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 18443 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 18444 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 18445 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 18446 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 18447 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 18448 0x61, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x61, 0x6c, 0x6c, 18449 0x62, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x74, 0x76, 18450 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 18451 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x31, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 18452 0x74, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 18453 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 18454 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 18455 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0b, 0x20, 0x01, 18456 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 18457 0x1e, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x0c, 18458 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x75, 0x6d, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 18459 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 18460 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 18461 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 18462 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x4b, 0x0a, 0x0d, 0x46, 0x65, 0x61, 0x74, 18463 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 18464 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 18465 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 18466 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 18467 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x59, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 18468 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 18469 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 18470 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, 0x71, 18471 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 18472 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 18473 0x22, 0x12, 0x0a, 0x10, 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 18474 0x75, 0x65, 0x73, 0x74, 0x22, 0xb8, 0x01, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 18475 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 18476 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 18477 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 18478 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 18479 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x27, 0x0a, 0x10, 0x62, 18480 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 18481 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x4d, 0x41, 18482 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 18483 0x6d, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x65, 0x65, 0x50, 0x65, 18484 0x72, 0x4d, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 18485 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x22, 18486 0xb5, 0x01, 0x0a, 0x11, 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 18487 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 18488 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 18489 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x65, 0x65, 0x52, 0x65, 18490 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x65, 0x65, 18491 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x64, 0x61, 0x79, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x75, 0x6d, 18492 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x61, 0x79, 0x46, 0x65, 0x65, 0x53, 0x75, 18493 0x6d, 0x12, 0x20, 0x0a, 0x0c, 0x77, 0x65, 0x65, 0x6b, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x75, 18494 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x77, 0x65, 0x65, 0x6b, 0x46, 0x65, 0x65, 18495 0x53, 0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x66, 0x65, 0x65, 18496 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x6f, 0x6e, 0x74, 18497 0x68, 0x46, 0x65, 0x65, 0x53, 0x75, 0x6d, 0x22, 0x8a, 0x03, 0x0a, 0x13, 0x50, 0x6f, 0x6c, 0x69, 18498 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 18499 0x18, 0x0a, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 18500 0x00, 0x52, 0x06, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x68, 0x61, 18501 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 18502 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 18503 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 18504 0x27, 0x0a, 0x10, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 18505 0x6f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x46, 18506 0x65, 0x65, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 18507 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x52, 18508 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 18509 0x70, 0x70, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x66, 0x65, 0x65, 0x52, 0x61, 18510 0x74, 0x65, 0x50, 0x70, 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 18511 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 18512 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 18513 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 18514 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x48, 0x74, 0x6c, 0x63, 18515 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x27, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 18516 0x6c, 0x63, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 18517 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 18518 0x3a, 0x0a, 0x1a, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 18519 0x6f, 0x6d, 0x73, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x08, 0x20, 18520 0x01, 0x28, 0x08, 0x52, 0x16, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x4d, 0x41, 0x74, 0x6f, 18521 0x6d, 0x73, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x73, 18522 0x63, 0x6f, 0x70, 0x65, 0x22, 0x8c, 0x01, 0x0a, 0x0c, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x55, 18523 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 18524 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 18525 0x4f, 0x75, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 18526 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 18527 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 18528 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 18529 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 18530 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x72, 18531 0x72, 0x6f, 0x72, 0x22, 0x52, 0x0a, 0x14, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 18532 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0e, 0x66, 18533 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 18534 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x61, 0x69, 0x6c, 18535 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 18536 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, 0x9d, 0x01, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x77, 18537 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 18538 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 18539 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 18540 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 18541 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 18542 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 18543 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73, 0x65, 18544 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x76, 0x65, 18545 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x4d, 0x61, 18546 0x78, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xca, 0x02, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x77, 18547 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x74, 18548 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 18549 0x18, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 18550 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 18551 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x49, 0x6e, 0x12, 18552 0x22, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x04, 18553 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 18554 0x4f, 0x75, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x61, 0x6d, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x05, 0x20, 18555 0x01, 0x28, 0x04, 0x52, 0x05, 0x61, 0x6d, 0x74, 0x49, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6d, 18556 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x74, 18557 0x4f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 18558 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x5f, 0x61, 18559 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x65, 0x65, 0x4d, 18560 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x23, 0x0a, 0x0e, 0x61, 0x6d, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 18561 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x61, 18562 0x6d, 0x74, 0x49, 0x6e, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x25, 0x0a, 0x0f, 0x61, 0x6d, 18563 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x0a, 0x20, 18564 0x01, 0x28, 0x04, 0x52, 0x0c, 0x61, 0x6d, 0x74, 0x4f, 0x75, 0x74, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 18565 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 18566 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 18567 0x6d, 0x70, 0x4e, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x19, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 18568 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 18569 0x73, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 18570 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 18571 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 18572 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 18573 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 18574 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 18575 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x49, 0x6e, 18576 0x64, 0x65, 0x78, 0x22, 0x50, 0x0a, 0x1a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 18577 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 18578 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 18579 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 18580 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 18581 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x64, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 18582 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x32, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 18583 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 18584 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 18585 0x09, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 18586 0x61, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 18587 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x73, 0x0a, 0x0f, 0x4d, 18588 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x34, 18589 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 18590 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 18591 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 18592 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x68, 18593 0x61, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 18594 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 18595 0x22, 0x19, 0x0a, 0x17, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x45, 0x78, 18596 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x12, 18597 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 18598 0x6f, 0x74, 0x12, 0x45, 0x0a, 0x13, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 18599 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 18600 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 18601 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x11, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 18602 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x42, 0x0a, 0x11, 0x6d, 0x75, 0x6c, 18603 0x74, 0x69, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x02, 18604 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x75, 0x6c, 18605 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x0f, 0x6d, 0x75, 18606 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x49, 0x0a, 18607 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 18608 0x37, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 18609 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 18610 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x0b, 0x63, 0x68, 0x61, 18611 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x73, 18612 0x74, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 18613 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x61, 18614 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 18615 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 18616 0x70, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 18617 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 18618 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0f, 18619 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x42, 18620 0x08, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x73, 18621 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 18622 0x73, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 18623 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 18624 0x1a, 0x0a, 0x18, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 18625 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x0a, 0x12, 0x4d, 18626 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 18627 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 18628 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 18629 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 18630 0x6e, 0x22, 0xb0, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 18631 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x65, 0x72, 18632 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 18633 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 18634 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 18635 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 18636 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x6f, 0x6f, 18637 0x74, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 18638 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 18639 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 18640 0x77, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 18641 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x32, 0x0a, 0x14, 0x42, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x63, 0x61, 18642 0x72, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 18643 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 18644 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 18645 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 18646 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 18647 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 18648 0x0c, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 18649 0x03, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x22, 18650 0x39, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 18651 0x6e, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x6f, 18652 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 18653 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x18, 0x44, 0x65, 18654 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 18655 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 18656 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 18657 0x22, 0x55, 0x0a, 0x16, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 18658 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x65, 18659 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 18660 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 18661 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 18662 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x18, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x50, 18663 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 18664 0x74, 0x22, 0xe4, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 18665 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 18666 0x12, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 18667 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 18668 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 18669 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 18670 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 18671 0x52, 0x11, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 18672 0x6f, 0x6e, 0x73, 0x1a, 0x63, 0x0a, 0x16, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x50, 0x65, 0x72, 18673 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 18674 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 18675 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 18676 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 18677 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 18678 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb5, 0x08, 0x0a, 0x07, 0x46, 0x61, 0x69, 18679 0x6c, 0x75, 0x72, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 18680 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 18681 0x72, 0x65, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 18682 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3b, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 18683 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 18684 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 18685 0x74, 0x65, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 18686 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 18687 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x41, 0x74, 18688 0x6f, 0x6d, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x68, 0x61, 18689 0x5f, 0x32, 0x35, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 0x6e, 0x69, 0x6f, 18690 0x6e, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x74, 0x76, 0x5f, 18691 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x6c, 18692 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 18693 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x30, 18694 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 18695 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x12, 0x66, 0x61, 18696 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 18697 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 18698 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xef, 0x05, 0x0a, 0x0b, 0x46, 0x61, 0x69, 18699 0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x53, 0x45, 18700 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 18701 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x50, 18702 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0x01, 18703 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x41, 18704 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x1f, 18705 0x0a, 0x1b, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 18706 0x54, 0x5f, 0x43, 0x4c, 0x54, 0x56, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x59, 0x10, 0x03, 0x12, 18707 0x1f, 0x0a, 0x1b, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 18708 0x43, 0x54, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x04, 18709 0x12, 0x19, 0x0a, 0x15, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x59, 18710 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x53, 0x4f, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x49, 18711 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x4c, 0x4d, 0x10, 0x06, 0x12, 0x13, 18712 0x0a, 0x0f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x53, 0x4f, 0x4f, 18713 0x4e, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4f, 18714 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x16, 18715 0x0a, 0x12, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 18716 0x48, 0x4d, 0x41, 0x43, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 18717 0x44, 0x5f, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x0a, 0x12, 0x18, 0x0a, 18718 0x14, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x42, 0x45, 0x4c, 0x4f, 0x57, 0x5f, 0x4d, 0x49, 18719 0x4e, 0x49, 0x4d, 0x55, 0x4d, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x45, 0x45, 0x5f, 0x49, 18720 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x0c, 0x12, 0x19, 0x0a, 18721 0x15, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x54, 0x56, 0x5f, 18722 0x45, 0x58, 0x50, 0x49, 0x52, 0x59, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x48, 0x41, 0x4e, 18723 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, 0x10, 0x0e, 0x12, 0x1d, 18724 0x0a, 0x19, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x43, 0x48, 0x41, 0x4e, 18725 0x4e, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x0f, 0x12, 0x21, 0x0a, 18726 0x1d, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x46, 18727 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x10, 18728 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 18729 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x49, 0x53, 18730 0x53, 0x49, 0x4e, 0x47, 0x10, 0x11, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 18731 0x4e, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x10, 0x12, 0x12, 0x1a, 0x0a, 18732 0x16, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 18733 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x13, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x45, 0x52, 18734 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 18735 0x55, 0x52, 0x45, 0x10, 0x14, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 18736 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 18737 0x52, 0x45, 0x10, 0x15, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x58, 0x50, 0x49, 0x52, 0x59, 0x5f, 0x54, 18738 0x4f, 0x4f, 0x5f, 0x46, 0x41, 0x52, 0x10, 0x16, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x50, 0x50, 0x5f, 18739 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x17, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x56, 18740 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4c, 0x4f, 18741 0x41, 0x44, 0x10, 0x18, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 18742 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0xe5, 0x07, 0x12, 0x14, 0x0a, 0x0f, 0x55, 18743 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0xe6, 18744 0x07, 0x12, 0x17, 0x0a, 0x12, 0x55, 0x4e, 0x52, 0x45, 0x41, 0x44, 0x41, 0x42, 0x4c, 0x45, 0x5f, 18745 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0xe7, 0x07, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 18746 0x22, 0xbd, 0x03, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 18747 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 18748 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 18749 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 18750 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 18751 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 18752 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 18753 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 18754 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 18755 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 18756 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 18757 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 18758 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 18759 0x6c, 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 18760 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 18761 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x2f, 0x0a, 0x14, 18762 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x5f, 0x61, 18763 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x68, 0x74, 0x6c, 0x63, 18764 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x41, 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x19, 0x0a, 18765 0x08, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 18766 0x07, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 18767 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x65, 0x65, 0x52, 18768 0x61, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x14, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x69, 18769 0x6d, 0x75, 0x6d, 0x5f, 0x6d, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 18770 0x04, 0x52, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x41, 18771 0x74, 0x6f, 0x6d, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6f, 0x70, 18772 0x61, 0x71, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 18773 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 18774 0x22, 0x5d, 0x0a, 0x0a, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 18775 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6e, 18776 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 18777 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 18778 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 18779 0x09, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x70, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x22, 18780 0x36, 0x0a, 0x02, 0x4f, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 18781 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 18782 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 18783 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, 18784 0x6b, 0x4d, 0x61, 0x63, 0x50, 0x65, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 18785 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 18786 0x0c, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 18787 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 18788 0x32, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 18789 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 18790 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 18791 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x75, 18792 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0x2c, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 18793 0x6b, 0x4d, 0x61, 0x63, 0x50, 0x65, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 18794 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 18795 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x22, 0xcf, 0x02, 0x0a, 0x14, 0x52, 0x50, 0x43, 0x4d, 0x69, 18796 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 18797 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 18798 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 18799 0x0a, 0x0c, 0x72, 0x61, 0x77, 0x5f, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x18, 0x02, 18800 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x61, 0x77, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 18801 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x61, 0x76, 0x65, 18802 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 18803 0x28, 0x09, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 18804 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x74, 0x72, 18805 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 18806 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 18807 0x68, 0x48, 0x00, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x12, 18808 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 18809 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x73, 0x73, 18810 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 18811 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 18812 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x73, 0x73, 18813 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 18814 0x15, 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 18815 0x05, 0x6d, 0x73, 0x67, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 18816 0x65, 0x70, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x34, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 18817 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 18818 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 18819 0x0d, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x46, 0x75, 0x6c, 0x6c, 0x55, 0x72, 0x69, 0x22, 0x90, 18820 0x01, 0x0a, 0x0a, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 18821 0x0f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x75, 0x72, 0x69, 18822 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x46, 0x75, 18823 0x6c, 0x6c, 0x55, 0x72, 0x69, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 18824 0x72, 0x70, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 18825 0x6d, 0x52, 0x70, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 18826 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 18827 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 18828 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 18829 0x64, 0x22, 0xc0, 0x01, 0x0a, 0x15, 0x52, 0x50, 0x43, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 18830 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x72, 18831 0x65, 0x66, 0x5f, 0x6d, 0x73, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 18832 0x08, 0x72, 0x65, 0x66, 0x4d, 0x73, 0x67, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x65, 0x67, 18833 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x6e, 18834 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 18835 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 18836 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 18837 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 18838 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 18839 0x63, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x14, 18840 0x0a, 0x12, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6d, 0x65, 0x73, 18841 0x73, 0x61, 0x67, 0x65, 0x22, 0xa6, 0x01, 0x0a, 0x16, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 18842 0x61, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 18843 0x27, 0x0a, 0x0f, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6e, 0x61, 18844 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 18845 0x77, 0x61, 0x72, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x75, 0x73, 0x74, 18846 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x76, 0x65, 18847 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x63, 18848 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x43, 0x61, 0x76, 18849 0x65, 0x61, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x5f, 18850 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 18851 0x0c, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x8b, 0x01, 18852 0x0a, 0x11, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 18853 0x61, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 18854 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 18855 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 18856 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 18857 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x16, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 18858 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 18859 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 18860 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x2a, 0x78, 0x0a, 0x0b, 0x41, 18861 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x57, 0x49, 18862 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4b, 0x45, 0x59, 0x5f, 0x48, 0x41, 0x53, 18863 0x48, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4e, 0x45, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x55, 18864 0x42, 0x4b, 0x45, 0x59, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 18865 0x55, 0x42, 0x4b, 0x45, 0x59, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 18866 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x03, 0x12, 0x16, 0x0a, 18867 0x12, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, 0x5f, 0x50, 0x55, 0x42, 0x4b, 0x45, 0x59, 0x5f, 0x48, 18868 0x41, 0x53, 0x48, 0x10, 0x04, 0x2a, 0x78, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 18869 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 18870 0x57, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 18871 0x50, 0x45, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x01, 18872 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 18873 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, 0x43, 0x48, 0x4f, 18874 0x52, 0x53, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x45, 18875 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x44, 0x5f, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0x04, 0x2a, 18876 0x61, 0x0a, 0x09, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x15, 0x0a, 0x11, 18877 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 18878 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x4f, 0x52, 18879 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x49, 0x54, 18880 0x49, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x02, 0x12, 0x12, 18881 0x0a, 0x0e, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x42, 0x4f, 0x54, 0x48, 18882 0x10, 0x03, 0x2a, 0x60, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 18883 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 18884 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 18885 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x48, 18886 0x54, 0x4c, 0x43, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 18887 0x47, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 18888 0x49, 0x54, 0x10, 0x04, 0x2a, 0x71, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 18889 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x55, 0x54, 18890 0x43, 0x4f, 0x4d, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 18891 0x0a, 0x07, 0x43, 0x4c, 0x41, 0x49, 0x4d, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 18892 0x4e, 0x43, 0x4c, 0x41, 0x49, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x42, 18893 0x41, 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x49, 0x52, 18894 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x49, 18895 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x05, 0x2a, 0x39, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 18896 0x65, 0x74, 0x72, 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 18897 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 18898 0x4e, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x52, 0x41, 0x4c, 0x49, 0x54, 0x59, 18899 0x10, 0x01, 0x2a, 0x3b, 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x54, 0x4c, 18900 0x43, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 18901 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, 18902 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 18903 0xd9, 0x01, 0x0a, 0x14, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 18904 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x41, 0x49, 0x4c, 18905 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 18906 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 18907 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x1b, 0x0a, 18908 0x17, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 18909 0x4e, 0x4f, 0x5f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 18910 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 18911 0x4f, 0x52, 0x10, 0x03, 0x12, 0x2c, 0x0a, 0x28, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 18912 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 18913 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 18914 0x10, 0x04, 0x12, 0x27, 0x0a, 0x23, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 18915 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 18916 0x54, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x05, 0x2a, 0xcf, 0x04, 0x0a, 0x0a, 18917 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x41, 18918 0x54, 0x41, 0x4c, 0x4f, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x5f, 0x52, 18919 0x45, 0x51, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x53, 0x53, 18920 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x01, 0x12, 0x17, 18921 0x0a, 0x13, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x49, 0x4e, 0x47, 18922 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x50, 0x46, 0x52, 0x4f, 18923 0x4e, 0x54, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x43, 0x52, 0x49, 18924 0x50, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x50, 0x46, 0x52, 18925 0x4f, 0x4e, 0x54, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x43, 0x52, 18926 0x49, 0x50, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x4f, 0x53, 18927 0x53, 0x49, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x49, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x10, 18928 0x06, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x52, 18929 0x49, 0x45, 0x53, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x4c, 0x56, 18930 0x5f, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 18931 0x54, 0x4c, 0x56, 0x5f, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x09, 0x12, 18932 0x1a, 0x0a, 0x16, 0x45, 0x58, 0x54, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x5f, 0x51, 0x55, 18933 0x45, 0x52, 0x49, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, 0x45, 18934 0x58, 0x54, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x49, 0x45, 18935 0x53, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x41, 0x54, 0x49, 18936 0x43, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x51, 18937 0x10, 0x0c, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x4d, 18938 0x4f, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x0d, 0x12, 0x14, 0x0a, 18939 0x10, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x52, 0x45, 18940 0x51, 0x10, 0x0e, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 18941 0x44, 0x44, 0x52, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x50, 0x50, 18942 0x5f, 0x52, 0x45, 0x51, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x50, 0x50, 0x5f, 0x4f, 0x50, 18943 0x54, 0x10, 0x11, 0x12, 0x16, 0x0a, 0x12, 0x57, 0x55, 0x4d, 0x42, 0x4f, 0x5f, 0x43, 0x48, 0x41, 18944 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x12, 0x12, 0x16, 0x0a, 0x12, 0x57, 18945 0x55, 0x4d, 0x42, 0x4f, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x4f, 0x50, 18946 0x54, 0x10, 0x13, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x53, 0x5f, 0x52, 18947 0x45, 0x51, 0x10, 0x14, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x53, 0x5f, 18948 0x4f, 0x50, 0x54, 0x10, 0x15, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x53, 18949 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x5f, 0x46, 0x45, 0x45, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x52, 18950 0x45, 0x51, 0x10, 0x16, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x53, 0x5f, 18951 0x5a, 0x45, 0x52, 0x4f, 0x5f, 0x46, 0x45, 0x45, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x4f, 0x50, 18952 0x54, 0x10, 0x17, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4d, 0x50, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x1e, 18953 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4d, 0x50, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x1f, 0x2a, 0xac, 0x01, 18954 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 18955 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 18956 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x55, 18957 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x50, 0x45, 18958 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x50, 0x44, 0x41, 0x54, 18959 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 18960 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 18961 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 18962 0x5f, 0x45, 0x52, 0x52, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 18963 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 18964 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0x04, 0x32, 0xf0, 0x26, 0x0a, 18965 0x09, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, 0x0d, 0x57, 0x61, 18966 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x6c, 0x6e, 18967 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 18968 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 18969 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 18970 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 18971 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 18972 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 18973 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 18974 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 18975 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 18976 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 18977 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 18978 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 18979 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 18980 0x6c, 0x73, 0x12, 0x44, 0x0a, 0x0b, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 18981 0x65, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 18982 0x74, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 18983 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 18984 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x53, 0x65, 0x6e, 0x64, 18985 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x12, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 18986 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 18987 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x73, 18988 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 18989 0x55, 0x6e, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 18990 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 18991 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 18992 0x6e, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 18993 0x0a, 0x15, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 18994 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 18995 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 18996 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x54, 18997 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x08, 18998 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x12, 0x16, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 18999 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 19000 0x1a, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 19001 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x4e, 0x65, 0x77, 19002 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 19003 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 19004 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 19005 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0b, 19006 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 19007 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 19008 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 19009 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 19010 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 19011 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x69, 19012 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 19013 0x1a, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4d, 19014 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 19015 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x19, 0x2e, 19016 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 19017 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 19018 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 19019 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 19020 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 19021 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 19022 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 19023 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 19024 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, 19025 0x12, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 19026 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 19027 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 19028 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 19029 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 19030 0x70, 0x63, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x73, 19031 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 19032 0x2e, 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x38, 0x0a, 0x07, 19033 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 19034 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 19035 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 19036 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 19037 0x6f, 0x76, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 19038 0x63, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 19039 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 19040 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 19041 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0f, 0x50, 0x65, 0x6e, 0x64, 19042 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 19043 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 19044 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 19045 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 19046 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 19047 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 19048 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 19049 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 19050 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 19051 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 19052 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x2e, 19053 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 19054 0x6e, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x19, 19055 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 19056 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x30, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x43, 19057 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x2e, 19058 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 19059 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6e, 19060 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 19061 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x4f, 0x70, 19062 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x19, 0x2e, 19063 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 19064 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 19065 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x43, 0x0a, 19066 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x6c, 19067 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 19068 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 19069 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 19070 0x30, 0x01, 0x12, 0x53, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x43, 19071 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x42, 19072 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 19073 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x42, 19074 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 19075 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x46, 0x75, 0x6e, 0x64, 0x69, 19076 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x1b, 0x2e, 0x6c, 0x6e, 19077 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 19078 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 19079 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, 19080 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 19081 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 19082 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 19083 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 19084 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 19085 0x65, 0x73, 0x74, 0x28, 0x01, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 19086 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 19087 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 19088 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 19089 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x30, 0x01, 0x12, 19090 0x4d, 0x0a, 0x0e, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 19091 0x6c, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 19092 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 19093 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x43, 19094 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 19095 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x2e, 19096 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 19097 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 19098 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x28, 0x01, 0x30, 0x01, 0x12, 19099 0x3a, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x79, 19100 0x6e, 0x63, 0x12, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 19101 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 19102 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x53, 19103 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 19104 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 19105 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 19106 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x28, 19107 0x01, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 19108 0x74, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 19109 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 19110 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 19111 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x76, 19112 0x6f, 0x69, 0x63, 0x65, 0x12, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 19113 0x6f, 0x69, 0x63, 0x65, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 19114 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 19115 0x45, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 19116 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, 19117 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 19118 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 19119 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0d, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 19120 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 19121 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x1a, 0x0e, 0x2e, 0x6c, 0x6e, 19122 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x53, 19123 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 19124 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 19125 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x0e, 0x2e, 0x6c, 19126 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x30, 0x01, 0x12, 0x32, 19127 0x0a, 0x0c, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12, 0x13, 19128 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x53, 0x74, 0x72, 19129 0x69, 0x6e, 0x67, 0x1a, 0x0d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x52, 19130 0x65, 0x71, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 19131 0x74, 0x73, 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 19132 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 19133 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 19134 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x44, 19135 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x6c, 19136 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 19137 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 19138 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 19139 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 19140 0x65, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x6c, 19141 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x50, 0x61, 19142 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 19143 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x50, 19144 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 19145 0x40, 0x0a, 0x0d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 19146 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 19147 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 19148 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x61, 0x70, 19149 0x68, 0x12, 0x47, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, 19150 0x69, 0x63, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 19151 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 19152 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 19153 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x47, 0x65, 19154 0x74, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 19155 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 19156 0x74, 0x1a, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 19157 0x6c, 0x45, 0x64, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 19158 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 19159 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x6c, 19160 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x50, 0x0a, 19161 0x0f, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x69, 0x6e, 0x67, 19162 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 19163 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 19164 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4e, 19165 0x6f, 0x64, 0x65, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 19166 0x44, 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x19, 19167 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 19168 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 19169 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 19170 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 19171 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 19172 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 19173 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 19174 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x70, 0x44, 0x61, 19175 0x65, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f, 19176 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 19177 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 19178 0x15, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 19179 0x6c, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x20, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 19180 0x72, 0x61, 0x70, 0x68, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x53, 0x75, 0x62, 0x73, 19181 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 19182 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 19183 0x64, 0x61, 0x74, 0x65, 0x30, 0x01, 0x12, 0x41, 0x0a, 0x0a, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 19184 0x65, 0x76, 0x65, 0x6c, 0x12, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x62, 19185 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 19186 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 19187 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x43, 0x61, 0x6c, 19188 0x63, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1e, 0x2e, 19189 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 19190 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 19191 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 19192 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 19193 0x0a, 0x09, 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x17, 0x2e, 0x6c, 0x6e, 19194 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 19195 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x65, 19196 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 19197 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 19198 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 19199 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 19200 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 19201 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 19202 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, 19203 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x77, 19204 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 19205 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 19206 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 19207 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x13, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 19208 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x21, 0x2e, 19209 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 19210 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 19211 0x1a, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 19212 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x54, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 19213 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 19214 0x73, 0x12, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 19215 0x63, 0x6b, 0x75, 0x70, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 19216 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 19217 0x63, 0x6b, 0x75, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x4e, 0x0a, 0x10, 19218 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 19219 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 19220 0x6b, 0x75, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x1a, 0x1f, 0x2e, 0x6c, 0x6e, 19221 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 19222 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x15, 19223 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 19224 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 19225 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 19226 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 19227 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 19228 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 19229 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 19230 0x20, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 19231 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 19232 0x6e, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 19233 0x63, 0x6b, 0x75, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x30, 0x01, 0x12, 0x47, 19234 0x0a, 0x0c, 0x42, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x12, 0x1a, 19235 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 19236 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 19237 0x70, 0x63, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x52, 19238 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4d, 19239 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 19240 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 19241 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 19242 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 19243 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x10, 0x44, 0x65, 0x6c, 19244 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x2e, 19245 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x61, 19246 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 19247 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x61, 19248 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 19249 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 19250 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 19251 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 19252 0x1a, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 19253 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 19254 0x12, 0x53, 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 19255 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x2e, 0x6c, 19256 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x61, 0x63, 0x50, 0x65, 0x72, 19257 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 19258 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x61, 0x63, 0x50, 0x65, 0x72, 0x6d, 0x52, 0x65, 0x73, 19259 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 19260 0x72, 0x52, 0x50, 0x43, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x12, 0x1c, 19261 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 19262 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x1b, 0x2e, 0x6c, 19263 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 19264 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x28, 0x01, 0x30, 0x01, 0x12, 0x56, 0x0a, 19265 0x11, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 19266 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 19267 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 19268 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 19269 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 19270 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x17, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 19271 0x62, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 19272 0x12, 0x25, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 19273 0x62, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 19274 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 19275 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x30, 0x01, 0x42, 19276 0x20, 0x5a, 0x1e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x65, 19277 0x63, 0x72, 0x65, 0x64, 0x2f, 0x64, 0x63, 0x72, 0x6c, 0x6e, 0x64, 0x2f, 0x6c, 0x6e, 0x72, 0x70, 19278 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 19279 } 19280 19281 var ( 19282 file_lightning_proto_rawDescOnce sync.Once 19283 file_lightning_proto_rawDescData = file_lightning_proto_rawDesc 19284 ) 19285 19286 func file_lightning_proto_rawDescGZIP() []byte { 19287 file_lightning_proto_rawDescOnce.Do(func() { 19288 file_lightning_proto_rawDescData = protoimpl.X.CompressGZIP(file_lightning_proto_rawDescData) 19289 }) 19290 return file_lightning_proto_rawDescData 19291 } 19292 19293 var file_lightning_proto_enumTypes = make([]protoimpl.EnumInfo, 19) 19294 var file_lightning_proto_msgTypes = make([]protoimpl.MessageInfo, 211) 19295 var file_lightning_proto_goTypes = []interface{}{ 19296 (AddressType)(0), // 0: lnrpc.AddressType 19297 (CommitmentType)(0), // 1: lnrpc.CommitmentType 19298 (Initiator)(0), // 2: lnrpc.Initiator 19299 (ResolutionType)(0), // 3: lnrpc.ResolutionType 19300 (ResolutionOutcome)(0), // 4: lnrpc.ResolutionOutcome 19301 (NodeMetricType)(0), // 5: lnrpc.NodeMetricType 19302 (InvoiceHTLCState)(0), // 6: lnrpc.InvoiceHTLCState 19303 (PaymentFailureReason)(0), // 7: lnrpc.PaymentFailureReason 19304 (FeatureBit)(0), // 8: lnrpc.FeatureBit 19305 (UpdateFailure)(0), // 9: lnrpc.UpdateFailure 19306 (ChannelCloseSummary_ClosureType)(0), // 10: lnrpc.ChannelCloseSummary.ClosureType 19307 (Peer_SyncType)(0), // 11: lnrpc.Peer.SyncType 19308 (PeerEvent_EventType)(0), // 12: lnrpc.PeerEvent.EventType 19309 (PendingChannelsResponse_ForceClosedChannel_AnchorState)(0), // 13: lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState 19310 (ChannelEventUpdate_UpdateType)(0), // 14: lnrpc.ChannelEventUpdate.UpdateType 19311 (Invoice_InvoiceState)(0), // 15: lnrpc.Invoice.InvoiceState 19312 (Payment_PaymentStatus)(0), // 16: lnrpc.Payment.PaymentStatus 19313 (HTLCAttempt_HTLCStatus)(0), // 17: lnrpc.HTLCAttempt.HTLCStatus 19314 (Failure_FailureCode)(0), // 18: lnrpc.Failure.FailureCode 19315 (*SubscribeCustomMessagesRequest)(nil), // 19: lnrpc.SubscribeCustomMessagesRequest 19316 (*CustomMessage)(nil), // 20: lnrpc.CustomMessage 19317 (*SendCustomMessageRequest)(nil), // 21: lnrpc.SendCustomMessageRequest 19318 (*SendCustomMessageResponse)(nil), // 22: lnrpc.SendCustomMessageResponse 19319 (*Utxo)(nil), // 23: lnrpc.Utxo 19320 (*Transaction)(nil), // 24: lnrpc.Transaction 19321 (*GetTransactionsRequest)(nil), // 25: lnrpc.GetTransactionsRequest 19322 (*TransactionDetails)(nil), // 26: lnrpc.TransactionDetails 19323 (*FeeLimit)(nil), // 27: lnrpc.FeeLimit 19324 (*SendRequest)(nil), // 28: lnrpc.SendRequest 19325 (*SendResponse)(nil), // 29: lnrpc.SendResponse 19326 (*SendToRouteRequest)(nil), // 30: lnrpc.SendToRouteRequest 19327 (*ChannelAcceptRequest)(nil), // 31: lnrpc.ChannelAcceptRequest 19328 (*ChannelAcceptResponse)(nil), // 32: lnrpc.ChannelAcceptResponse 19329 (*ChannelPoint)(nil), // 33: lnrpc.ChannelPoint 19330 (*OutPoint)(nil), // 34: lnrpc.OutPoint 19331 (*LightningAddress)(nil), // 35: lnrpc.LightningAddress 19332 (*EstimateFeeRequest)(nil), // 36: lnrpc.EstimateFeeRequest 19333 (*EstimateFeeResponse)(nil), // 37: lnrpc.EstimateFeeResponse 19334 (*SendManyRequest)(nil), // 38: lnrpc.SendManyRequest 19335 (*SendManyResponse)(nil), // 39: lnrpc.SendManyResponse 19336 (*SendCoinsRequest)(nil), // 40: lnrpc.SendCoinsRequest 19337 (*SendCoinsResponse)(nil), // 41: lnrpc.SendCoinsResponse 19338 (*ListUnspentRequest)(nil), // 42: lnrpc.ListUnspentRequest 19339 (*ListUnspentResponse)(nil), // 43: lnrpc.ListUnspentResponse 19340 (*NewAddressRequest)(nil), // 44: lnrpc.NewAddressRequest 19341 (*NewAddressResponse)(nil), // 45: lnrpc.NewAddressResponse 19342 (*SignMessageRequest)(nil), // 46: lnrpc.SignMessageRequest 19343 (*SignMessageResponse)(nil), // 47: lnrpc.SignMessageResponse 19344 (*VerifyMessageRequest)(nil), // 48: lnrpc.VerifyMessageRequest 19345 (*VerifyMessageResponse)(nil), // 49: lnrpc.VerifyMessageResponse 19346 (*ConnectPeerRequest)(nil), // 50: lnrpc.ConnectPeerRequest 19347 (*ConnectPeerResponse)(nil), // 51: lnrpc.ConnectPeerResponse 19348 (*DisconnectPeerRequest)(nil), // 52: lnrpc.DisconnectPeerRequest 19349 (*DisconnectPeerResponse)(nil), // 53: lnrpc.DisconnectPeerResponse 19350 (*HTLC)(nil), // 54: lnrpc.HTLC 19351 (*ChannelConstraints)(nil), // 55: lnrpc.ChannelConstraints 19352 (*Channel)(nil), // 56: lnrpc.Channel 19353 (*ListChannelsRequest)(nil), // 57: lnrpc.ListChannelsRequest 19354 (*ListChannelsResponse)(nil), // 58: lnrpc.ListChannelsResponse 19355 (*ChannelCloseSummary)(nil), // 59: lnrpc.ChannelCloseSummary 19356 (*Resolution)(nil), // 60: lnrpc.Resolution 19357 (*ClosedChannelsRequest)(nil), // 61: lnrpc.ClosedChannelsRequest 19358 (*ClosedChannelsResponse)(nil), // 62: lnrpc.ClosedChannelsResponse 19359 (*Peer)(nil), // 63: lnrpc.Peer 19360 (*TimestampedError)(nil), // 64: lnrpc.TimestampedError 19361 (*ListPeersRequest)(nil), // 65: lnrpc.ListPeersRequest 19362 (*ListPeersResponse)(nil), // 66: lnrpc.ListPeersResponse 19363 (*PeerEventSubscription)(nil), // 67: lnrpc.PeerEventSubscription 19364 (*PeerEvent)(nil), // 68: lnrpc.PeerEvent 19365 (*GetInfoRequest)(nil), // 69: lnrpc.GetInfoRequest 19366 (*GetInfoResponse)(nil), // 70: lnrpc.GetInfoResponse 19367 (*GetRecoveryInfoRequest)(nil), // 71: lnrpc.GetRecoveryInfoRequest 19368 (*GetRecoveryInfoResponse)(nil), // 72: lnrpc.GetRecoveryInfoResponse 19369 (*Chain)(nil), // 73: lnrpc.Chain 19370 (*ConfirmationUpdate)(nil), // 74: lnrpc.ConfirmationUpdate 19371 (*ChannelOpenUpdate)(nil), // 75: lnrpc.ChannelOpenUpdate 19372 (*ChannelCloseUpdate)(nil), // 76: lnrpc.ChannelCloseUpdate 19373 (*CloseChannelRequest)(nil), // 77: lnrpc.CloseChannelRequest 19374 (*CloseStatusUpdate)(nil), // 78: lnrpc.CloseStatusUpdate 19375 (*PendingUpdate)(nil), // 79: lnrpc.PendingUpdate 19376 (*ReadyForPsbtFunding)(nil), // 80: lnrpc.ReadyForPsbtFunding 19377 (*BatchOpenChannelRequest)(nil), // 81: lnrpc.BatchOpenChannelRequest 19378 (*BatchOpenChannel)(nil), // 82: lnrpc.BatchOpenChannel 19379 (*BatchOpenChannelResponse)(nil), // 83: lnrpc.BatchOpenChannelResponse 19380 (*OpenChannelRequest)(nil), // 84: lnrpc.OpenChannelRequest 19381 (*OpenStatusUpdate)(nil), // 85: lnrpc.OpenStatusUpdate 19382 (*KeyLocator)(nil), // 86: lnrpc.KeyLocator 19383 (*KeyDescriptor)(nil), // 87: lnrpc.KeyDescriptor 19384 (*ChanPointShim)(nil), // 88: lnrpc.ChanPointShim 19385 (*PsbtShim)(nil), // 89: lnrpc.PsbtShim 19386 (*FundingShim)(nil), // 90: lnrpc.FundingShim 19387 (*FundingShimCancel)(nil), // 91: lnrpc.FundingShimCancel 19388 (*FundingPsbtVerify)(nil), // 92: lnrpc.FundingPsbtVerify 19389 (*FundingPsbtFinalize)(nil), // 93: lnrpc.FundingPsbtFinalize 19390 (*FundingTransitionMsg)(nil), // 94: lnrpc.FundingTransitionMsg 19391 (*FundingStateStepResp)(nil), // 95: lnrpc.FundingStateStepResp 19392 (*PendingHTLC)(nil), // 96: lnrpc.PendingHTLC 19393 (*PendingChannelsRequest)(nil), // 97: lnrpc.PendingChannelsRequest 19394 (*PendingChannelsResponse)(nil), // 98: lnrpc.PendingChannelsResponse 19395 (*ChannelEventSubscription)(nil), // 99: lnrpc.ChannelEventSubscription 19396 (*ChannelEventUpdate)(nil), // 100: lnrpc.ChannelEventUpdate 19397 (*WalletAccountBalance)(nil), // 101: lnrpc.WalletAccountBalance 19398 (*WalletBalanceRequest)(nil), // 102: lnrpc.WalletBalanceRequest 19399 (*WalletBalanceResponse)(nil), // 103: lnrpc.WalletBalanceResponse 19400 (*Amount)(nil), // 104: lnrpc.Amount 19401 (*ChannelBalanceRequest)(nil), // 105: lnrpc.ChannelBalanceRequest 19402 (*ChannelBalanceResponse)(nil), // 106: lnrpc.ChannelBalanceResponse 19403 (*QueryRoutesRequest)(nil), // 107: lnrpc.QueryRoutesRequest 19404 (*NodePair)(nil), // 108: lnrpc.NodePair 19405 (*EdgeLocator)(nil), // 109: lnrpc.EdgeLocator 19406 (*QueryRoutesResponse)(nil), // 110: lnrpc.QueryRoutesResponse 19407 (*Hop)(nil), // 111: lnrpc.Hop 19408 (*MPPRecord)(nil), // 112: lnrpc.MPPRecord 19409 (*AMPRecord)(nil), // 113: lnrpc.AMPRecord 19410 (*Route)(nil), // 114: lnrpc.Route 19411 (*NodeInfoRequest)(nil), // 115: lnrpc.NodeInfoRequest 19412 (*NodeInfo)(nil), // 116: lnrpc.NodeInfo 19413 (*LightningNode)(nil), // 117: lnrpc.LightningNode 19414 (*NodeAddress)(nil), // 118: lnrpc.NodeAddress 19415 (*RoutingPolicy)(nil), // 119: lnrpc.RoutingPolicy 19416 (*EnforceNodePingRequest)(nil), // 120: lnrpc.EnforceNodePingRequest 19417 (*EnforceNodePingResponse)(nil), // 121: lnrpc.EnforceNodePingResponse 19418 (*ChannelEdge)(nil), // 122: lnrpc.ChannelEdge 19419 (*ChannelGraphRequest)(nil), // 123: lnrpc.ChannelGraphRequest 19420 (*ChannelGraph)(nil), // 124: lnrpc.ChannelGraph 19421 (*NodeMetricsRequest)(nil), // 125: lnrpc.NodeMetricsRequest 19422 (*NodeMetricsResponse)(nil), // 126: lnrpc.NodeMetricsResponse 19423 (*FloatMetric)(nil), // 127: lnrpc.FloatMetric 19424 (*ChanInfoRequest)(nil), // 128: lnrpc.ChanInfoRequest 19425 (*NetworkInfoRequest)(nil), // 129: lnrpc.NetworkInfoRequest 19426 (*NetworkInfo)(nil), // 130: lnrpc.NetworkInfo 19427 (*StopRequest)(nil), // 131: lnrpc.StopRequest 19428 (*StopResponse)(nil), // 132: lnrpc.StopResponse 19429 (*GraphTopologySubscription)(nil), // 133: lnrpc.GraphTopologySubscription 19430 (*GraphTopologyUpdate)(nil), // 134: lnrpc.GraphTopologyUpdate 19431 (*NodeUpdate)(nil), // 135: lnrpc.NodeUpdate 19432 (*ChannelEdgeUpdate)(nil), // 136: lnrpc.ChannelEdgeUpdate 19433 (*ClosedChannelUpdate)(nil), // 137: lnrpc.ClosedChannelUpdate 19434 (*HopHint)(nil), // 138: lnrpc.HopHint 19435 (*SetID)(nil), // 139: lnrpc.SetID 19436 (*RouteHint)(nil), // 140: lnrpc.RouteHint 19437 (*AMPInvoiceState)(nil), // 141: lnrpc.AMPInvoiceState 19438 (*Invoice)(nil), // 142: lnrpc.Invoice 19439 (*InvoiceHTLC)(nil), // 143: lnrpc.InvoiceHTLC 19440 (*AMP)(nil), // 144: lnrpc.AMP 19441 (*AddInvoiceResponse)(nil), // 145: lnrpc.AddInvoiceResponse 19442 (*PaymentHash)(nil), // 146: lnrpc.PaymentHash 19443 (*ListInvoiceRequest)(nil), // 147: lnrpc.ListInvoiceRequest 19444 (*ListInvoiceResponse)(nil), // 148: lnrpc.ListInvoiceResponse 19445 (*InvoiceSubscription)(nil), // 149: lnrpc.InvoiceSubscription 19446 (*Payment)(nil), // 150: lnrpc.Payment 19447 (*HTLCAttempt)(nil), // 151: lnrpc.HTLCAttempt 19448 (*ListPaymentsRequest)(nil), // 152: lnrpc.ListPaymentsRequest 19449 (*ListPaymentsResponse)(nil), // 153: lnrpc.ListPaymentsResponse 19450 (*DeletePaymentRequest)(nil), // 154: lnrpc.DeletePaymentRequest 19451 (*DeleteAllPaymentsRequest)(nil), // 155: lnrpc.DeleteAllPaymentsRequest 19452 (*DeletePaymentResponse)(nil), // 156: lnrpc.DeletePaymentResponse 19453 (*DeleteAllPaymentsResponse)(nil), // 157: lnrpc.DeleteAllPaymentsResponse 19454 (*AbandonChannelRequest)(nil), // 158: lnrpc.AbandonChannelRequest 19455 (*AbandonChannelResponse)(nil), // 159: lnrpc.AbandonChannelResponse 19456 (*DebugLevelRequest)(nil), // 160: lnrpc.DebugLevelRequest 19457 (*DebugLevelResponse)(nil), // 161: lnrpc.DebugLevelResponse 19458 (*CalcPaymentStatsRequest)(nil), // 162: lnrpc.CalcPaymentStatsRequest 19459 (*CalcPaymentStatsResponse)(nil), // 163: lnrpc.CalcPaymentStatsResponse 19460 (*PayReqString)(nil), // 164: lnrpc.PayReqString 19461 (*PayReq)(nil), // 165: lnrpc.PayReq 19462 (*Feature)(nil), // 166: lnrpc.Feature 19463 (*FeeReportRequest)(nil), // 167: lnrpc.FeeReportRequest 19464 (*ChannelFeeReport)(nil), // 168: lnrpc.ChannelFeeReport 19465 (*FeeReportResponse)(nil), // 169: lnrpc.FeeReportResponse 19466 (*PolicyUpdateRequest)(nil), // 170: lnrpc.PolicyUpdateRequest 19467 (*FailedUpdate)(nil), // 171: lnrpc.FailedUpdate 19468 (*PolicyUpdateResponse)(nil), // 172: lnrpc.PolicyUpdateResponse 19469 (*ForwardingHistoryRequest)(nil), // 173: lnrpc.ForwardingHistoryRequest 19470 (*ForwardingEvent)(nil), // 174: lnrpc.ForwardingEvent 19471 (*ForwardingHistoryResponse)(nil), // 175: lnrpc.ForwardingHistoryResponse 19472 (*ExportChannelBackupRequest)(nil), // 176: lnrpc.ExportChannelBackupRequest 19473 (*ChannelBackup)(nil), // 177: lnrpc.ChannelBackup 19474 (*MultiChanBackup)(nil), // 178: lnrpc.MultiChanBackup 19475 (*ChanBackupExportRequest)(nil), // 179: lnrpc.ChanBackupExportRequest 19476 (*ChanBackupSnapshot)(nil), // 180: lnrpc.ChanBackupSnapshot 19477 (*ChannelBackups)(nil), // 181: lnrpc.ChannelBackups 19478 (*RestoreChanBackupRequest)(nil), // 182: lnrpc.RestoreChanBackupRequest 19479 (*RestoreBackupResponse)(nil), // 183: lnrpc.RestoreBackupResponse 19480 (*ChannelBackupSubscription)(nil), // 184: lnrpc.ChannelBackupSubscription 19481 (*VerifyChanBackupResponse)(nil), // 185: lnrpc.VerifyChanBackupResponse 19482 (*MacaroonPermission)(nil), // 186: lnrpc.MacaroonPermission 19483 (*BakeMacaroonRequest)(nil), // 187: lnrpc.BakeMacaroonRequest 19484 (*BakeMacaroonResponse)(nil), // 188: lnrpc.BakeMacaroonResponse 19485 (*ListMacaroonIDsRequest)(nil), // 189: lnrpc.ListMacaroonIDsRequest 19486 (*ListMacaroonIDsResponse)(nil), // 190: lnrpc.ListMacaroonIDsResponse 19487 (*DeleteMacaroonIDRequest)(nil), // 191: lnrpc.DeleteMacaroonIDRequest 19488 (*DeleteMacaroonIDResponse)(nil), // 192: lnrpc.DeleteMacaroonIDResponse 19489 (*MacaroonPermissionList)(nil), // 193: lnrpc.MacaroonPermissionList 19490 (*ListPermissionsRequest)(nil), // 194: lnrpc.ListPermissionsRequest 19491 (*ListPermissionsResponse)(nil), // 195: lnrpc.ListPermissionsResponse 19492 (*Failure)(nil), // 196: lnrpc.Failure 19493 (*ChannelUpdate)(nil), // 197: lnrpc.ChannelUpdate 19494 (*MacaroonId)(nil), // 198: lnrpc.MacaroonId 19495 (*Op)(nil), // 199: lnrpc.Op 19496 (*CheckMacPermRequest)(nil), // 200: lnrpc.CheckMacPermRequest 19497 (*CheckMacPermResponse)(nil), // 201: lnrpc.CheckMacPermResponse 19498 (*RPCMiddlewareRequest)(nil), // 202: lnrpc.RPCMiddlewareRequest 19499 (*StreamAuth)(nil), // 203: lnrpc.StreamAuth 19500 (*RPCMessage)(nil), // 204: lnrpc.RPCMessage 19501 (*RPCMiddlewareResponse)(nil), // 205: lnrpc.RPCMiddlewareResponse 19502 (*MiddlewareRegistration)(nil), // 206: lnrpc.MiddlewareRegistration 19503 (*InterceptFeedback)(nil), // 207: lnrpc.InterceptFeedback 19504 nil, // 208: lnrpc.SendRequest.DestCustomRecordsEntry 19505 nil, // 209: lnrpc.EstimateFeeRequest.AddrToAmountEntry 19506 nil, // 210: lnrpc.SendManyRequest.AddrToAmountEntry 19507 nil, // 211: lnrpc.Peer.FeaturesEntry 19508 nil, // 212: lnrpc.GetInfoResponse.FeaturesEntry 19509 (*PendingChannelsResponse_PendingChannel)(nil), // 213: lnrpc.PendingChannelsResponse.PendingChannel 19510 (*PendingChannelsResponse_PendingOpenChannel)(nil), // 214: lnrpc.PendingChannelsResponse.PendingOpenChannel 19511 (*PendingChannelsResponse_WaitingCloseChannel)(nil), // 215: lnrpc.PendingChannelsResponse.WaitingCloseChannel 19512 (*PendingChannelsResponse_Commitments)(nil), // 216: lnrpc.PendingChannelsResponse.Commitments 19513 (*PendingChannelsResponse_ClosedChannel)(nil), // 217: lnrpc.PendingChannelsResponse.ClosedChannel 19514 (*PendingChannelsResponse_ForceClosedChannel)(nil), // 218: lnrpc.PendingChannelsResponse.ForceClosedChannel 19515 nil, // 219: lnrpc.WalletBalanceResponse.AccountBalanceEntry 19516 nil, // 220: lnrpc.QueryRoutesRequest.DestCustomRecordsEntry 19517 nil, // 221: lnrpc.Hop.CustomRecordsEntry 19518 nil, // 222: lnrpc.LightningNode.FeaturesEntry 19519 nil, // 223: lnrpc.NodeMetricsResponse.BetweennessCentralityEntry 19520 nil, // 224: lnrpc.NodeUpdate.FeaturesEntry 19521 nil, // 225: lnrpc.Invoice.FeaturesEntry 19522 nil, // 226: lnrpc.Invoice.AmpInvoiceStateEntry 19523 nil, // 227: lnrpc.InvoiceHTLC.CustomRecordsEntry 19524 nil, // 228: lnrpc.PayReq.FeaturesEntry 19525 nil, // 229: lnrpc.ListPermissionsResponse.MethodPermissionsEntry 19526 } 19527 var file_lightning_proto_depIdxs = []int32{ 19528 0, // 0: lnrpc.Utxo.address_type:type_name -> lnrpc.AddressType 19529 34, // 1: lnrpc.Utxo.outpoint:type_name -> lnrpc.OutPoint 19530 24, // 2: lnrpc.TransactionDetails.transactions:type_name -> lnrpc.Transaction 19531 27, // 3: lnrpc.SendRequest.fee_limit:type_name -> lnrpc.FeeLimit 19532 208, // 4: lnrpc.SendRequest.dest_custom_records:type_name -> lnrpc.SendRequest.DestCustomRecordsEntry 19533 8, // 5: lnrpc.SendRequest.dest_features:type_name -> lnrpc.FeatureBit 19534 114, // 6: lnrpc.SendResponse.payment_route:type_name -> lnrpc.Route 19535 114, // 7: lnrpc.SendToRouteRequest.route:type_name -> lnrpc.Route 19536 1, // 8: lnrpc.ChannelAcceptRequest.commitment_type:type_name -> lnrpc.CommitmentType 19537 209, // 9: lnrpc.EstimateFeeRequest.AddrToAmount:type_name -> lnrpc.EstimateFeeRequest.AddrToAmountEntry 19538 210, // 10: lnrpc.SendManyRequest.AddrToAmount:type_name -> lnrpc.SendManyRequest.AddrToAmountEntry 19539 23, // 11: lnrpc.ListUnspentResponse.utxos:type_name -> lnrpc.Utxo 19540 0, // 12: lnrpc.NewAddressRequest.type:type_name -> lnrpc.AddressType 19541 35, // 13: lnrpc.ConnectPeerRequest.addr:type_name -> lnrpc.LightningAddress 19542 54, // 14: lnrpc.Channel.pending_htlcs:type_name -> lnrpc.HTLC 19543 1, // 15: lnrpc.Channel.commitment_type:type_name -> lnrpc.CommitmentType 19544 55, // 16: lnrpc.Channel.local_constraints:type_name -> lnrpc.ChannelConstraints 19545 55, // 17: lnrpc.Channel.remote_constraints:type_name -> lnrpc.ChannelConstraints 19546 56, // 18: lnrpc.ListChannelsResponse.channels:type_name -> lnrpc.Channel 19547 10, // 19: lnrpc.ChannelCloseSummary.close_type:type_name -> lnrpc.ChannelCloseSummary.ClosureType 19548 2, // 20: lnrpc.ChannelCloseSummary.open_initiator:type_name -> lnrpc.Initiator 19549 2, // 21: lnrpc.ChannelCloseSummary.close_initiator:type_name -> lnrpc.Initiator 19550 60, // 22: lnrpc.ChannelCloseSummary.resolutions:type_name -> lnrpc.Resolution 19551 3, // 23: lnrpc.Resolution.resolution_type:type_name -> lnrpc.ResolutionType 19552 4, // 24: lnrpc.Resolution.outcome:type_name -> lnrpc.ResolutionOutcome 19553 34, // 25: lnrpc.Resolution.outpoint:type_name -> lnrpc.OutPoint 19554 59, // 26: lnrpc.ClosedChannelsResponse.channels:type_name -> lnrpc.ChannelCloseSummary 19555 11, // 27: lnrpc.Peer.sync_type:type_name -> lnrpc.Peer.SyncType 19556 211, // 28: lnrpc.Peer.features:type_name -> lnrpc.Peer.FeaturesEntry 19557 64, // 29: lnrpc.Peer.errors:type_name -> lnrpc.TimestampedError 19558 63, // 30: lnrpc.ListPeersResponse.peers:type_name -> lnrpc.Peer 19559 12, // 31: lnrpc.PeerEvent.type:type_name -> lnrpc.PeerEvent.EventType 19560 73, // 32: lnrpc.GetInfoResponse.chains:type_name -> lnrpc.Chain 19561 212, // 33: lnrpc.GetInfoResponse.features:type_name -> lnrpc.GetInfoResponse.FeaturesEntry 19562 33, // 34: lnrpc.ChannelOpenUpdate.channel_point:type_name -> lnrpc.ChannelPoint 19563 33, // 35: lnrpc.CloseChannelRequest.channel_point:type_name -> lnrpc.ChannelPoint 19564 79, // 36: lnrpc.CloseStatusUpdate.close_pending:type_name -> lnrpc.PendingUpdate 19565 76, // 37: lnrpc.CloseStatusUpdate.chan_close:type_name -> lnrpc.ChannelCloseUpdate 19566 82, // 38: lnrpc.BatchOpenChannelRequest.channels:type_name -> lnrpc.BatchOpenChannel 19567 1, // 39: lnrpc.BatchOpenChannel.commitment_type:type_name -> lnrpc.CommitmentType 19568 79, // 40: lnrpc.BatchOpenChannelResponse.pending_channels:type_name -> lnrpc.PendingUpdate 19569 90, // 41: lnrpc.OpenChannelRequest.funding_shim:type_name -> lnrpc.FundingShim 19570 1, // 42: lnrpc.OpenChannelRequest.commitment_type:type_name -> lnrpc.CommitmentType 19571 79, // 43: lnrpc.OpenStatusUpdate.chan_pending:type_name -> lnrpc.PendingUpdate 19572 75, // 44: lnrpc.OpenStatusUpdate.chan_open:type_name -> lnrpc.ChannelOpenUpdate 19573 80, // 45: lnrpc.OpenStatusUpdate.psbt_fund:type_name -> lnrpc.ReadyForPsbtFunding 19574 86, // 46: lnrpc.KeyDescriptor.key_loc:type_name -> lnrpc.KeyLocator 19575 33, // 47: lnrpc.ChanPointShim.chan_point:type_name -> lnrpc.ChannelPoint 19576 87, // 48: lnrpc.ChanPointShim.local_key:type_name -> lnrpc.KeyDescriptor 19577 88, // 49: lnrpc.FundingShim.chan_point_shim:type_name -> lnrpc.ChanPointShim 19578 89, // 50: lnrpc.FundingShim.psbt_shim:type_name -> lnrpc.PsbtShim 19579 90, // 51: lnrpc.FundingTransitionMsg.shim_register:type_name -> lnrpc.FundingShim 19580 91, // 52: lnrpc.FundingTransitionMsg.shim_cancel:type_name -> lnrpc.FundingShimCancel 19581 92, // 53: lnrpc.FundingTransitionMsg.psbt_verify:type_name -> lnrpc.FundingPsbtVerify 19582 93, // 54: lnrpc.FundingTransitionMsg.psbt_finalize:type_name -> lnrpc.FundingPsbtFinalize 19583 214, // 55: lnrpc.PendingChannelsResponse.pending_open_channels:type_name -> lnrpc.PendingChannelsResponse.PendingOpenChannel 19584 217, // 56: lnrpc.PendingChannelsResponse.pending_closing_channels:type_name -> lnrpc.PendingChannelsResponse.ClosedChannel 19585 218, // 57: lnrpc.PendingChannelsResponse.pending_force_closing_channels:type_name -> lnrpc.PendingChannelsResponse.ForceClosedChannel 19586 215, // 58: lnrpc.PendingChannelsResponse.waiting_close_channels:type_name -> lnrpc.PendingChannelsResponse.WaitingCloseChannel 19587 56, // 59: lnrpc.ChannelEventUpdate.open_channel:type_name -> lnrpc.Channel 19588 59, // 60: lnrpc.ChannelEventUpdate.closed_channel:type_name -> lnrpc.ChannelCloseSummary 19589 33, // 61: lnrpc.ChannelEventUpdate.active_channel:type_name -> lnrpc.ChannelPoint 19590 33, // 62: lnrpc.ChannelEventUpdate.inactive_channel:type_name -> lnrpc.ChannelPoint 19591 79, // 63: lnrpc.ChannelEventUpdate.pending_open_channel:type_name -> lnrpc.PendingUpdate 19592 33, // 64: lnrpc.ChannelEventUpdate.fully_resolved_channel:type_name -> lnrpc.ChannelPoint 19593 14, // 65: lnrpc.ChannelEventUpdate.type:type_name -> lnrpc.ChannelEventUpdate.UpdateType 19594 219, // 66: lnrpc.WalletBalanceResponse.account_balance:type_name -> lnrpc.WalletBalanceResponse.AccountBalanceEntry 19595 104, // 67: lnrpc.ChannelBalanceResponse.local_balance:type_name -> lnrpc.Amount 19596 104, // 68: lnrpc.ChannelBalanceResponse.remote_balance:type_name -> lnrpc.Amount 19597 104, // 69: lnrpc.ChannelBalanceResponse.unsettled_local_balance:type_name -> lnrpc.Amount 19598 104, // 70: lnrpc.ChannelBalanceResponse.unsettled_remote_balance:type_name -> lnrpc.Amount 19599 104, // 71: lnrpc.ChannelBalanceResponse.pending_open_local_balance:type_name -> lnrpc.Amount 19600 104, // 72: lnrpc.ChannelBalanceResponse.pending_open_remote_balance:type_name -> lnrpc.Amount 19601 27, // 73: lnrpc.QueryRoutesRequest.fee_limit:type_name -> lnrpc.FeeLimit 19602 109, // 74: lnrpc.QueryRoutesRequest.ignored_edges:type_name -> lnrpc.EdgeLocator 19603 108, // 75: lnrpc.QueryRoutesRequest.ignored_pairs:type_name -> lnrpc.NodePair 19604 220, // 76: lnrpc.QueryRoutesRequest.dest_custom_records:type_name -> lnrpc.QueryRoutesRequest.DestCustomRecordsEntry 19605 140, // 77: lnrpc.QueryRoutesRequest.route_hints:type_name -> lnrpc.RouteHint 19606 8, // 78: lnrpc.QueryRoutesRequest.dest_features:type_name -> lnrpc.FeatureBit 19607 114, // 79: lnrpc.QueryRoutesResponse.routes:type_name -> lnrpc.Route 19608 112, // 80: lnrpc.Hop.mpp_record:type_name -> lnrpc.MPPRecord 19609 113, // 81: lnrpc.Hop.amp_record:type_name -> lnrpc.AMPRecord 19610 221, // 82: lnrpc.Hop.custom_records:type_name -> lnrpc.Hop.CustomRecordsEntry 19611 111, // 83: lnrpc.Route.hops:type_name -> lnrpc.Hop 19612 117, // 84: lnrpc.NodeInfo.node:type_name -> lnrpc.LightningNode 19613 122, // 85: lnrpc.NodeInfo.channels:type_name -> lnrpc.ChannelEdge 19614 118, // 86: lnrpc.LightningNode.addresses:type_name -> lnrpc.NodeAddress 19615 222, // 87: lnrpc.LightningNode.features:type_name -> lnrpc.LightningNode.FeaturesEntry 19616 119, // 88: lnrpc.ChannelEdge.node1_policy:type_name -> lnrpc.RoutingPolicy 19617 119, // 89: lnrpc.ChannelEdge.node2_policy:type_name -> lnrpc.RoutingPolicy 19618 117, // 90: lnrpc.ChannelGraph.nodes:type_name -> lnrpc.LightningNode 19619 122, // 91: lnrpc.ChannelGraph.edges:type_name -> lnrpc.ChannelEdge 19620 5, // 92: lnrpc.NodeMetricsRequest.types:type_name -> lnrpc.NodeMetricType 19621 223, // 93: lnrpc.NodeMetricsResponse.betweenness_centrality:type_name -> lnrpc.NodeMetricsResponse.BetweennessCentralityEntry 19622 135, // 94: lnrpc.GraphTopologyUpdate.node_updates:type_name -> lnrpc.NodeUpdate 19623 136, // 95: lnrpc.GraphTopologyUpdate.channel_updates:type_name -> lnrpc.ChannelEdgeUpdate 19624 137, // 96: lnrpc.GraphTopologyUpdate.closed_chans:type_name -> lnrpc.ClosedChannelUpdate 19625 118, // 97: lnrpc.NodeUpdate.node_addresses:type_name -> lnrpc.NodeAddress 19626 224, // 98: lnrpc.NodeUpdate.features:type_name -> lnrpc.NodeUpdate.FeaturesEntry 19627 33, // 99: lnrpc.ChannelEdgeUpdate.chan_point:type_name -> lnrpc.ChannelPoint 19628 119, // 100: lnrpc.ChannelEdgeUpdate.routing_policy:type_name -> lnrpc.RoutingPolicy 19629 33, // 101: lnrpc.ClosedChannelUpdate.chan_point:type_name -> lnrpc.ChannelPoint 19630 138, // 102: lnrpc.RouteHint.hop_hints:type_name -> lnrpc.HopHint 19631 6, // 103: lnrpc.AMPInvoiceState.state:type_name -> lnrpc.InvoiceHTLCState 19632 140, // 104: lnrpc.Invoice.route_hints:type_name -> lnrpc.RouteHint 19633 15, // 105: lnrpc.Invoice.state:type_name -> lnrpc.Invoice.InvoiceState 19634 143, // 106: lnrpc.Invoice.htlcs:type_name -> lnrpc.InvoiceHTLC 19635 225, // 107: lnrpc.Invoice.features:type_name -> lnrpc.Invoice.FeaturesEntry 19636 226, // 108: lnrpc.Invoice.amp_invoice_state:type_name -> lnrpc.Invoice.AmpInvoiceStateEntry 19637 6, // 109: lnrpc.InvoiceHTLC.state:type_name -> lnrpc.InvoiceHTLCState 19638 227, // 110: lnrpc.InvoiceHTLC.custom_records:type_name -> lnrpc.InvoiceHTLC.CustomRecordsEntry 19639 144, // 111: lnrpc.InvoiceHTLC.amp:type_name -> lnrpc.AMP 19640 142, // 112: lnrpc.ListInvoiceResponse.invoices:type_name -> lnrpc.Invoice 19641 16, // 113: lnrpc.Payment.status:type_name -> lnrpc.Payment.PaymentStatus 19642 151, // 114: lnrpc.Payment.htlcs:type_name -> lnrpc.HTLCAttempt 19643 7, // 115: lnrpc.Payment.failure_reason:type_name -> lnrpc.PaymentFailureReason 19644 17, // 116: lnrpc.HTLCAttempt.status:type_name -> lnrpc.HTLCAttempt.HTLCStatus 19645 114, // 117: lnrpc.HTLCAttempt.route:type_name -> lnrpc.Route 19646 196, // 118: lnrpc.HTLCAttempt.failure:type_name -> lnrpc.Failure 19647 150, // 119: lnrpc.ListPaymentsResponse.payments:type_name -> lnrpc.Payment 19648 33, // 120: lnrpc.AbandonChannelRequest.channel_point:type_name -> lnrpc.ChannelPoint 19649 140, // 121: lnrpc.PayReq.route_hints:type_name -> lnrpc.RouteHint 19650 228, // 122: lnrpc.PayReq.features:type_name -> lnrpc.PayReq.FeaturesEntry 19651 168, // 123: lnrpc.FeeReportResponse.channel_fees:type_name -> lnrpc.ChannelFeeReport 19652 33, // 124: lnrpc.PolicyUpdateRequest.chan_point:type_name -> lnrpc.ChannelPoint 19653 34, // 125: lnrpc.FailedUpdate.outpoint:type_name -> lnrpc.OutPoint 19654 9, // 126: lnrpc.FailedUpdate.reason:type_name -> lnrpc.UpdateFailure 19655 171, // 127: lnrpc.PolicyUpdateResponse.failed_updates:type_name -> lnrpc.FailedUpdate 19656 174, // 128: lnrpc.ForwardingHistoryResponse.forwarding_events:type_name -> lnrpc.ForwardingEvent 19657 33, // 129: lnrpc.ExportChannelBackupRequest.chan_point:type_name -> lnrpc.ChannelPoint 19658 33, // 130: lnrpc.ChannelBackup.chan_point:type_name -> lnrpc.ChannelPoint 19659 33, // 131: lnrpc.MultiChanBackup.chan_points:type_name -> lnrpc.ChannelPoint 19660 181, // 132: lnrpc.ChanBackupSnapshot.single_chan_backups:type_name -> lnrpc.ChannelBackups 19661 178, // 133: lnrpc.ChanBackupSnapshot.multi_chan_backup:type_name -> lnrpc.MultiChanBackup 19662 177, // 134: lnrpc.ChannelBackups.chan_backups:type_name -> lnrpc.ChannelBackup 19663 181, // 135: lnrpc.RestoreChanBackupRequest.chan_backups:type_name -> lnrpc.ChannelBackups 19664 186, // 136: lnrpc.BakeMacaroonRequest.permissions:type_name -> lnrpc.MacaroonPermission 19665 186, // 137: lnrpc.MacaroonPermissionList.permissions:type_name -> lnrpc.MacaroonPermission 19666 229, // 138: lnrpc.ListPermissionsResponse.method_permissions:type_name -> lnrpc.ListPermissionsResponse.MethodPermissionsEntry 19667 18, // 139: lnrpc.Failure.code:type_name -> lnrpc.Failure.FailureCode 19668 197, // 140: lnrpc.Failure.channel_update:type_name -> lnrpc.ChannelUpdate 19669 199, // 141: lnrpc.MacaroonId.ops:type_name -> lnrpc.Op 19670 186, // 142: lnrpc.CheckMacPermRequest.permissions:type_name -> lnrpc.MacaroonPermission 19671 203, // 143: lnrpc.RPCMiddlewareRequest.stream_auth:type_name -> lnrpc.StreamAuth 19672 204, // 144: lnrpc.RPCMiddlewareRequest.request:type_name -> lnrpc.RPCMessage 19673 204, // 145: lnrpc.RPCMiddlewareRequest.response:type_name -> lnrpc.RPCMessage 19674 206, // 146: lnrpc.RPCMiddlewareResponse.register:type_name -> lnrpc.MiddlewareRegistration 19675 207, // 147: lnrpc.RPCMiddlewareResponse.feedback:type_name -> lnrpc.InterceptFeedback 19676 166, // 148: lnrpc.Peer.FeaturesEntry.value:type_name -> lnrpc.Feature 19677 166, // 149: lnrpc.GetInfoResponse.FeaturesEntry.value:type_name -> lnrpc.Feature 19678 2, // 150: lnrpc.PendingChannelsResponse.PendingChannel.initiator:type_name -> lnrpc.Initiator 19679 1, // 151: lnrpc.PendingChannelsResponse.PendingChannel.commitment_type:type_name -> lnrpc.CommitmentType 19680 213, // 152: lnrpc.PendingChannelsResponse.PendingOpenChannel.channel:type_name -> lnrpc.PendingChannelsResponse.PendingChannel 19681 213, // 153: lnrpc.PendingChannelsResponse.WaitingCloseChannel.channel:type_name -> lnrpc.PendingChannelsResponse.PendingChannel 19682 216, // 154: lnrpc.PendingChannelsResponse.WaitingCloseChannel.commitments:type_name -> lnrpc.PendingChannelsResponse.Commitments 19683 213, // 155: lnrpc.PendingChannelsResponse.ClosedChannel.channel:type_name -> lnrpc.PendingChannelsResponse.PendingChannel 19684 213, // 156: lnrpc.PendingChannelsResponse.ForceClosedChannel.channel:type_name -> lnrpc.PendingChannelsResponse.PendingChannel 19685 96, // 157: lnrpc.PendingChannelsResponse.ForceClosedChannel.pending_htlcs:type_name -> lnrpc.PendingHTLC 19686 13, // 158: lnrpc.PendingChannelsResponse.ForceClosedChannel.anchor:type_name -> lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState 19687 101, // 159: lnrpc.WalletBalanceResponse.AccountBalanceEntry.value:type_name -> lnrpc.WalletAccountBalance 19688 166, // 160: lnrpc.LightningNode.FeaturesEntry.value:type_name -> lnrpc.Feature 19689 127, // 161: lnrpc.NodeMetricsResponse.BetweennessCentralityEntry.value:type_name -> lnrpc.FloatMetric 19690 166, // 162: lnrpc.NodeUpdate.FeaturesEntry.value:type_name -> lnrpc.Feature 19691 166, // 163: lnrpc.Invoice.FeaturesEntry.value:type_name -> lnrpc.Feature 19692 141, // 164: lnrpc.Invoice.AmpInvoiceStateEntry.value:type_name -> lnrpc.AMPInvoiceState 19693 166, // 165: lnrpc.PayReq.FeaturesEntry.value:type_name -> lnrpc.Feature 19694 193, // 166: lnrpc.ListPermissionsResponse.MethodPermissionsEntry.value:type_name -> lnrpc.MacaroonPermissionList 19695 102, // 167: lnrpc.Lightning.WalletBalance:input_type -> lnrpc.WalletBalanceRequest 19696 105, // 168: lnrpc.Lightning.ChannelBalance:input_type -> lnrpc.ChannelBalanceRequest 19697 25, // 169: lnrpc.Lightning.GetTransactions:input_type -> lnrpc.GetTransactionsRequest 19698 36, // 170: lnrpc.Lightning.EstimateFee:input_type -> lnrpc.EstimateFeeRequest 19699 40, // 171: lnrpc.Lightning.SendCoins:input_type -> lnrpc.SendCoinsRequest 19700 42, // 172: lnrpc.Lightning.ListUnspent:input_type -> lnrpc.ListUnspentRequest 19701 25, // 173: lnrpc.Lightning.SubscribeTransactions:input_type -> lnrpc.GetTransactionsRequest 19702 38, // 174: lnrpc.Lightning.SendMany:input_type -> lnrpc.SendManyRequest 19703 44, // 175: lnrpc.Lightning.NewAddress:input_type -> lnrpc.NewAddressRequest 19704 46, // 176: lnrpc.Lightning.SignMessage:input_type -> lnrpc.SignMessageRequest 19705 48, // 177: lnrpc.Lightning.VerifyMessage:input_type -> lnrpc.VerifyMessageRequest 19706 50, // 178: lnrpc.Lightning.ConnectPeer:input_type -> lnrpc.ConnectPeerRequest 19707 52, // 179: lnrpc.Lightning.DisconnectPeer:input_type -> lnrpc.DisconnectPeerRequest 19708 65, // 180: lnrpc.Lightning.ListPeers:input_type -> lnrpc.ListPeersRequest 19709 67, // 181: lnrpc.Lightning.SubscribePeerEvents:input_type -> lnrpc.PeerEventSubscription 19710 69, // 182: lnrpc.Lightning.GetInfo:input_type -> lnrpc.GetInfoRequest 19711 71, // 183: lnrpc.Lightning.GetRecoveryInfo:input_type -> lnrpc.GetRecoveryInfoRequest 19712 97, // 184: lnrpc.Lightning.PendingChannels:input_type -> lnrpc.PendingChannelsRequest 19713 57, // 185: lnrpc.Lightning.ListChannels:input_type -> lnrpc.ListChannelsRequest 19714 99, // 186: lnrpc.Lightning.SubscribeChannelEvents:input_type -> lnrpc.ChannelEventSubscription 19715 61, // 187: lnrpc.Lightning.ClosedChannels:input_type -> lnrpc.ClosedChannelsRequest 19716 84, // 188: lnrpc.Lightning.OpenChannelSync:input_type -> lnrpc.OpenChannelRequest 19717 84, // 189: lnrpc.Lightning.OpenChannel:input_type -> lnrpc.OpenChannelRequest 19718 81, // 190: lnrpc.Lightning.BatchOpenChannel:input_type -> lnrpc.BatchOpenChannelRequest 19719 94, // 191: lnrpc.Lightning.FundingStateStep:input_type -> lnrpc.FundingTransitionMsg 19720 32, // 192: lnrpc.Lightning.ChannelAcceptor:input_type -> lnrpc.ChannelAcceptResponse 19721 77, // 193: lnrpc.Lightning.CloseChannel:input_type -> lnrpc.CloseChannelRequest 19722 158, // 194: lnrpc.Lightning.AbandonChannel:input_type -> lnrpc.AbandonChannelRequest 19723 28, // 195: lnrpc.Lightning.SendPayment:input_type -> lnrpc.SendRequest 19724 28, // 196: lnrpc.Lightning.SendPaymentSync:input_type -> lnrpc.SendRequest 19725 30, // 197: lnrpc.Lightning.SendToRoute:input_type -> lnrpc.SendToRouteRequest 19726 30, // 198: lnrpc.Lightning.SendToRouteSync:input_type -> lnrpc.SendToRouteRequest 19727 142, // 199: lnrpc.Lightning.AddInvoice:input_type -> lnrpc.Invoice 19728 147, // 200: lnrpc.Lightning.ListInvoices:input_type -> lnrpc.ListInvoiceRequest 19729 146, // 201: lnrpc.Lightning.LookupInvoice:input_type -> lnrpc.PaymentHash 19730 149, // 202: lnrpc.Lightning.SubscribeInvoices:input_type -> lnrpc.InvoiceSubscription 19731 164, // 203: lnrpc.Lightning.DecodePayReq:input_type -> lnrpc.PayReqString 19732 152, // 204: lnrpc.Lightning.ListPayments:input_type -> lnrpc.ListPaymentsRequest 19733 154, // 205: lnrpc.Lightning.DeletePayment:input_type -> lnrpc.DeletePaymentRequest 19734 155, // 206: lnrpc.Lightning.DeleteAllPayments:input_type -> lnrpc.DeleteAllPaymentsRequest 19735 123, // 207: lnrpc.Lightning.DescribeGraph:input_type -> lnrpc.ChannelGraphRequest 19736 125, // 208: lnrpc.Lightning.GetNodeMetrics:input_type -> lnrpc.NodeMetricsRequest 19737 128, // 209: lnrpc.Lightning.GetChanInfo:input_type -> lnrpc.ChanInfoRequest 19738 115, // 210: lnrpc.Lightning.GetNodeInfo:input_type -> lnrpc.NodeInfoRequest 19739 120, // 211: lnrpc.Lightning.EnforceNodePing:input_type -> lnrpc.EnforceNodePingRequest 19740 107, // 212: lnrpc.Lightning.QueryRoutes:input_type -> lnrpc.QueryRoutesRequest 19741 129, // 213: lnrpc.Lightning.GetNetworkInfo:input_type -> lnrpc.NetworkInfoRequest 19742 131, // 214: lnrpc.Lightning.StopDaemon:input_type -> lnrpc.StopRequest 19743 133, // 215: lnrpc.Lightning.SubscribeChannelGraph:input_type -> lnrpc.GraphTopologySubscription 19744 160, // 216: lnrpc.Lightning.DebugLevel:input_type -> lnrpc.DebugLevelRequest 19745 162, // 217: lnrpc.Lightning.CalcPaymentStats:input_type -> lnrpc.CalcPaymentStatsRequest 19746 167, // 218: lnrpc.Lightning.FeeReport:input_type -> lnrpc.FeeReportRequest 19747 170, // 219: lnrpc.Lightning.UpdateChannelPolicy:input_type -> lnrpc.PolicyUpdateRequest 19748 173, // 220: lnrpc.Lightning.ForwardingHistory:input_type -> lnrpc.ForwardingHistoryRequest 19749 176, // 221: lnrpc.Lightning.ExportChannelBackup:input_type -> lnrpc.ExportChannelBackupRequest 19750 179, // 222: lnrpc.Lightning.ExportAllChannelBackups:input_type -> lnrpc.ChanBackupExportRequest 19751 180, // 223: lnrpc.Lightning.VerifyChanBackup:input_type -> lnrpc.ChanBackupSnapshot 19752 182, // 224: lnrpc.Lightning.RestoreChannelBackups:input_type -> lnrpc.RestoreChanBackupRequest 19753 184, // 225: lnrpc.Lightning.SubscribeChannelBackups:input_type -> lnrpc.ChannelBackupSubscription 19754 187, // 226: lnrpc.Lightning.BakeMacaroon:input_type -> lnrpc.BakeMacaroonRequest 19755 189, // 227: lnrpc.Lightning.ListMacaroonIDs:input_type -> lnrpc.ListMacaroonIDsRequest 19756 191, // 228: lnrpc.Lightning.DeleteMacaroonID:input_type -> lnrpc.DeleteMacaroonIDRequest 19757 194, // 229: lnrpc.Lightning.ListPermissions:input_type -> lnrpc.ListPermissionsRequest 19758 200, // 230: lnrpc.Lightning.CheckMacaroonPermissions:input_type -> lnrpc.CheckMacPermRequest 19759 205, // 231: lnrpc.Lightning.RegisterRPCMiddleware:input_type -> lnrpc.RPCMiddlewareResponse 19760 21, // 232: lnrpc.Lightning.SendCustomMessage:input_type -> lnrpc.SendCustomMessageRequest 19761 19, // 233: lnrpc.Lightning.SubscribeCustomMessages:input_type -> lnrpc.SubscribeCustomMessagesRequest 19762 103, // 234: lnrpc.Lightning.WalletBalance:output_type -> lnrpc.WalletBalanceResponse 19763 106, // 235: lnrpc.Lightning.ChannelBalance:output_type -> lnrpc.ChannelBalanceResponse 19764 26, // 236: lnrpc.Lightning.GetTransactions:output_type -> lnrpc.TransactionDetails 19765 37, // 237: lnrpc.Lightning.EstimateFee:output_type -> lnrpc.EstimateFeeResponse 19766 41, // 238: lnrpc.Lightning.SendCoins:output_type -> lnrpc.SendCoinsResponse 19767 43, // 239: lnrpc.Lightning.ListUnspent:output_type -> lnrpc.ListUnspentResponse 19768 24, // 240: lnrpc.Lightning.SubscribeTransactions:output_type -> lnrpc.Transaction 19769 39, // 241: lnrpc.Lightning.SendMany:output_type -> lnrpc.SendManyResponse 19770 45, // 242: lnrpc.Lightning.NewAddress:output_type -> lnrpc.NewAddressResponse 19771 47, // 243: lnrpc.Lightning.SignMessage:output_type -> lnrpc.SignMessageResponse 19772 49, // 244: lnrpc.Lightning.VerifyMessage:output_type -> lnrpc.VerifyMessageResponse 19773 51, // 245: lnrpc.Lightning.ConnectPeer:output_type -> lnrpc.ConnectPeerResponse 19774 53, // 246: lnrpc.Lightning.DisconnectPeer:output_type -> lnrpc.DisconnectPeerResponse 19775 66, // 247: lnrpc.Lightning.ListPeers:output_type -> lnrpc.ListPeersResponse 19776 68, // 248: lnrpc.Lightning.SubscribePeerEvents:output_type -> lnrpc.PeerEvent 19777 70, // 249: lnrpc.Lightning.GetInfo:output_type -> lnrpc.GetInfoResponse 19778 72, // 250: lnrpc.Lightning.GetRecoveryInfo:output_type -> lnrpc.GetRecoveryInfoResponse 19779 98, // 251: lnrpc.Lightning.PendingChannels:output_type -> lnrpc.PendingChannelsResponse 19780 58, // 252: lnrpc.Lightning.ListChannels:output_type -> lnrpc.ListChannelsResponse 19781 100, // 253: lnrpc.Lightning.SubscribeChannelEvents:output_type -> lnrpc.ChannelEventUpdate 19782 62, // 254: lnrpc.Lightning.ClosedChannels:output_type -> lnrpc.ClosedChannelsResponse 19783 33, // 255: lnrpc.Lightning.OpenChannelSync:output_type -> lnrpc.ChannelPoint 19784 85, // 256: lnrpc.Lightning.OpenChannel:output_type -> lnrpc.OpenStatusUpdate 19785 83, // 257: lnrpc.Lightning.BatchOpenChannel:output_type -> lnrpc.BatchOpenChannelResponse 19786 95, // 258: lnrpc.Lightning.FundingStateStep:output_type -> lnrpc.FundingStateStepResp 19787 31, // 259: lnrpc.Lightning.ChannelAcceptor:output_type -> lnrpc.ChannelAcceptRequest 19788 78, // 260: lnrpc.Lightning.CloseChannel:output_type -> lnrpc.CloseStatusUpdate 19789 159, // 261: lnrpc.Lightning.AbandonChannel:output_type -> lnrpc.AbandonChannelResponse 19790 29, // 262: lnrpc.Lightning.SendPayment:output_type -> lnrpc.SendResponse 19791 29, // 263: lnrpc.Lightning.SendPaymentSync:output_type -> lnrpc.SendResponse 19792 29, // 264: lnrpc.Lightning.SendToRoute:output_type -> lnrpc.SendResponse 19793 29, // 265: lnrpc.Lightning.SendToRouteSync:output_type -> lnrpc.SendResponse 19794 145, // 266: lnrpc.Lightning.AddInvoice:output_type -> lnrpc.AddInvoiceResponse 19795 148, // 267: lnrpc.Lightning.ListInvoices:output_type -> lnrpc.ListInvoiceResponse 19796 142, // 268: lnrpc.Lightning.LookupInvoice:output_type -> lnrpc.Invoice 19797 142, // 269: lnrpc.Lightning.SubscribeInvoices:output_type -> lnrpc.Invoice 19798 165, // 270: lnrpc.Lightning.DecodePayReq:output_type -> lnrpc.PayReq 19799 153, // 271: lnrpc.Lightning.ListPayments:output_type -> lnrpc.ListPaymentsResponse 19800 156, // 272: lnrpc.Lightning.DeletePayment:output_type -> lnrpc.DeletePaymentResponse 19801 157, // 273: lnrpc.Lightning.DeleteAllPayments:output_type -> lnrpc.DeleteAllPaymentsResponse 19802 124, // 274: lnrpc.Lightning.DescribeGraph:output_type -> lnrpc.ChannelGraph 19803 126, // 275: lnrpc.Lightning.GetNodeMetrics:output_type -> lnrpc.NodeMetricsResponse 19804 122, // 276: lnrpc.Lightning.GetChanInfo:output_type -> lnrpc.ChannelEdge 19805 116, // 277: lnrpc.Lightning.GetNodeInfo:output_type -> lnrpc.NodeInfo 19806 121, // 278: lnrpc.Lightning.EnforceNodePing:output_type -> lnrpc.EnforceNodePingResponse 19807 110, // 279: lnrpc.Lightning.QueryRoutes:output_type -> lnrpc.QueryRoutesResponse 19808 130, // 280: lnrpc.Lightning.GetNetworkInfo:output_type -> lnrpc.NetworkInfo 19809 132, // 281: lnrpc.Lightning.StopDaemon:output_type -> lnrpc.StopResponse 19810 134, // 282: lnrpc.Lightning.SubscribeChannelGraph:output_type -> lnrpc.GraphTopologyUpdate 19811 161, // 283: lnrpc.Lightning.DebugLevel:output_type -> lnrpc.DebugLevelResponse 19812 163, // 284: lnrpc.Lightning.CalcPaymentStats:output_type -> lnrpc.CalcPaymentStatsResponse 19813 169, // 285: lnrpc.Lightning.FeeReport:output_type -> lnrpc.FeeReportResponse 19814 172, // 286: lnrpc.Lightning.UpdateChannelPolicy:output_type -> lnrpc.PolicyUpdateResponse 19815 175, // 287: lnrpc.Lightning.ForwardingHistory:output_type -> lnrpc.ForwardingHistoryResponse 19816 177, // 288: lnrpc.Lightning.ExportChannelBackup:output_type -> lnrpc.ChannelBackup 19817 180, // 289: lnrpc.Lightning.ExportAllChannelBackups:output_type -> lnrpc.ChanBackupSnapshot 19818 185, // 290: lnrpc.Lightning.VerifyChanBackup:output_type -> lnrpc.VerifyChanBackupResponse 19819 183, // 291: lnrpc.Lightning.RestoreChannelBackups:output_type -> lnrpc.RestoreBackupResponse 19820 180, // 292: lnrpc.Lightning.SubscribeChannelBackups:output_type -> lnrpc.ChanBackupSnapshot 19821 188, // 293: lnrpc.Lightning.BakeMacaroon:output_type -> lnrpc.BakeMacaroonResponse 19822 190, // 294: lnrpc.Lightning.ListMacaroonIDs:output_type -> lnrpc.ListMacaroonIDsResponse 19823 192, // 295: lnrpc.Lightning.DeleteMacaroonID:output_type -> lnrpc.DeleteMacaroonIDResponse 19824 195, // 296: lnrpc.Lightning.ListPermissions:output_type -> lnrpc.ListPermissionsResponse 19825 201, // 297: lnrpc.Lightning.CheckMacaroonPermissions:output_type -> lnrpc.CheckMacPermResponse 19826 202, // 298: lnrpc.Lightning.RegisterRPCMiddleware:output_type -> lnrpc.RPCMiddlewareRequest 19827 22, // 299: lnrpc.Lightning.SendCustomMessage:output_type -> lnrpc.SendCustomMessageResponse 19828 20, // 300: lnrpc.Lightning.SubscribeCustomMessages:output_type -> lnrpc.CustomMessage 19829 234, // [234:301] is the sub-list for method output_type 19830 167, // [167:234] is the sub-list for method input_type 19831 167, // [167:167] is the sub-list for extension type_name 19832 167, // [167:167] is the sub-list for extension extendee 19833 0, // [0:167] is the sub-list for field type_name 19834 } 19835 19836 func init() { file_lightning_proto_init() } 19837 func file_lightning_proto_init() { 19838 if File_lightning_proto != nil { 19839 return 19840 } 19841 if !protoimpl.UnsafeEnabled { 19842 file_lightning_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 19843 switch v := v.(*SubscribeCustomMessagesRequest); i { 19844 case 0: 19845 return &v.state 19846 case 1: 19847 return &v.sizeCache 19848 case 2: 19849 return &v.unknownFields 19850 default: 19851 return nil 19852 } 19853 } 19854 file_lightning_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 19855 switch v := v.(*CustomMessage); i { 19856 case 0: 19857 return &v.state 19858 case 1: 19859 return &v.sizeCache 19860 case 2: 19861 return &v.unknownFields 19862 default: 19863 return nil 19864 } 19865 } 19866 file_lightning_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 19867 switch v := v.(*SendCustomMessageRequest); i { 19868 case 0: 19869 return &v.state 19870 case 1: 19871 return &v.sizeCache 19872 case 2: 19873 return &v.unknownFields 19874 default: 19875 return nil 19876 } 19877 } 19878 file_lightning_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 19879 switch v := v.(*SendCustomMessageResponse); i { 19880 case 0: 19881 return &v.state 19882 case 1: 19883 return &v.sizeCache 19884 case 2: 19885 return &v.unknownFields 19886 default: 19887 return nil 19888 } 19889 } 19890 file_lightning_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 19891 switch v := v.(*Utxo); i { 19892 case 0: 19893 return &v.state 19894 case 1: 19895 return &v.sizeCache 19896 case 2: 19897 return &v.unknownFields 19898 default: 19899 return nil 19900 } 19901 } 19902 file_lightning_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 19903 switch v := v.(*Transaction); i { 19904 case 0: 19905 return &v.state 19906 case 1: 19907 return &v.sizeCache 19908 case 2: 19909 return &v.unknownFields 19910 default: 19911 return nil 19912 } 19913 } 19914 file_lightning_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 19915 switch v := v.(*GetTransactionsRequest); i { 19916 case 0: 19917 return &v.state 19918 case 1: 19919 return &v.sizeCache 19920 case 2: 19921 return &v.unknownFields 19922 default: 19923 return nil 19924 } 19925 } 19926 file_lightning_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 19927 switch v := v.(*TransactionDetails); i { 19928 case 0: 19929 return &v.state 19930 case 1: 19931 return &v.sizeCache 19932 case 2: 19933 return &v.unknownFields 19934 default: 19935 return nil 19936 } 19937 } 19938 file_lightning_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 19939 switch v := v.(*FeeLimit); i { 19940 case 0: 19941 return &v.state 19942 case 1: 19943 return &v.sizeCache 19944 case 2: 19945 return &v.unknownFields 19946 default: 19947 return nil 19948 } 19949 } 19950 file_lightning_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 19951 switch v := v.(*SendRequest); i { 19952 case 0: 19953 return &v.state 19954 case 1: 19955 return &v.sizeCache 19956 case 2: 19957 return &v.unknownFields 19958 default: 19959 return nil 19960 } 19961 } 19962 file_lightning_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 19963 switch v := v.(*SendResponse); i { 19964 case 0: 19965 return &v.state 19966 case 1: 19967 return &v.sizeCache 19968 case 2: 19969 return &v.unknownFields 19970 default: 19971 return nil 19972 } 19973 } 19974 file_lightning_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 19975 switch v := v.(*SendToRouteRequest); i { 19976 case 0: 19977 return &v.state 19978 case 1: 19979 return &v.sizeCache 19980 case 2: 19981 return &v.unknownFields 19982 default: 19983 return nil 19984 } 19985 } 19986 file_lightning_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 19987 switch v := v.(*ChannelAcceptRequest); i { 19988 case 0: 19989 return &v.state 19990 case 1: 19991 return &v.sizeCache 19992 case 2: 19993 return &v.unknownFields 19994 default: 19995 return nil 19996 } 19997 } 19998 file_lightning_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 19999 switch v := v.(*ChannelAcceptResponse); i { 20000 case 0: 20001 return &v.state 20002 case 1: 20003 return &v.sizeCache 20004 case 2: 20005 return &v.unknownFields 20006 default: 20007 return nil 20008 } 20009 } 20010 file_lightning_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 20011 switch v := v.(*ChannelPoint); i { 20012 case 0: 20013 return &v.state 20014 case 1: 20015 return &v.sizeCache 20016 case 2: 20017 return &v.unknownFields 20018 default: 20019 return nil 20020 } 20021 } 20022 file_lightning_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 20023 switch v := v.(*OutPoint); i { 20024 case 0: 20025 return &v.state 20026 case 1: 20027 return &v.sizeCache 20028 case 2: 20029 return &v.unknownFields 20030 default: 20031 return nil 20032 } 20033 } 20034 file_lightning_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 20035 switch v := v.(*LightningAddress); i { 20036 case 0: 20037 return &v.state 20038 case 1: 20039 return &v.sizeCache 20040 case 2: 20041 return &v.unknownFields 20042 default: 20043 return nil 20044 } 20045 } 20046 file_lightning_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 20047 switch v := v.(*EstimateFeeRequest); i { 20048 case 0: 20049 return &v.state 20050 case 1: 20051 return &v.sizeCache 20052 case 2: 20053 return &v.unknownFields 20054 default: 20055 return nil 20056 } 20057 } 20058 file_lightning_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 20059 switch v := v.(*EstimateFeeResponse); i { 20060 case 0: 20061 return &v.state 20062 case 1: 20063 return &v.sizeCache 20064 case 2: 20065 return &v.unknownFields 20066 default: 20067 return nil 20068 } 20069 } 20070 file_lightning_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 20071 switch v := v.(*SendManyRequest); i { 20072 case 0: 20073 return &v.state 20074 case 1: 20075 return &v.sizeCache 20076 case 2: 20077 return &v.unknownFields 20078 default: 20079 return nil 20080 } 20081 } 20082 file_lightning_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 20083 switch v := v.(*SendManyResponse); i { 20084 case 0: 20085 return &v.state 20086 case 1: 20087 return &v.sizeCache 20088 case 2: 20089 return &v.unknownFields 20090 default: 20091 return nil 20092 } 20093 } 20094 file_lightning_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 20095 switch v := v.(*SendCoinsRequest); i { 20096 case 0: 20097 return &v.state 20098 case 1: 20099 return &v.sizeCache 20100 case 2: 20101 return &v.unknownFields 20102 default: 20103 return nil 20104 } 20105 } 20106 file_lightning_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 20107 switch v := v.(*SendCoinsResponse); i { 20108 case 0: 20109 return &v.state 20110 case 1: 20111 return &v.sizeCache 20112 case 2: 20113 return &v.unknownFields 20114 default: 20115 return nil 20116 } 20117 } 20118 file_lightning_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 20119 switch v := v.(*ListUnspentRequest); i { 20120 case 0: 20121 return &v.state 20122 case 1: 20123 return &v.sizeCache 20124 case 2: 20125 return &v.unknownFields 20126 default: 20127 return nil 20128 } 20129 } 20130 file_lightning_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 20131 switch v := v.(*ListUnspentResponse); i { 20132 case 0: 20133 return &v.state 20134 case 1: 20135 return &v.sizeCache 20136 case 2: 20137 return &v.unknownFields 20138 default: 20139 return nil 20140 } 20141 } 20142 file_lightning_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 20143 switch v := v.(*NewAddressRequest); i { 20144 case 0: 20145 return &v.state 20146 case 1: 20147 return &v.sizeCache 20148 case 2: 20149 return &v.unknownFields 20150 default: 20151 return nil 20152 } 20153 } 20154 file_lightning_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 20155 switch v := v.(*NewAddressResponse); i { 20156 case 0: 20157 return &v.state 20158 case 1: 20159 return &v.sizeCache 20160 case 2: 20161 return &v.unknownFields 20162 default: 20163 return nil 20164 } 20165 } 20166 file_lightning_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 20167 switch v := v.(*SignMessageRequest); i { 20168 case 0: 20169 return &v.state 20170 case 1: 20171 return &v.sizeCache 20172 case 2: 20173 return &v.unknownFields 20174 default: 20175 return nil 20176 } 20177 } 20178 file_lightning_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 20179 switch v := v.(*SignMessageResponse); i { 20180 case 0: 20181 return &v.state 20182 case 1: 20183 return &v.sizeCache 20184 case 2: 20185 return &v.unknownFields 20186 default: 20187 return nil 20188 } 20189 } 20190 file_lightning_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 20191 switch v := v.(*VerifyMessageRequest); i { 20192 case 0: 20193 return &v.state 20194 case 1: 20195 return &v.sizeCache 20196 case 2: 20197 return &v.unknownFields 20198 default: 20199 return nil 20200 } 20201 } 20202 file_lightning_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 20203 switch v := v.(*VerifyMessageResponse); i { 20204 case 0: 20205 return &v.state 20206 case 1: 20207 return &v.sizeCache 20208 case 2: 20209 return &v.unknownFields 20210 default: 20211 return nil 20212 } 20213 } 20214 file_lightning_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 20215 switch v := v.(*ConnectPeerRequest); i { 20216 case 0: 20217 return &v.state 20218 case 1: 20219 return &v.sizeCache 20220 case 2: 20221 return &v.unknownFields 20222 default: 20223 return nil 20224 } 20225 } 20226 file_lightning_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 20227 switch v := v.(*ConnectPeerResponse); i { 20228 case 0: 20229 return &v.state 20230 case 1: 20231 return &v.sizeCache 20232 case 2: 20233 return &v.unknownFields 20234 default: 20235 return nil 20236 } 20237 } 20238 file_lightning_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 20239 switch v := v.(*DisconnectPeerRequest); i { 20240 case 0: 20241 return &v.state 20242 case 1: 20243 return &v.sizeCache 20244 case 2: 20245 return &v.unknownFields 20246 default: 20247 return nil 20248 } 20249 } 20250 file_lightning_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 20251 switch v := v.(*DisconnectPeerResponse); i { 20252 case 0: 20253 return &v.state 20254 case 1: 20255 return &v.sizeCache 20256 case 2: 20257 return &v.unknownFields 20258 default: 20259 return nil 20260 } 20261 } 20262 file_lightning_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { 20263 switch v := v.(*HTLC); i { 20264 case 0: 20265 return &v.state 20266 case 1: 20267 return &v.sizeCache 20268 case 2: 20269 return &v.unknownFields 20270 default: 20271 return nil 20272 } 20273 } 20274 file_lightning_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { 20275 switch v := v.(*ChannelConstraints); i { 20276 case 0: 20277 return &v.state 20278 case 1: 20279 return &v.sizeCache 20280 case 2: 20281 return &v.unknownFields 20282 default: 20283 return nil 20284 } 20285 } 20286 file_lightning_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { 20287 switch v := v.(*Channel); i { 20288 case 0: 20289 return &v.state 20290 case 1: 20291 return &v.sizeCache 20292 case 2: 20293 return &v.unknownFields 20294 default: 20295 return nil 20296 } 20297 } 20298 file_lightning_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { 20299 switch v := v.(*ListChannelsRequest); i { 20300 case 0: 20301 return &v.state 20302 case 1: 20303 return &v.sizeCache 20304 case 2: 20305 return &v.unknownFields 20306 default: 20307 return nil 20308 } 20309 } 20310 file_lightning_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { 20311 switch v := v.(*ListChannelsResponse); i { 20312 case 0: 20313 return &v.state 20314 case 1: 20315 return &v.sizeCache 20316 case 2: 20317 return &v.unknownFields 20318 default: 20319 return nil 20320 } 20321 } 20322 file_lightning_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { 20323 switch v := v.(*ChannelCloseSummary); i { 20324 case 0: 20325 return &v.state 20326 case 1: 20327 return &v.sizeCache 20328 case 2: 20329 return &v.unknownFields 20330 default: 20331 return nil 20332 } 20333 } 20334 file_lightning_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { 20335 switch v := v.(*Resolution); i { 20336 case 0: 20337 return &v.state 20338 case 1: 20339 return &v.sizeCache 20340 case 2: 20341 return &v.unknownFields 20342 default: 20343 return nil 20344 } 20345 } 20346 file_lightning_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { 20347 switch v := v.(*ClosedChannelsRequest); i { 20348 case 0: 20349 return &v.state 20350 case 1: 20351 return &v.sizeCache 20352 case 2: 20353 return &v.unknownFields 20354 default: 20355 return nil 20356 } 20357 } 20358 file_lightning_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { 20359 switch v := v.(*ClosedChannelsResponse); i { 20360 case 0: 20361 return &v.state 20362 case 1: 20363 return &v.sizeCache 20364 case 2: 20365 return &v.unknownFields 20366 default: 20367 return nil 20368 } 20369 } 20370 file_lightning_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { 20371 switch v := v.(*Peer); i { 20372 case 0: 20373 return &v.state 20374 case 1: 20375 return &v.sizeCache 20376 case 2: 20377 return &v.unknownFields 20378 default: 20379 return nil 20380 } 20381 } 20382 file_lightning_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { 20383 switch v := v.(*TimestampedError); i { 20384 case 0: 20385 return &v.state 20386 case 1: 20387 return &v.sizeCache 20388 case 2: 20389 return &v.unknownFields 20390 default: 20391 return nil 20392 } 20393 } 20394 file_lightning_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { 20395 switch v := v.(*ListPeersRequest); i { 20396 case 0: 20397 return &v.state 20398 case 1: 20399 return &v.sizeCache 20400 case 2: 20401 return &v.unknownFields 20402 default: 20403 return nil 20404 } 20405 } 20406 file_lightning_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { 20407 switch v := v.(*ListPeersResponse); i { 20408 case 0: 20409 return &v.state 20410 case 1: 20411 return &v.sizeCache 20412 case 2: 20413 return &v.unknownFields 20414 default: 20415 return nil 20416 } 20417 } 20418 file_lightning_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { 20419 switch v := v.(*PeerEventSubscription); i { 20420 case 0: 20421 return &v.state 20422 case 1: 20423 return &v.sizeCache 20424 case 2: 20425 return &v.unknownFields 20426 default: 20427 return nil 20428 } 20429 } 20430 file_lightning_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { 20431 switch v := v.(*PeerEvent); i { 20432 case 0: 20433 return &v.state 20434 case 1: 20435 return &v.sizeCache 20436 case 2: 20437 return &v.unknownFields 20438 default: 20439 return nil 20440 } 20441 } 20442 file_lightning_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { 20443 switch v := v.(*GetInfoRequest); i { 20444 case 0: 20445 return &v.state 20446 case 1: 20447 return &v.sizeCache 20448 case 2: 20449 return &v.unknownFields 20450 default: 20451 return nil 20452 } 20453 } 20454 file_lightning_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { 20455 switch v := v.(*GetInfoResponse); i { 20456 case 0: 20457 return &v.state 20458 case 1: 20459 return &v.sizeCache 20460 case 2: 20461 return &v.unknownFields 20462 default: 20463 return nil 20464 } 20465 } 20466 file_lightning_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { 20467 switch v := v.(*GetRecoveryInfoRequest); i { 20468 case 0: 20469 return &v.state 20470 case 1: 20471 return &v.sizeCache 20472 case 2: 20473 return &v.unknownFields 20474 default: 20475 return nil 20476 } 20477 } 20478 file_lightning_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { 20479 switch v := v.(*GetRecoveryInfoResponse); i { 20480 case 0: 20481 return &v.state 20482 case 1: 20483 return &v.sizeCache 20484 case 2: 20485 return &v.unknownFields 20486 default: 20487 return nil 20488 } 20489 } 20490 file_lightning_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { 20491 switch v := v.(*Chain); i { 20492 case 0: 20493 return &v.state 20494 case 1: 20495 return &v.sizeCache 20496 case 2: 20497 return &v.unknownFields 20498 default: 20499 return nil 20500 } 20501 } 20502 file_lightning_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { 20503 switch v := v.(*ConfirmationUpdate); i { 20504 case 0: 20505 return &v.state 20506 case 1: 20507 return &v.sizeCache 20508 case 2: 20509 return &v.unknownFields 20510 default: 20511 return nil 20512 } 20513 } 20514 file_lightning_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { 20515 switch v := v.(*ChannelOpenUpdate); i { 20516 case 0: 20517 return &v.state 20518 case 1: 20519 return &v.sizeCache 20520 case 2: 20521 return &v.unknownFields 20522 default: 20523 return nil 20524 } 20525 } 20526 file_lightning_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { 20527 switch v := v.(*ChannelCloseUpdate); i { 20528 case 0: 20529 return &v.state 20530 case 1: 20531 return &v.sizeCache 20532 case 2: 20533 return &v.unknownFields 20534 default: 20535 return nil 20536 } 20537 } 20538 file_lightning_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { 20539 switch v := v.(*CloseChannelRequest); i { 20540 case 0: 20541 return &v.state 20542 case 1: 20543 return &v.sizeCache 20544 case 2: 20545 return &v.unknownFields 20546 default: 20547 return nil 20548 } 20549 } 20550 file_lightning_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { 20551 switch v := v.(*CloseStatusUpdate); i { 20552 case 0: 20553 return &v.state 20554 case 1: 20555 return &v.sizeCache 20556 case 2: 20557 return &v.unknownFields 20558 default: 20559 return nil 20560 } 20561 } 20562 file_lightning_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { 20563 switch v := v.(*PendingUpdate); i { 20564 case 0: 20565 return &v.state 20566 case 1: 20567 return &v.sizeCache 20568 case 2: 20569 return &v.unknownFields 20570 default: 20571 return nil 20572 } 20573 } 20574 file_lightning_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { 20575 switch v := v.(*ReadyForPsbtFunding); i { 20576 case 0: 20577 return &v.state 20578 case 1: 20579 return &v.sizeCache 20580 case 2: 20581 return &v.unknownFields 20582 default: 20583 return nil 20584 } 20585 } 20586 file_lightning_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { 20587 switch v := v.(*BatchOpenChannelRequest); i { 20588 case 0: 20589 return &v.state 20590 case 1: 20591 return &v.sizeCache 20592 case 2: 20593 return &v.unknownFields 20594 default: 20595 return nil 20596 } 20597 } 20598 file_lightning_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { 20599 switch v := v.(*BatchOpenChannel); i { 20600 case 0: 20601 return &v.state 20602 case 1: 20603 return &v.sizeCache 20604 case 2: 20605 return &v.unknownFields 20606 default: 20607 return nil 20608 } 20609 } 20610 file_lightning_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { 20611 switch v := v.(*BatchOpenChannelResponse); i { 20612 case 0: 20613 return &v.state 20614 case 1: 20615 return &v.sizeCache 20616 case 2: 20617 return &v.unknownFields 20618 default: 20619 return nil 20620 } 20621 } 20622 file_lightning_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { 20623 switch v := v.(*OpenChannelRequest); i { 20624 case 0: 20625 return &v.state 20626 case 1: 20627 return &v.sizeCache 20628 case 2: 20629 return &v.unknownFields 20630 default: 20631 return nil 20632 } 20633 } 20634 file_lightning_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { 20635 switch v := v.(*OpenStatusUpdate); i { 20636 case 0: 20637 return &v.state 20638 case 1: 20639 return &v.sizeCache 20640 case 2: 20641 return &v.unknownFields 20642 default: 20643 return nil 20644 } 20645 } 20646 file_lightning_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { 20647 switch v := v.(*KeyLocator); i { 20648 case 0: 20649 return &v.state 20650 case 1: 20651 return &v.sizeCache 20652 case 2: 20653 return &v.unknownFields 20654 default: 20655 return nil 20656 } 20657 } 20658 file_lightning_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { 20659 switch v := v.(*KeyDescriptor); i { 20660 case 0: 20661 return &v.state 20662 case 1: 20663 return &v.sizeCache 20664 case 2: 20665 return &v.unknownFields 20666 default: 20667 return nil 20668 } 20669 } 20670 file_lightning_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { 20671 switch v := v.(*ChanPointShim); i { 20672 case 0: 20673 return &v.state 20674 case 1: 20675 return &v.sizeCache 20676 case 2: 20677 return &v.unknownFields 20678 default: 20679 return nil 20680 } 20681 } 20682 file_lightning_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { 20683 switch v := v.(*PsbtShim); i { 20684 case 0: 20685 return &v.state 20686 case 1: 20687 return &v.sizeCache 20688 case 2: 20689 return &v.unknownFields 20690 default: 20691 return nil 20692 } 20693 } 20694 file_lightning_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { 20695 switch v := v.(*FundingShim); i { 20696 case 0: 20697 return &v.state 20698 case 1: 20699 return &v.sizeCache 20700 case 2: 20701 return &v.unknownFields 20702 default: 20703 return nil 20704 } 20705 } 20706 file_lightning_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { 20707 switch v := v.(*FundingShimCancel); i { 20708 case 0: 20709 return &v.state 20710 case 1: 20711 return &v.sizeCache 20712 case 2: 20713 return &v.unknownFields 20714 default: 20715 return nil 20716 } 20717 } 20718 file_lightning_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { 20719 switch v := v.(*FundingPsbtVerify); i { 20720 case 0: 20721 return &v.state 20722 case 1: 20723 return &v.sizeCache 20724 case 2: 20725 return &v.unknownFields 20726 default: 20727 return nil 20728 } 20729 } 20730 file_lightning_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { 20731 switch v := v.(*FundingPsbtFinalize); i { 20732 case 0: 20733 return &v.state 20734 case 1: 20735 return &v.sizeCache 20736 case 2: 20737 return &v.unknownFields 20738 default: 20739 return nil 20740 } 20741 } 20742 file_lightning_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { 20743 switch v := v.(*FundingTransitionMsg); i { 20744 case 0: 20745 return &v.state 20746 case 1: 20747 return &v.sizeCache 20748 case 2: 20749 return &v.unknownFields 20750 default: 20751 return nil 20752 } 20753 } 20754 file_lightning_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { 20755 switch v := v.(*FundingStateStepResp); i { 20756 case 0: 20757 return &v.state 20758 case 1: 20759 return &v.sizeCache 20760 case 2: 20761 return &v.unknownFields 20762 default: 20763 return nil 20764 } 20765 } 20766 file_lightning_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { 20767 switch v := v.(*PendingHTLC); i { 20768 case 0: 20769 return &v.state 20770 case 1: 20771 return &v.sizeCache 20772 case 2: 20773 return &v.unknownFields 20774 default: 20775 return nil 20776 } 20777 } 20778 file_lightning_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { 20779 switch v := v.(*PendingChannelsRequest); i { 20780 case 0: 20781 return &v.state 20782 case 1: 20783 return &v.sizeCache 20784 case 2: 20785 return &v.unknownFields 20786 default: 20787 return nil 20788 } 20789 } 20790 file_lightning_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { 20791 switch v := v.(*PendingChannelsResponse); i { 20792 case 0: 20793 return &v.state 20794 case 1: 20795 return &v.sizeCache 20796 case 2: 20797 return &v.unknownFields 20798 default: 20799 return nil 20800 } 20801 } 20802 file_lightning_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { 20803 switch v := v.(*ChannelEventSubscription); i { 20804 case 0: 20805 return &v.state 20806 case 1: 20807 return &v.sizeCache 20808 case 2: 20809 return &v.unknownFields 20810 default: 20811 return nil 20812 } 20813 } 20814 file_lightning_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { 20815 switch v := v.(*ChannelEventUpdate); i { 20816 case 0: 20817 return &v.state 20818 case 1: 20819 return &v.sizeCache 20820 case 2: 20821 return &v.unknownFields 20822 default: 20823 return nil 20824 } 20825 } 20826 file_lightning_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { 20827 switch v := v.(*WalletAccountBalance); i { 20828 case 0: 20829 return &v.state 20830 case 1: 20831 return &v.sizeCache 20832 case 2: 20833 return &v.unknownFields 20834 default: 20835 return nil 20836 } 20837 } 20838 file_lightning_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { 20839 switch v := v.(*WalletBalanceRequest); i { 20840 case 0: 20841 return &v.state 20842 case 1: 20843 return &v.sizeCache 20844 case 2: 20845 return &v.unknownFields 20846 default: 20847 return nil 20848 } 20849 } 20850 file_lightning_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { 20851 switch v := v.(*WalletBalanceResponse); i { 20852 case 0: 20853 return &v.state 20854 case 1: 20855 return &v.sizeCache 20856 case 2: 20857 return &v.unknownFields 20858 default: 20859 return nil 20860 } 20861 } 20862 file_lightning_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { 20863 switch v := v.(*Amount); i { 20864 case 0: 20865 return &v.state 20866 case 1: 20867 return &v.sizeCache 20868 case 2: 20869 return &v.unknownFields 20870 default: 20871 return nil 20872 } 20873 } 20874 file_lightning_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { 20875 switch v := v.(*ChannelBalanceRequest); i { 20876 case 0: 20877 return &v.state 20878 case 1: 20879 return &v.sizeCache 20880 case 2: 20881 return &v.unknownFields 20882 default: 20883 return nil 20884 } 20885 } 20886 file_lightning_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { 20887 switch v := v.(*ChannelBalanceResponse); i { 20888 case 0: 20889 return &v.state 20890 case 1: 20891 return &v.sizeCache 20892 case 2: 20893 return &v.unknownFields 20894 default: 20895 return nil 20896 } 20897 } 20898 file_lightning_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { 20899 switch v := v.(*QueryRoutesRequest); i { 20900 case 0: 20901 return &v.state 20902 case 1: 20903 return &v.sizeCache 20904 case 2: 20905 return &v.unknownFields 20906 default: 20907 return nil 20908 } 20909 } 20910 file_lightning_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { 20911 switch v := v.(*NodePair); i { 20912 case 0: 20913 return &v.state 20914 case 1: 20915 return &v.sizeCache 20916 case 2: 20917 return &v.unknownFields 20918 default: 20919 return nil 20920 } 20921 } 20922 file_lightning_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { 20923 switch v := v.(*EdgeLocator); i { 20924 case 0: 20925 return &v.state 20926 case 1: 20927 return &v.sizeCache 20928 case 2: 20929 return &v.unknownFields 20930 default: 20931 return nil 20932 } 20933 } 20934 file_lightning_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { 20935 switch v := v.(*QueryRoutesResponse); i { 20936 case 0: 20937 return &v.state 20938 case 1: 20939 return &v.sizeCache 20940 case 2: 20941 return &v.unknownFields 20942 default: 20943 return nil 20944 } 20945 } 20946 file_lightning_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { 20947 switch v := v.(*Hop); i { 20948 case 0: 20949 return &v.state 20950 case 1: 20951 return &v.sizeCache 20952 case 2: 20953 return &v.unknownFields 20954 default: 20955 return nil 20956 } 20957 } 20958 file_lightning_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { 20959 switch v := v.(*MPPRecord); i { 20960 case 0: 20961 return &v.state 20962 case 1: 20963 return &v.sizeCache 20964 case 2: 20965 return &v.unknownFields 20966 default: 20967 return nil 20968 } 20969 } 20970 file_lightning_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { 20971 switch v := v.(*AMPRecord); i { 20972 case 0: 20973 return &v.state 20974 case 1: 20975 return &v.sizeCache 20976 case 2: 20977 return &v.unknownFields 20978 default: 20979 return nil 20980 } 20981 } 20982 file_lightning_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { 20983 switch v := v.(*Route); i { 20984 case 0: 20985 return &v.state 20986 case 1: 20987 return &v.sizeCache 20988 case 2: 20989 return &v.unknownFields 20990 default: 20991 return nil 20992 } 20993 } 20994 file_lightning_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { 20995 switch v := v.(*NodeInfoRequest); i { 20996 case 0: 20997 return &v.state 20998 case 1: 20999 return &v.sizeCache 21000 case 2: 21001 return &v.unknownFields 21002 default: 21003 return nil 21004 } 21005 } 21006 file_lightning_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { 21007 switch v := v.(*NodeInfo); i { 21008 case 0: 21009 return &v.state 21010 case 1: 21011 return &v.sizeCache 21012 case 2: 21013 return &v.unknownFields 21014 default: 21015 return nil 21016 } 21017 } 21018 file_lightning_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { 21019 switch v := v.(*LightningNode); i { 21020 case 0: 21021 return &v.state 21022 case 1: 21023 return &v.sizeCache 21024 case 2: 21025 return &v.unknownFields 21026 default: 21027 return nil 21028 } 21029 } 21030 file_lightning_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { 21031 switch v := v.(*NodeAddress); i { 21032 case 0: 21033 return &v.state 21034 case 1: 21035 return &v.sizeCache 21036 case 2: 21037 return &v.unknownFields 21038 default: 21039 return nil 21040 } 21041 } 21042 file_lightning_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { 21043 switch v := v.(*RoutingPolicy); i { 21044 case 0: 21045 return &v.state 21046 case 1: 21047 return &v.sizeCache 21048 case 2: 21049 return &v.unknownFields 21050 default: 21051 return nil 21052 } 21053 } 21054 file_lightning_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { 21055 switch v := v.(*EnforceNodePingRequest); i { 21056 case 0: 21057 return &v.state 21058 case 1: 21059 return &v.sizeCache 21060 case 2: 21061 return &v.unknownFields 21062 default: 21063 return nil 21064 } 21065 } 21066 file_lightning_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { 21067 switch v := v.(*EnforceNodePingResponse); i { 21068 case 0: 21069 return &v.state 21070 case 1: 21071 return &v.sizeCache 21072 case 2: 21073 return &v.unknownFields 21074 default: 21075 return nil 21076 } 21077 } 21078 file_lightning_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { 21079 switch v := v.(*ChannelEdge); i { 21080 case 0: 21081 return &v.state 21082 case 1: 21083 return &v.sizeCache 21084 case 2: 21085 return &v.unknownFields 21086 default: 21087 return nil 21088 } 21089 } 21090 file_lightning_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { 21091 switch v := v.(*ChannelGraphRequest); i { 21092 case 0: 21093 return &v.state 21094 case 1: 21095 return &v.sizeCache 21096 case 2: 21097 return &v.unknownFields 21098 default: 21099 return nil 21100 } 21101 } 21102 file_lightning_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { 21103 switch v := v.(*ChannelGraph); i { 21104 case 0: 21105 return &v.state 21106 case 1: 21107 return &v.sizeCache 21108 case 2: 21109 return &v.unknownFields 21110 default: 21111 return nil 21112 } 21113 } 21114 file_lightning_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { 21115 switch v := v.(*NodeMetricsRequest); i { 21116 case 0: 21117 return &v.state 21118 case 1: 21119 return &v.sizeCache 21120 case 2: 21121 return &v.unknownFields 21122 default: 21123 return nil 21124 } 21125 } 21126 file_lightning_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { 21127 switch v := v.(*NodeMetricsResponse); i { 21128 case 0: 21129 return &v.state 21130 case 1: 21131 return &v.sizeCache 21132 case 2: 21133 return &v.unknownFields 21134 default: 21135 return nil 21136 } 21137 } 21138 file_lightning_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { 21139 switch v := v.(*FloatMetric); i { 21140 case 0: 21141 return &v.state 21142 case 1: 21143 return &v.sizeCache 21144 case 2: 21145 return &v.unknownFields 21146 default: 21147 return nil 21148 } 21149 } 21150 file_lightning_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { 21151 switch v := v.(*ChanInfoRequest); i { 21152 case 0: 21153 return &v.state 21154 case 1: 21155 return &v.sizeCache 21156 case 2: 21157 return &v.unknownFields 21158 default: 21159 return nil 21160 } 21161 } 21162 file_lightning_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { 21163 switch v := v.(*NetworkInfoRequest); i { 21164 case 0: 21165 return &v.state 21166 case 1: 21167 return &v.sizeCache 21168 case 2: 21169 return &v.unknownFields 21170 default: 21171 return nil 21172 } 21173 } 21174 file_lightning_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { 21175 switch v := v.(*NetworkInfo); i { 21176 case 0: 21177 return &v.state 21178 case 1: 21179 return &v.sizeCache 21180 case 2: 21181 return &v.unknownFields 21182 default: 21183 return nil 21184 } 21185 } 21186 file_lightning_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { 21187 switch v := v.(*StopRequest); i { 21188 case 0: 21189 return &v.state 21190 case 1: 21191 return &v.sizeCache 21192 case 2: 21193 return &v.unknownFields 21194 default: 21195 return nil 21196 } 21197 } 21198 file_lightning_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { 21199 switch v := v.(*StopResponse); i { 21200 case 0: 21201 return &v.state 21202 case 1: 21203 return &v.sizeCache 21204 case 2: 21205 return &v.unknownFields 21206 default: 21207 return nil 21208 } 21209 } 21210 file_lightning_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { 21211 switch v := v.(*GraphTopologySubscription); i { 21212 case 0: 21213 return &v.state 21214 case 1: 21215 return &v.sizeCache 21216 case 2: 21217 return &v.unknownFields 21218 default: 21219 return nil 21220 } 21221 } 21222 file_lightning_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { 21223 switch v := v.(*GraphTopologyUpdate); i { 21224 case 0: 21225 return &v.state 21226 case 1: 21227 return &v.sizeCache 21228 case 2: 21229 return &v.unknownFields 21230 default: 21231 return nil 21232 } 21233 } 21234 file_lightning_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { 21235 switch v := v.(*NodeUpdate); i { 21236 case 0: 21237 return &v.state 21238 case 1: 21239 return &v.sizeCache 21240 case 2: 21241 return &v.unknownFields 21242 default: 21243 return nil 21244 } 21245 } 21246 file_lightning_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { 21247 switch v := v.(*ChannelEdgeUpdate); i { 21248 case 0: 21249 return &v.state 21250 case 1: 21251 return &v.sizeCache 21252 case 2: 21253 return &v.unknownFields 21254 default: 21255 return nil 21256 } 21257 } 21258 file_lightning_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { 21259 switch v := v.(*ClosedChannelUpdate); i { 21260 case 0: 21261 return &v.state 21262 case 1: 21263 return &v.sizeCache 21264 case 2: 21265 return &v.unknownFields 21266 default: 21267 return nil 21268 } 21269 } 21270 file_lightning_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { 21271 switch v := v.(*HopHint); i { 21272 case 0: 21273 return &v.state 21274 case 1: 21275 return &v.sizeCache 21276 case 2: 21277 return &v.unknownFields 21278 default: 21279 return nil 21280 } 21281 } 21282 file_lightning_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { 21283 switch v := v.(*SetID); i { 21284 case 0: 21285 return &v.state 21286 case 1: 21287 return &v.sizeCache 21288 case 2: 21289 return &v.unknownFields 21290 default: 21291 return nil 21292 } 21293 } 21294 file_lightning_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { 21295 switch v := v.(*RouteHint); i { 21296 case 0: 21297 return &v.state 21298 case 1: 21299 return &v.sizeCache 21300 case 2: 21301 return &v.unknownFields 21302 default: 21303 return nil 21304 } 21305 } 21306 file_lightning_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { 21307 switch v := v.(*AMPInvoiceState); i { 21308 case 0: 21309 return &v.state 21310 case 1: 21311 return &v.sizeCache 21312 case 2: 21313 return &v.unknownFields 21314 default: 21315 return nil 21316 } 21317 } 21318 file_lightning_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { 21319 switch v := v.(*Invoice); i { 21320 case 0: 21321 return &v.state 21322 case 1: 21323 return &v.sizeCache 21324 case 2: 21325 return &v.unknownFields 21326 default: 21327 return nil 21328 } 21329 } 21330 file_lightning_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { 21331 switch v := v.(*InvoiceHTLC); i { 21332 case 0: 21333 return &v.state 21334 case 1: 21335 return &v.sizeCache 21336 case 2: 21337 return &v.unknownFields 21338 default: 21339 return nil 21340 } 21341 } 21342 file_lightning_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { 21343 switch v := v.(*AMP); i { 21344 case 0: 21345 return &v.state 21346 case 1: 21347 return &v.sizeCache 21348 case 2: 21349 return &v.unknownFields 21350 default: 21351 return nil 21352 } 21353 } 21354 file_lightning_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { 21355 switch v := v.(*AddInvoiceResponse); i { 21356 case 0: 21357 return &v.state 21358 case 1: 21359 return &v.sizeCache 21360 case 2: 21361 return &v.unknownFields 21362 default: 21363 return nil 21364 } 21365 } 21366 file_lightning_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { 21367 switch v := v.(*PaymentHash); i { 21368 case 0: 21369 return &v.state 21370 case 1: 21371 return &v.sizeCache 21372 case 2: 21373 return &v.unknownFields 21374 default: 21375 return nil 21376 } 21377 } 21378 file_lightning_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { 21379 switch v := v.(*ListInvoiceRequest); i { 21380 case 0: 21381 return &v.state 21382 case 1: 21383 return &v.sizeCache 21384 case 2: 21385 return &v.unknownFields 21386 default: 21387 return nil 21388 } 21389 } 21390 file_lightning_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { 21391 switch v := v.(*ListInvoiceResponse); i { 21392 case 0: 21393 return &v.state 21394 case 1: 21395 return &v.sizeCache 21396 case 2: 21397 return &v.unknownFields 21398 default: 21399 return nil 21400 } 21401 } 21402 file_lightning_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { 21403 switch v := v.(*InvoiceSubscription); i { 21404 case 0: 21405 return &v.state 21406 case 1: 21407 return &v.sizeCache 21408 case 2: 21409 return &v.unknownFields 21410 default: 21411 return nil 21412 } 21413 } 21414 file_lightning_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { 21415 switch v := v.(*Payment); i { 21416 case 0: 21417 return &v.state 21418 case 1: 21419 return &v.sizeCache 21420 case 2: 21421 return &v.unknownFields 21422 default: 21423 return nil 21424 } 21425 } 21426 file_lightning_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { 21427 switch v := v.(*HTLCAttempt); i { 21428 case 0: 21429 return &v.state 21430 case 1: 21431 return &v.sizeCache 21432 case 2: 21433 return &v.unknownFields 21434 default: 21435 return nil 21436 } 21437 } 21438 file_lightning_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { 21439 switch v := v.(*ListPaymentsRequest); i { 21440 case 0: 21441 return &v.state 21442 case 1: 21443 return &v.sizeCache 21444 case 2: 21445 return &v.unknownFields 21446 default: 21447 return nil 21448 } 21449 } 21450 file_lightning_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { 21451 switch v := v.(*ListPaymentsResponse); i { 21452 case 0: 21453 return &v.state 21454 case 1: 21455 return &v.sizeCache 21456 case 2: 21457 return &v.unknownFields 21458 default: 21459 return nil 21460 } 21461 } 21462 file_lightning_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { 21463 switch v := v.(*DeletePaymentRequest); i { 21464 case 0: 21465 return &v.state 21466 case 1: 21467 return &v.sizeCache 21468 case 2: 21469 return &v.unknownFields 21470 default: 21471 return nil 21472 } 21473 } 21474 file_lightning_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { 21475 switch v := v.(*DeleteAllPaymentsRequest); i { 21476 case 0: 21477 return &v.state 21478 case 1: 21479 return &v.sizeCache 21480 case 2: 21481 return &v.unknownFields 21482 default: 21483 return nil 21484 } 21485 } 21486 file_lightning_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { 21487 switch v := v.(*DeletePaymentResponse); i { 21488 case 0: 21489 return &v.state 21490 case 1: 21491 return &v.sizeCache 21492 case 2: 21493 return &v.unknownFields 21494 default: 21495 return nil 21496 } 21497 } 21498 file_lightning_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { 21499 switch v := v.(*DeleteAllPaymentsResponse); i { 21500 case 0: 21501 return &v.state 21502 case 1: 21503 return &v.sizeCache 21504 case 2: 21505 return &v.unknownFields 21506 default: 21507 return nil 21508 } 21509 } 21510 file_lightning_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { 21511 switch v := v.(*AbandonChannelRequest); i { 21512 case 0: 21513 return &v.state 21514 case 1: 21515 return &v.sizeCache 21516 case 2: 21517 return &v.unknownFields 21518 default: 21519 return nil 21520 } 21521 } 21522 file_lightning_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { 21523 switch v := v.(*AbandonChannelResponse); i { 21524 case 0: 21525 return &v.state 21526 case 1: 21527 return &v.sizeCache 21528 case 2: 21529 return &v.unknownFields 21530 default: 21531 return nil 21532 } 21533 } 21534 file_lightning_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { 21535 switch v := v.(*DebugLevelRequest); i { 21536 case 0: 21537 return &v.state 21538 case 1: 21539 return &v.sizeCache 21540 case 2: 21541 return &v.unknownFields 21542 default: 21543 return nil 21544 } 21545 } 21546 file_lightning_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { 21547 switch v := v.(*DebugLevelResponse); i { 21548 case 0: 21549 return &v.state 21550 case 1: 21551 return &v.sizeCache 21552 case 2: 21553 return &v.unknownFields 21554 default: 21555 return nil 21556 } 21557 } 21558 file_lightning_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { 21559 switch v := v.(*CalcPaymentStatsRequest); i { 21560 case 0: 21561 return &v.state 21562 case 1: 21563 return &v.sizeCache 21564 case 2: 21565 return &v.unknownFields 21566 default: 21567 return nil 21568 } 21569 } 21570 file_lightning_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { 21571 switch v := v.(*CalcPaymentStatsResponse); i { 21572 case 0: 21573 return &v.state 21574 case 1: 21575 return &v.sizeCache 21576 case 2: 21577 return &v.unknownFields 21578 default: 21579 return nil 21580 } 21581 } 21582 file_lightning_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { 21583 switch v := v.(*PayReqString); i { 21584 case 0: 21585 return &v.state 21586 case 1: 21587 return &v.sizeCache 21588 case 2: 21589 return &v.unknownFields 21590 default: 21591 return nil 21592 } 21593 } 21594 file_lightning_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { 21595 switch v := v.(*PayReq); i { 21596 case 0: 21597 return &v.state 21598 case 1: 21599 return &v.sizeCache 21600 case 2: 21601 return &v.unknownFields 21602 default: 21603 return nil 21604 } 21605 } 21606 file_lightning_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { 21607 switch v := v.(*Feature); i { 21608 case 0: 21609 return &v.state 21610 case 1: 21611 return &v.sizeCache 21612 case 2: 21613 return &v.unknownFields 21614 default: 21615 return nil 21616 } 21617 } 21618 file_lightning_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { 21619 switch v := v.(*FeeReportRequest); i { 21620 case 0: 21621 return &v.state 21622 case 1: 21623 return &v.sizeCache 21624 case 2: 21625 return &v.unknownFields 21626 default: 21627 return nil 21628 } 21629 } 21630 file_lightning_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { 21631 switch v := v.(*ChannelFeeReport); i { 21632 case 0: 21633 return &v.state 21634 case 1: 21635 return &v.sizeCache 21636 case 2: 21637 return &v.unknownFields 21638 default: 21639 return nil 21640 } 21641 } 21642 file_lightning_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { 21643 switch v := v.(*FeeReportResponse); i { 21644 case 0: 21645 return &v.state 21646 case 1: 21647 return &v.sizeCache 21648 case 2: 21649 return &v.unknownFields 21650 default: 21651 return nil 21652 } 21653 } 21654 file_lightning_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { 21655 switch v := v.(*PolicyUpdateRequest); i { 21656 case 0: 21657 return &v.state 21658 case 1: 21659 return &v.sizeCache 21660 case 2: 21661 return &v.unknownFields 21662 default: 21663 return nil 21664 } 21665 } 21666 file_lightning_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { 21667 switch v := v.(*FailedUpdate); i { 21668 case 0: 21669 return &v.state 21670 case 1: 21671 return &v.sizeCache 21672 case 2: 21673 return &v.unknownFields 21674 default: 21675 return nil 21676 } 21677 } 21678 file_lightning_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { 21679 switch v := v.(*PolicyUpdateResponse); i { 21680 case 0: 21681 return &v.state 21682 case 1: 21683 return &v.sizeCache 21684 case 2: 21685 return &v.unknownFields 21686 default: 21687 return nil 21688 } 21689 } 21690 file_lightning_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { 21691 switch v := v.(*ForwardingHistoryRequest); i { 21692 case 0: 21693 return &v.state 21694 case 1: 21695 return &v.sizeCache 21696 case 2: 21697 return &v.unknownFields 21698 default: 21699 return nil 21700 } 21701 } 21702 file_lightning_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { 21703 switch v := v.(*ForwardingEvent); i { 21704 case 0: 21705 return &v.state 21706 case 1: 21707 return &v.sizeCache 21708 case 2: 21709 return &v.unknownFields 21710 default: 21711 return nil 21712 } 21713 } 21714 file_lightning_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { 21715 switch v := v.(*ForwardingHistoryResponse); i { 21716 case 0: 21717 return &v.state 21718 case 1: 21719 return &v.sizeCache 21720 case 2: 21721 return &v.unknownFields 21722 default: 21723 return nil 21724 } 21725 } 21726 file_lightning_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { 21727 switch v := v.(*ExportChannelBackupRequest); i { 21728 case 0: 21729 return &v.state 21730 case 1: 21731 return &v.sizeCache 21732 case 2: 21733 return &v.unknownFields 21734 default: 21735 return nil 21736 } 21737 } 21738 file_lightning_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { 21739 switch v := v.(*ChannelBackup); i { 21740 case 0: 21741 return &v.state 21742 case 1: 21743 return &v.sizeCache 21744 case 2: 21745 return &v.unknownFields 21746 default: 21747 return nil 21748 } 21749 } 21750 file_lightning_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { 21751 switch v := v.(*MultiChanBackup); i { 21752 case 0: 21753 return &v.state 21754 case 1: 21755 return &v.sizeCache 21756 case 2: 21757 return &v.unknownFields 21758 default: 21759 return nil 21760 } 21761 } 21762 file_lightning_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { 21763 switch v := v.(*ChanBackupExportRequest); i { 21764 case 0: 21765 return &v.state 21766 case 1: 21767 return &v.sizeCache 21768 case 2: 21769 return &v.unknownFields 21770 default: 21771 return nil 21772 } 21773 } 21774 file_lightning_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { 21775 switch v := v.(*ChanBackupSnapshot); i { 21776 case 0: 21777 return &v.state 21778 case 1: 21779 return &v.sizeCache 21780 case 2: 21781 return &v.unknownFields 21782 default: 21783 return nil 21784 } 21785 } 21786 file_lightning_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { 21787 switch v := v.(*ChannelBackups); i { 21788 case 0: 21789 return &v.state 21790 case 1: 21791 return &v.sizeCache 21792 case 2: 21793 return &v.unknownFields 21794 default: 21795 return nil 21796 } 21797 } 21798 file_lightning_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { 21799 switch v := v.(*RestoreChanBackupRequest); i { 21800 case 0: 21801 return &v.state 21802 case 1: 21803 return &v.sizeCache 21804 case 2: 21805 return &v.unknownFields 21806 default: 21807 return nil 21808 } 21809 } 21810 file_lightning_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { 21811 switch v := v.(*RestoreBackupResponse); i { 21812 case 0: 21813 return &v.state 21814 case 1: 21815 return &v.sizeCache 21816 case 2: 21817 return &v.unknownFields 21818 default: 21819 return nil 21820 } 21821 } 21822 file_lightning_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { 21823 switch v := v.(*ChannelBackupSubscription); i { 21824 case 0: 21825 return &v.state 21826 case 1: 21827 return &v.sizeCache 21828 case 2: 21829 return &v.unknownFields 21830 default: 21831 return nil 21832 } 21833 } 21834 file_lightning_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { 21835 switch v := v.(*VerifyChanBackupResponse); i { 21836 case 0: 21837 return &v.state 21838 case 1: 21839 return &v.sizeCache 21840 case 2: 21841 return &v.unknownFields 21842 default: 21843 return nil 21844 } 21845 } 21846 file_lightning_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { 21847 switch v := v.(*MacaroonPermission); i { 21848 case 0: 21849 return &v.state 21850 case 1: 21851 return &v.sizeCache 21852 case 2: 21853 return &v.unknownFields 21854 default: 21855 return nil 21856 } 21857 } 21858 file_lightning_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { 21859 switch v := v.(*BakeMacaroonRequest); i { 21860 case 0: 21861 return &v.state 21862 case 1: 21863 return &v.sizeCache 21864 case 2: 21865 return &v.unknownFields 21866 default: 21867 return nil 21868 } 21869 } 21870 file_lightning_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { 21871 switch v := v.(*BakeMacaroonResponse); i { 21872 case 0: 21873 return &v.state 21874 case 1: 21875 return &v.sizeCache 21876 case 2: 21877 return &v.unknownFields 21878 default: 21879 return nil 21880 } 21881 } 21882 file_lightning_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { 21883 switch v := v.(*ListMacaroonIDsRequest); i { 21884 case 0: 21885 return &v.state 21886 case 1: 21887 return &v.sizeCache 21888 case 2: 21889 return &v.unknownFields 21890 default: 21891 return nil 21892 } 21893 } 21894 file_lightning_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { 21895 switch v := v.(*ListMacaroonIDsResponse); i { 21896 case 0: 21897 return &v.state 21898 case 1: 21899 return &v.sizeCache 21900 case 2: 21901 return &v.unknownFields 21902 default: 21903 return nil 21904 } 21905 } 21906 file_lightning_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { 21907 switch v := v.(*DeleteMacaroonIDRequest); i { 21908 case 0: 21909 return &v.state 21910 case 1: 21911 return &v.sizeCache 21912 case 2: 21913 return &v.unknownFields 21914 default: 21915 return nil 21916 } 21917 } 21918 file_lightning_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { 21919 switch v := v.(*DeleteMacaroonIDResponse); i { 21920 case 0: 21921 return &v.state 21922 case 1: 21923 return &v.sizeCache 21924 case 2: 21925 return &v.unknownFields 21926 default: 21927 return nil 21928 } 21929 } 21930 file_lightning_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { 21931 switch v := v.(*MacaroonPermissionList); i { 21932 case 0: 21933 return &v.state 21934 case 1: 21935 return &v.sizeCache 21936 case 2: 21937 return &v.unknownFields 21938 default: 21939 return nil 21940 } 21941 } 21942 file_lightning_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { 21943 switch v := v.(*ListPermissionsRequest); i { 21944 case 0: 21945 return &v.state 21946 case 1: 21947 return &v.sizeCache 21948 case 2: 21949 return &v.unknownFields 21950 default: 21951 return nil 21952 } 21953 } 21954 file_lightning_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { 21955 switch v := v.(*ListPermissionsResponse); i { 21956 case 0: 21957 return &v.state 21958 case 1: 21959 return &v.sizeCache 21960 case 2: 21961 return &v.unknownFields 21962 default: 21963 return nil 21964 } 21965 } 21966 file_lightning_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { 21967 switch v := v.(*Failure); i { 21968 case 0: 21969 return &v.state 21970 case 1: 21971 return &v.sizeCache 21972 case 2: 21973 return &v.unknownFields 21974 default: 21975 return nil 21976 } 21977 } 21978 file_lightning_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { 21979 switch v := v.(*ChannelUpdate); i { 21980 case 0: 21981 return &v.state 21982 case 1: 21983 return &v.sizeCache 21984 case 2: 21985 return &v.unknownFields 21986 default: 21987 return nil 21988 } 21989 } 21990 file_lightning_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { 21991 switch v := v.(*MacaroonId); i { 21992 case 0: 21993 return &v.state 21994 case 1: 21995 return &v.sizeCache 21996 case 2: 21997 return &v.unknownFields 21998 default: 21999 return nil 22000 } 22001 } 22002 file_lightning_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { 22003 switch v := v.(*Op); i { 22004 case 0: 22005 return &v.state 22006 case 1: 22007 return &v.sizeCache 22008 case 2: 22009 return &v.unknownFields 22010 default: 22011 return nil 22012 } 22013 } 22014 file_lightning_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { 22015 switch v := v.(*CheckMacPermRequest); i { 22016 case 0: 22017 return &v.state 22018 case 1: 22019 return &v.sizeCache 22020 case 2: 22021 return &v.unknownFields 22022 default: 22023 return nil 22024 } 22025 } 22026 file_lightning_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { 22027 switch v := v.(*CheckMacPermResponse); i { 22028 case 0: 22029 return &v.state 22030 case 1: 22031 return &v.sizeCache 22032 case 2: 22033 return &v.unknownFields 22034 default: 22035 return nil 22036 } 22037 } 22038 file_lightning_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { 22039 switch v := v.(*RPCMiddlewareRequest); i { 22040 case 0: 22041 return &v.state 22042 case 1: 22043 return &v.sizeCache 22044 case 2: 22045 return &v.unknownFields 22046 default: 22047 return nil 22048 } 22049 } 22050 file_lightning_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { 22051 switch v := v.(*StreamAuth); i { 22052 case 0: 22053 return &v.state 22054 case 1: 22055 return &v.sizeCache 22056 case 2: 22057 return &v.unknownFields 22058 default: 22059 return nil 22060 } 22061 } 22062 file_lightning_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { 22063 switch v := v.(*RPCMessage); i { 22064 case 0: 22065 return &v.state 22066 case 1: 22067 return &v.sizeCache 22068 case 2: 22069 return &v.unknownFields 22070 default: 22071 return nil 22072 } 22073 } 22074 file_lightning_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { 22075 switch v := v.(*RPCMiddlewareResponse); i { 22076 case 0: 22077 return &v.state 22078 case 1: 22079 return &v.sizeCache 22080 case 2: 22081 return &v.unknownFields 22082 default: 22083 return nil 22084 } 22085 } 22086 file_lightning_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { 22087 switch v := v.(*MiddlewareRegistration); i { 22088 case 0: 22089 return &v.state 22090 case 1: 22091 return &v.sizeCache 22092 case 2: 22093 return &v.unknownFields 22094 default: 22095 return nil 22096 } 22097 } 22098 file_lightning_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { 22099 switch v := v.(*InterceptFeedback); i { 22100 case 0: 22101 return &v.state 22102 case 1: 22103 return &v.sizeCache 22104 case 2: 22105 return &v.unknownFields 22106 default: 22107 return nil 22108 } 22109 } 22110 file_lightning_proto_msgTypes[194].Exporter = func(v interface{}, i int) interface{} { 22111 switch v := v.(*PendingChannelsResponse_PendingChannel); i { 22112 case 0: 22113 return &v.state 22114 case 1: 22115 return &v.sizeCache 22116 case 2: 22117 return &v.unknownFields 22118 default: 22119 return nil 22120 } 22121 } 22122 file_lightning_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { 22123 switch v := v.(*PendingChannelsResponse_PendingOpenChannel); i { 22124 case 0: 22125 return &v.state 22126 case 1: 22127 return &v.sizeCache 22128 case 2: 22129 return &v.unknownFields 22130 default: 22131 return nil 22132 } 22133 } 22134 file_lightning_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { 22135 switch v := v.(*PendingChannelsResponse_WaitingCloseChannel); i { 22136 case 0: 22137 return &v.state 22138 case 1: 22139 return &v.sizeCache 22140 case 2: 22141 return &v.unknownFields 22142 default: 22143 return nil 22144 } 22145 } 22146 file_lightning_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { 22147 switch v := v.(*PendingChannelsResponse_Commitments); i { 22148 case 0: 22149 return &v.state 22150 case 1: 22151 return &v.sizeCache 22152 case 2: 22153 return &v.unknownFields 22154 default: 22155 return nil 22156 } 22157 } 22158 file_lightning_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { 22159 switch v := v.(*PendingChannelsResponse_ClosedChannel); i { 22160 case 0: 22161 return &v.state 22162 case 1: 22163 return &v.sizeCache 22164 case 2: 22165 return &v.unknownFields 22166 default: 22167 return nil 22168 } 22169 } 22170 file_lightning_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { 22171 switch v := v.(*PendingChannelsResponse_ForceClosedChannel); i { 22172 case 0: 22173 return &v.state 22174 case 1: 22175 return &v.sizeCache 22176 case 2: 22177 return &v.unknownFields 22178 default: 22179 return nil 22180 } 22181 } 22182 } 22183 file_lightning_proto_msgTypes[8].OneofWrappers = []interface{}{ 22184 (*FeeLimit_Fixed)(nil), 22185 (*FeeLimit_FixedMAtoms)(nil), 22186 (*FeeLimit_Percent)(nil), 22187 } 22188 file_lightning_proto_msgTypes[14].OneofWrappers = []interface{}{ 22189 (*ChannelPoint_FundingTxidBytes)(nil), 22190 (*ChannelPoint_FundingTxidStr)(nil), 22191 } 22192 file_lightning_proto_msgTypes[59].OneofWrappers = []interface{}{ 22193 (*CloseStatusUpdate_ClosePending)(nil), 22194 (*CloseStatusUpdate_ChanClose)(nil), 22195 } 22196 file_lightning_proto_msgTypes[66].OneofWrappers = []interface{}{ 22197 (*OpenStatusUpdate_ChanPending)(nil), 22198 (*OpenStatusUpdate_ChanOpen)(nil), 22199 (*OpenStatusUpdate_PsbtFund)(nil), 22200 } 22201 file_lightning_proto_msgTypes[71].OneofWrappers = []interface{}{ 22202 (*FundingShim_ChanPointShim)(nil), 22203 (*FundingShim_PsbtShim)(nil), 22204 } 22205 file_lightning_proto_msgTypes[75].OneofWrappers = []interface{}{ 22206 (*FundingTransitionMsg_ShimRegister)(nil), 22207 (*FundingTransitionMsg_ShimCancel)(nil), 22208 (*FundingTransitionMsg_PsbtVerify)(nil), 22209 (*FundingTransitionMsg_PsbtFinalize)(nil), 22210 } 22211 file_lightning_proto_msgTypes[81].OneofWrappers = []interface{}{ 22212 (*ChannelEventUpdate_OpenChannel)(nil), 22213 (*ChannelEventUpdate_ClosedChannel)(nil), 22214 (*ChannelEventUpdate_ActiveChannel)(nil), 22215 (*ChannelEventUpdate_InactiveChannel)(nil), 22216 (*ChannelEventUpdate_PendingOpenChannel)(nil), 22217 (*ChannelEventUpdate_FullyResolvedChannel)(nil), 22218 } 22219 file_lightning_proto_msgTypes[151].OneofWrappers = []interface{}{ 22220 (*PolicyUpdateRequest_Global)(nil), 22221 (*PolicyUpdateRequest_ChanPoint)(nil), 22222 } 22223 file_lightning_proto_msgTypes[163].OneofWrappers = []interface{}{ 22224 (*RestoreChanBackupRequest_ChanBackups)(nil), 22225 (*RestoreChanBackupRequest_MultiChanBackup)(nil), 22226 } 22227 file_lightning_proto_msgTypes[183].OneofWrappers = []interface{}{ 22228 (*RPCMiddlewareRequest_StreamAuth)(nil), 22229 (*RPCMiddlewareRequest_Request)(nil), 22230 (*RPCMiddlewareRequest_Response)(nil), 22231 } 22232 file_lightning_proto_msgTypes[186].OneofWrappers = []interface{}{ 22233 (*RPCMiddlewareResponse_Register)(nil), 22234 (*RPCMiddlewareResponse_Feedback)(nil), 22235 } 22236 type x struct{} 22237 out := protoimpl.TypeBuilder{ 22238 File: protoimpl.DescBuilder{ 22239 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 22240 RawDescriptor: file_lightning_proto_rawDesc, 22241 NumEnums: 19, 22242 NumMessages: 211, 22243 NumExtensions: 0, 22244 NumServices: 1, 22245 }, 22246 GoTypes: file_lightning_proto_goTypes, 22247 DependencyIndexes: file_lightning_proto_depIdxs, 22248 EnumInfos: file_lightning_proto_enumTypes, 22249 MessageInfos: file_lightning_proto_msgTypes, 22250 }.Build() 22251 File_lightning_proto = out.File 22252 file_lightning_proto_rawDesc = nil 22253 file_lightning_proto_goTypes = nil 22254 file_lightning_proto_depIdxs = nil 22255 } 22256 22257 // Reference imports to suppress errors if they are not otherwise used. 22258 var _ context.Context 22259 var _ grpc.ClientConnInterface 22260 22261 // This is a compile-time assertion to ensure that this generated file 22262 // is compatible with the grpc package it is being compiled against. 22263 const _ = grpc.SupportPackageIsVersion6 22264 22265 // LightningClient is the client API for Lightning service. 22266 // 22267 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 22268 type LightningClient interface { 22269 // lncli: `walletbalance` 22270 // WalletBalance returns total unspent outputs(confirmed and unconfirmed), all 22271 // confirmed unspent outputs and all unconfirmed unspent outputs under control 22272 // of the wallet. 22273 WalletBalance(ctx context.Context, in *WalletBalanceRequest, opts ...grpc.CallOption) (*WalletBalanceResponse, error) 22274 // lncli: `channelbalance` 22275 // ChannelBalance returns a report on the total funds across all open channels, 22276 // categorized in local/remote, pending local/remote and unsettled local/remote 22277 // balances. 22278 ChannelBalance(ctx context.Context, in *ChannelBalanceRequest, opts ...grpc.CallOption) (*ChannelBalanceResponse, error) 22279 // lncli: `listchaintxns` 22280 // GetTransactions returns a list describing all the known transactions 22281 // relevant to the wallet. 22282 GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (*TransactionDetails, error) 22283 // lncli: `estimatefee` 22284 // EstimateFee asks the chain backend to estimate the fee rate and total fees 22285 // for a transaction that pays to multiple specified outputs. 22286 // 22287 // When using REST, the `AddrToAmount` map type can be set by appending 22288 // `&AddrToAmount[<address>]=<amount_to_send>` to the URL. Unfortunately this 22289 // map type doesn't appear in the REST API documentation because of a bug in 22290 // the grpc-gateway library. 22291 EstimateFee(ctx context.Context, in *EstimateFeeRequest, opts ...grpc.CallOption) (*EstimateFeeResponse, error) 22292 // lncli: `sendcoins` 22293 // SendCoins executes a request to send coins to a particular address. Unlike 22294 // SendMany, this RPC call only allows creating a single output at a time. If 22295 // neither target_conf, or atoms_per_byte are set, then the internal wallet 22296 // will consult its fee model to determine a fee for the default confirmation 22297 // target. 22298 SendCoins(ctx context.Context, in *SendCoinsRequest, opts ...grpc.CallOption) (*SendCoinsResponse, error) 22299 // lncli: `listunspent` 22300 // Deprecated, use walletrpc.ListUnspent instead. 22301 // 22302 // ListUnspent returns a list of all utxos spendable by the wallet with a 22303 // number of confirmations between the specified minimum and maximum. 22304 ListUnspent(ctx context.Context, in *ListUnspentRequest, opts ...grpc.CallOption) (*ListUnspentResponse, error) 22305 // SubscribeTransactions creates a uni-directional stream from the server to 22306 // the client in which any newly discovered transactions relevant to the 22307 // wallet are sent over. 22308 SubscribeTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (Lightning_SubscribeTransactionsClient, error) 22309 // lncli: `sendmany` 22310 // SendMany handles a request for a transaction that creates multiple specified 22311 // outputs in parallel. If neither target_conf, or atoms_per_byte are set, then 22312 // the internal wallet will consult its fee model to determine a fee for the 22313 // default confirmation target. 22314 SendMany(ctx context.Context, in *SendManyRequest, opts ...grpc.CallOption) (*SendManyResponse, error) 22315 // lncli: `newaddress` 22316 // NewAddress creates a new address under control of the local wallet. 22317 NewAddress(ctx context.Context, in *NewAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error) 22318 // lncli: `signmessage` 22319 // SignMessage signs a message with this node's private key. The returned 22320 // signature string is `zbase32` encoded and pubkey recoverable, meaning that 22321 // only the message digest and signature are needed for verification. 22322 SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error) 22323 // lncli: `verifymessage` 22324 // VerifyMessage verifies a signature over a msg. The signature must be 22325 // zbase32 encoded and signed by an active node in the resident node's 22326 // channel database. In addition to returning the validity of the signature, 22327 // VerifyMessage also returns the recovered pubkey from the signature. 22328 VerifyMessage(ctx context.Context, in *VerifyMessageRequest, opts ...grpc.CallOption) (*VerifyMessageResponse, error) 22329 // lncli: `connect` 22330 // ConnectPeer attempts to establish a connection to a remote peer. This is at 22331 // the networking level, and is used for communication between nodes. This is 22332 // distinct from establishing a channel with a peer. 22333 ConnectPeer(ctx context.Context, in *ConnectPeerRequest, opts ...grpc.CallOption) (*ConnectPeerResponse, error) 22334 // lncli: `disconnect` 22335 // DisconnectPeer attempts to disconnect one peer from another identified by a 22336 // given pubKey. In the case that we currently have a pending or active channel 22337 // with the target peer, then this action will be not be allowed. 22338 DisconnectPeer(ctx context.Context, in *DisconnectPeerRequest, opts ...grpc.CallOption) (*DisconnectPeerResponse, error) 22339 // lncli: `listpeers` 22340 // ListPeers returns a verbose listing of all currently active peers. 22341 ListPeers(ctx context.Context, in *ListPeersRequest, opts ...grpc.CallOption) (*ListPeersResponse, error) 22342 // SubscribePeerEvents creates a uni-directional stream from the server to 22343 // the client in which any events relevant to the state of peers are sent 22344 // over. Events include peers going online and offline. 22345 SubscribePeerEvents(ctx context.Context, in *PeerEventSubscription, opts ...grpc.CallOption) (Lightning_SubscribePeerEventsClient, error) 22346 // lncli: `getinfo` 22347 // GetInfo returns general information concerning the lightning node including 22348 // it's identity pubkey, alias, the chains it is connected to, and information 22349 // concerning the number of open+pending channels. 22350 GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error) 22351 // * lncli: `getrecoveryinfo` 22352 // GetRecoveryInfo returns information concerning the recovery mode including 22353 // whether it's in a recovery mode, whether the recovery is finished, and the 22354 // progress made so far. 22355 GetRecoveryInfo(ctx context.Context, in *GetRecoveryInfoRequest, opts ...grpc.CallOption) (*GetRecoveryInfoResponse, error) 22356 // lncli: `pendingchannels` 22357 // PendingChannels returns a list of all the channels that are currently 22358 // considered "pending". A channel is pending if it has finished the funding 22359 // workflow and is waiting for confirmations for the funding txn, or is in the 22360 // process of closure, either initiated cooperatively or non-cooperatively. 22361 PendingChannels(ctx context.Context, in *PendingChannelsRequest, opts ...grpc.CallOption) (*PendingChannelsResponse, error) 22362 // lncli: `listchannels` 22363 // ListChannels returns a description of all the open channels that this node 22364 // is a participant in. 22365 ListChannels(ctx context.Context, in *ListChannelsRequest, opts ...grpc.CallOption) (*ListChannelsResponse, error) 22366 // SubscribeChannelEvents creates a uni-directional stream from the server to 22367 // the client in which any updates relevant to the state of the channels are 22368 // sent over. Events include new active channels, inactive channels, and closed 22369 // channels. 22370 SubscribeChannelEvents(ctx context.Context, in *ChannelEventSubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelEventsClient, error) 22371 // lncli: `closedchannels` 22372 // ClosedChannels returns a description of all the closed channels that 22373 // this node was a participant in. 22374 ClosedChannels(ctx context.Context, in *ClosedChannelsRequest, opts ...grpc.CallOption) (*ClosedChannelsResponse, error) 22375 // OpenChannelSync is a synchronous version of the OpenChannel RPC call. This 22376 // call is meant to be consumed by clients to the REST proxy. As with all 22377 // other sync calls, all byte slices are intended to be populated as hex 22378 // encoded strings. 22379 OpenChannelSync(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (*ChannelPoint, error) 22380 // lncli: `openchannel` 22381 // OpenChannel attempts to open a singly funded channel specified in the 22382 // request to a remote peer. Users are able to specify a target number of 22383 // blocks that the funding transaction should be confirmed in, or a manual fee 22384 // rate to us for the funding transaction. If neither are specified, then a 22385 // lax block confirmation target is used. Each OpenStatusUpdate will return 22386 // the pending channel ID of the in-progress channel. Depending on the 22387 // arguments specified in the OpenChannelRequest, this pending channel ID can 22388 // then be used to manually progress the channel funding flow. 22389 OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (Lightning_OpenChannelClient, error) 22390 // lncli: `batchopenchannel` 22391 // BatchOpenChannel attempts to open multiple single-funded channels in a 22392 // single transaction in an atomic way. This means either all channel open 22393 // requests succeed at once or all attempts are aborted if any of them fail. 22394 // This is the safer variant of using PSBTs to manually fund a batch of 22395 // channels through the OpenChannel RPC. 22396 BatchOpenChannel(ctx context.Context, in *BatchOpenChannelRequest, opts ...grpc.CallOption) (*BatchOpenChannelResponse, error) 22397 // FundingStateStep is an advanced funding related call that allows the caller 22398 // to either execute some preparatory steps for a funding workflow, or 22399 // manually progress a funding workflow. The primary way a funding flow is 22400 // identified is via its pending channel ID. As an example, this method can be 22401 // used to specify that we're expecting a funding flow for a particular 22402 // pending channel ID, for which we need to use specific parameters. 22403 // Alternatively, this can be used to interactively drive PSBT signing for 22404 // funding for partially complete funding transactions. 22405 FundingStateStep(ctx context.Context, in *FundingTransitionMsg, opts ...grpc.CallOption) (*FundingStateStepResp, error) 22406 // ChannelAcceptor dispatches a bi-directional streaming RPC in which 22407 // OpenChannel requests are sent to the client and the client responds with 22408 // a boolean that tells LND whether or not to accept the channel. This allows 22409 // node operators to specify their own criteria for accepting inbound channels 22410 // through a single persistent connection. 22411 ChannelAcceptor(ctx context.Context, opts ...grpc.CallOption) (Lightning_ChannelAcceptorClient, error) 22412 // lncli: `closechannel` 22413 // CloseChannel attempts to close an active channel identified by its channel 22414 // outpoint (ChannelPoint). The actions of this method can additionally be 22415 // augmented to attempt a force close after a timeout period in the case of an 22416 // inactive peer. If a non-force close (cooperative closure) is requested, 22417 // then the user can specify either a target number of blocks until the 22418 // closure transaction is confirmed, or a manual fee rate. If neither are 22419 // specified, then a default lax, block confirmation target is used. 22420 CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (Lightning_CloseChannelClient, error) 22421 // lncli: `abandonchannel` 22422 // AbandonChannel removes all channel state from the database except for a 22423 // close summary. This method can be used to get rid of permanently unusable 22424 // channels due to bugs fixed in newer versions of lnd. This method can also be 22425 // used to remove externally funded channels where the funding transaction was 22426 // never broadcast. Only available for non-externally funded channels in dev 22427 // build. 22428 AbandonChannel(ctx context.Context, in *AbandonChannelRequest, opts ...grpc.CallOption) (*AbandonChannelResponse, error) 22429 // Deprecated: Do not use. 22430 // lncli: `sendpayment` 22431 // Deprecated, use routerrpc.SendPaymentV2. SendPayment dispatches a 22432 // bi-directional streaming RPC for sending payments through the Lightning 22433 // Network. A single RPC invocation creates a persistent bi-directional 22434 // stream allowing clients to rapidly send payments through the Lightning 22435 // Network with a single persistent connection. 22436 SendPayment(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendPaymentClient, error) 22437 // SendPaymentSync is the synchronous non-streaming version of SendPayment. 22438 // This RPC is intended to be consumed by clients of the REST proxy. 22439 // Additionally, this RPC expects the destination's public key and the payment 22440 // hash (if any) to be encoded as hex strings. 22441 SendPaymentSync(ctx context.Context, in *SendRequest, opts ...grpc.CallOption) (*SendResponse, error) 22442 // Deprecated: Do not use. 22443 // lncli: `sendtoroute` 22444 // Deprecated, use routerrpc.SendToRouteV2. SendToRoute is a bi-directional 22445 // streaming RPC for sending payment through the Lightning Network. This 22446 // method differs from SendPayment in that it allows users to specify a full 22447 // route manually. This can be used for things like rebalancing, and atomic 22448 // swaps. 22449 SendToRoute(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendToRouteClient, error) 22450 // SendToRouteSync is a synchronous version of SendToRoute. It Will block 22451 // until the payment either fails or succeeds. 22452 SendToRouteSync(ctx context.Context, in *SendToRouteRequest, opts ...grpc.CallOption) (*SendResponse, error) 22453 // lncli: `addinvoice` 22454 // AddInvoice attempts to add a new invoice to the invoice database. Any 22455 // duplicated invoices are rejected, therefore all invoices *must* have a 22456 // unique payment preimage. 22457 AddInvoice(ctx context.Context, in *Invoice, opts ...grpc.CallOption) (*AddInvoiceResponse, error) 22458 // lncli: `listinvoices` 22459 // ListInvoices returns a list of all the invoices currently stored within the 22460 // database. Any active debug invoices are ignored. It has full support for 22461 // paginated responses, allowing users to query for specific invoices through 22462 // their add_index. This can be done by using either the first_index_offset or 22463 // last_index_offset fields included in the response as the index_offset of the 22464 // next request. By default, the first 100 invoices created will be returned. 22465 // Backwards pagination is also supported through the Reversed flag. 22466 ListInvoices(ctx context.Context, in *ListInvoiceRequest, opts ...grpc.CallOption) (*ListInvoiceResponse, error) 22467 // lncli: `lookupinvoice` 22468 // LookupInvoice attempts to look up an invoice according to its payment hash. 22469 // The passed payment hash *must* be exactly 32 bytes, if not, an error is 22470 // returned. 22471 LookupInvoice(ctx context.Context, in *PaymentHash, opts ...grpc.CallOption) (*Invoice, error) 22472 // SubscribeInvoices returns a uni-directional stream (server -> client) for 22473 // notifying the client of newly added/settled invoices. The caller can 22474 // optionally specify the add_index and/or the settle_index. If the add_index 22475 // is specified, then we'll first start by sending add invoice events for all 22476 // invoices with an add_index greater than the specified value. If the 22477 // settle_index is specified, the next, we'll send out all settle events for 22478 // invoices with a settle_index greater than the specified value. One or both 22479 // of these fields can be set. If no fields are set, then we'll only send out 22480 // the latest add/settle events. 22481 SubscribeInvoices(ctx context.Context, in *InvoiceSubscription, opts ...grpc.CallOption) (Lightning_SubscribeInvoicesClient, error) 22482 // lncli: `decodepayreq` 22483 // DecodePayReq takes an encoded payment request string and attempts to decode 22484 // it, returning a full description of the conditions encoded within the 22485 // payment request. 22486 DecodePayReq(ctx context.Context, in *PayReqString, opts ...grpc.CallOption) (*PayReq, error) 22487 // lncli: `listpayments` 22488 // ListPayments returns a list of all outgoing payments. 22489 ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error) 22490 // DeletePayment deletes an outgoing payment from DB. Note that it will not 22491 // attempt to delete an In-Flight payment, since that would be unsafe. 22492 DeletePayment(ctx context.Context, in *DeletePaymentRequest, opts ...grpc.CallOption) (*DeletePaymentResponse, error) 22493 // DeleteAllPayments deletes all outgoing payments from DB. Note that it will 22494 // not attempt to delete In-Flight payments, since that would be unsafe. 22495 DeleteAllPayments(ctx context.Context, in *DeleteAllPaymentsRequest, opts ...grpc.CallOption) (*DeleteAllPaymentsResponse, error) 22496 // lncli: `describegraph` 22497 // DescribeGraph returns a description of the latest graph state from the 22498 // point of view of the node. The graph information is partitioned into two 22499 // components: all the nodes/vertexes, and all the edges that connect the 22500 // vertexes themselves. As this is a directed graph, the edges also contain 22501 // the node directional specific routing policy which includes: the time lock 22502 // delta, fee information, etc. 22503 DescribeGraph(ctx context.Context, in *ChannelGraphRequest, opts ...grpc.CallOption) (*ChannelGraph, error) 22504 // lncli: `getnodemetrics` 22505 // GetNodeMetrics returns node metrics calculated from the graph. Currently 22506 // the only supported metric is betweenness centrality of individual nodes. 22507 GetNodeMetrics(ctx context.Context, in *NodeMetricsRequest, opts ...grpc.CallOption) (*NodeMetricsResponse, error) 22508 // lncli: `getchaninfo` 22509 // GetChanInfo returns the latest authenticated network announcement for the 22510 // given channel identified by its channel ID: an 8-byte integer which 22511 // uniquely identifies the location of transaction's funding output within the 22512 // blockchain. 22513 GetChanInfo(ctx context.Context, in *ChanInfoRequest, opts ...grpc.CallOption) (*ChannelEdge, error) 22514 // lncli: `getnodeinfo` 22515 // GetNodeInfo returns the latest advertised, aggregated, and authenticated 22516 // channel information for the specified node identified by its public key. 22517 GetNodeInfo(ctx context.Context, in *NodeInfoRequest, opts ...grpc.CallOption) (*NodeInfo, error) 22518 // lncli: `enforcenodeping` 22519 // EnforceNodePing attempts to ping the specified peer. If the request is 22520 // canceled before a response is received from the remote peer, then this 22521 // forces lnd to disconnect from the peer (and potentially attempt to 22522 // reconnect). 22523 EnforceNodePing(ctx context.Context, in *EnforceNodePingRequest, opts ...grpc.CallOption) (*EnforceNodePingResponse, error) 22524 // lncli: `queryroutes` 22525 // QueryRoutes attempts to query the daemon's Channel Router for a possible 22526 // route to a target destination capable of carrying a specific amount of 22527 // atoms. The retuned route contains the full details required to craft and 22528 // send an HTLC, also including the necessary information that should be 22529 // present within the Sphinx packet encapsulated within the HTLC. 22530 // 22531 // When using REST, the `dest_custom_records` map type can be set by appending 22532 // `&dest_custom_records[<record_number>]=<record_data_base64_url_encoded>` 22533 // to the URL. Unfortunately this map type doesn't appear in the REST API 22534 // documentation because of a bug in the grpc-gateway library. 22535 QueryRoutes(ctx context.Context, in *QueryRoutesRequest, opts ...grpc.CallOption) (*QueryRoutesResponse, error) 22536 // lncli: `getnetworkinfo` 22537 // GetNetworkInfo returns some basic stats about the known channel graph from 22538 // the point of view of the node. 22539 GetNetworkInfo(ctx context.Context, in *NetworkInfoRequest, opts ...grpc.CallOption) (*NetworkInfo, error) 22540 // lncli: `stop` 22541 // StopDaemon will send a shutdown request to the interrupt handler, triggering 22542 // a graceful shutdown of the daemon. 22543 StopDaemon(ctx context.Context, in *StopRequest, opts ...grpc.CallOption) (*StopResponse, error) 22544 // SubscribeChannelGraph launches a streaming RPC that allows the caller to 22545 // receive notifications upon any changes to the channel graph topology from 22546 // the point of view of the responding node. Events notified include: new 22547 // nodes coming online, nodes updating their authenticated attributes, new 22548 // channels being advertised, updates in the routing policy for a directional 22549 // channel edge, and when channels are closed on-chain. 22550 SubscribeChannelGraph(ctx context.Context, in *GraphTopologySubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelGraphClient, error) 22551 // lncli: `debuglevel` 22552 // DebugLevel allows a caller to programmatically set the logging verbosity of 22553 // lnd. The logging can be targeted according to a coarse daemon-wide logging 22554 // level, or in a granular fashion to specify the logging for a target 22555 // sub-system. 22556 DebugLevel(ctx context.Context, in *DebugLevelRequest, opts ...grpc.CallOption) (*DebugLevelResponse, error) 22557 // lncli: `calcpaymentstats` 22558 // CalcPaymentStats goes through the DB and generates a report on total 22559 // number of payments recorded. 22560 CalcPaymentStats(ctx context.Context, in *CalcPaymentStatsRequest, opts ...grpc.CallOption) (*CalcPaymentStatsResponse, error) 22561 // lncli: `feereport` 22562 // FeeReport allows the caller to obtain a report detailing the current fee 22563 // schedule enforced by the node globally for each channel. 22564 FeeReport(ctx context.Context, in *FeeReportRequest, opts ...grpc.CallOption) (*FeeReportResponse, error) 22565 // lncli: `updatechanpolicy` 22566 // UpdateChannelPolicy allows the caller to update the fee schedule and 22567 // channel policies for all channels globally, or a particular channel. 22568 UpdateChannelPolicy(ctx context.Context, in *PolicyUpdateRequest, opts ...grpc.CallOption) (*PolicyUpdateResponse, error) 22569 // lncli: `fwdinghistory` 22570 // ForwardingHistory allows the caller to query the htlcswitch for a record of 22571 // all HTLCs forwarded within the target time range, and integer offset 22572 // within that time range, for a maximum number of events. If no maximum number 22573 // of events is specified, up to 100 events will be returned. If no time-range 22574 // is specified, then events will be returned in the order that they occured. 22575 // 22576 // A list of forwarding events are returned. The size of each forwarding event 22577 // is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB. 22578 // As a result each message can only contain 50k entries. Each response has 22579 // the index offset of the last entry. The index offset can be provided to the 22580 // request to allow the caller to skip a series of records. 22581 ForwardingHistory(ctx context.Context, in *ForwardingHistoryRequest, opts ...grpc.CallOption) (*ForwardingHistoryResponse, error) 22582 // lncli: `exportchanbackup` 22583 // ExportChannelBackup attempts to return an encrypted static channel backup 22584 // for the target channel identified by it channel point. The backup is 22585 // encrypted with a key generated from the aezeed seed of the user. The 22586 // returned backup can either be restored using the RestoreChannelBackup 22587 // method once lnd is running, or via the InitWallet and UnlockWallet methods 22588 // from the WalletUnlocker service. 22589 ExportChannelBackup(ctx context.Context, in *ExportChannelBackupRequest, opts ...grpc.CallOption) (*ChannelBackup, error) 22590 // ExportAllChannelBackups returns static channel backups for all existing 22591 // channels known to lnd. A set of regular singular static channel backups for 22592 // each channel are returned. Additionally, a multi-channel backup is returned 22593 // as well, which contains a single encrypted blob containing the backups of 22594 // each channel. 22595 ExportAllChannelBackups(ctx context.Context, in *ChanBackupExportRequest, opts ...grpc.CallOption) (*ChanBackupSnapshot, error) 22596 // VerifyChanBackup allows a caller to verify the integrity of a channel backup 22597 // snapshot. This method will accept either a packed Single or a packed Multi. 22598 // Specifying both will result in an error. 22599 VerifyChanBackup(ctx context.Context, in *ChanBackupSnapshot, opts ...grpc.CallOption) (*VerifyChanBackupResponse, error) 22600 // lncli: `restorechanbackup` 22601 // RestoreChannelBackups accepts a set of singular channel backups, or a 22602 // single encrypted multi-chan backup and attempts to recover any funds 22603 // remaining within the channel. If we are able to unpack the backup, then the 22604 // new channel will be shown under listchannels, as well as pending channels. 22605 RestoreChannelBackups(ctx context.Context, in *RestoreChanBackupRequest, opts ...grpc.CallOption) (*RestoreBackupResponse, error) 22606 // SubscribeChannelBackups allows a client to sub-subscribe to the most up to 22607 // date information concerning the state of all channel backups. Each time a 22608 // new channel is added, we return the new set of channels, along with a 22609 // multi-chan backup containing the backup info for all channels. Each time a 22610 // channel is closed, we send a new update, which contains new new chan back 22611 // ups, but the updated set of encrypted multi-chan backups with the closed 22612 // channel(s) removed. 22613 SubscribeChannelBackups(ctx context.Context, in *ChannelBackupSubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelBackupsClient, error) 22614 // lncli: `bakemacaroon` 22615 // BakeMacaroon allows the creation of a new macaroon with custom read and 22616 // write permissions. No first-party caveats are added since this can be done 22617 // offline. 22618 BakeMacaroon(ctx context.Context, in *BakeMacaroonRequest, opts ...grpc.CallOption) (*BakeMacaroonResponse, error) 22619 // lncli: `listmacaroonids` 22620 // ListMacaroonIDs returns all root key IDs that are in use. 22621 ListMacaroonIDs(ctx context.Context, in *ListMacaroonIDsRequest, opts ...grpc.CallOption) (*ListMacaroonIDsResponse, error) 22622 // lncli: `deletemacaroonid` 22623 // DeleteMacaroonID deletes the specified macaroon ID and invalidates all 22624 // macaroons derived from that ID. 22625 DeleteMacaroonID(ctx context.Context, in *DeleteMacaroonIDRequest, opts ...grpc.CallOption) (*DeleteMacaroonIDResponse, error) 22626 // lncli: `listpermissions` 22627 // ListPermissions lists all RPC method URIs and their required macaroon 22628 // permissions to access them. 22629 ListPermissions(ctx context.Context, in *ListPermissionsRequest, opts ...grpc.CallOption) (*ListPermissionsResponse, error) 22630 // CheckMacaroonPermissions checks whether a request follows the constraints 22631 // imposed on the macaroon and that the macaroon is authorized to follow the 22632 // provided permissions. 22633 CheckMacaroonPermissions(ctx context.Context, in *CheckMacPermRequest, opts ...grpc.CallOption) (*CheckMacPermResponse, error) 22634 // RegisterRPCMiddleware adds a new gRPC middleware to the interceptor chain. A 22635 // gRPC middleware is software component external to lnd that aims to add 22636 // additional business logic to lnd by observing/intercepting/validating 22637 // incoming gRPC client requests and (if needed) replacing/overwriting outgoing 22638 // messages before they're sent to the client. When registering the middleware 22639 // must identify itself and indicate what custom macaroon caveats it wants to 22640 // be responsible for. Only requests that contain a macaroon with that specific 22641 // custom caveat are then sent to the middleware for inspection. The other 22642 // option is to register for the read-only mode in which all requests/responses 22643 // are forwarded for interception to the middleware but the middleware is not 22644 // allowed to modify any responses. As a security measure, _no_ middleware can 22645 // modify responses for requests made with _unencumbered_ macaroons! 22646 RegisterRPCMiddleware(ctx context.Context, opts ...grpc.CallOption) (Lightning_RegisterRPCMiddlewareClient, error) 22647 // lncli: `sendcustom` 22648 // SendCustomMessage sends a custom peer message. 22649 SendCustomMessage(ctx context.Context, in *SendCustomMessageRequest, opts ...grpc.CallOption) (*SendCustomMessageResponse, error) 22650 // lncli: `subscribecustom` 22651 // SubscribeCustomMessages subscribes to a stream of incoming custom peer 22652 // messages. 22653 SubscribeCustomMessages(ctx context.Context, in *SubscribeCustomMessagesRequest, opts ...grpc.CallOption) (Lightning_SubscribeCustomMessagesClient, error) 22654 } 22655 22656 type lightningClient struct { 22657 cc grpc.ClientConnInterface 22658 } 22659 22660 func NewLightningClient(cc grpc.ClientConnInterface) LightningClient { 22661 return &lightningClient{cc} 22662 } 22663 22664 func (c *lightningClient) WalletBalance(ctx context.Context, in *WalletBalanceRequest, opts ...grpc.CallOption) (*WalletBalanceResponse, error) { 22665 out := new(WalletBalanceResponse) 22666 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/WalletBalance", in, out, opts...) 22667 if err != nil { 22668 return nil, err 22669 } 22670 return out, nil 22671 } 22672 22673 func (c *lightningClient) ChannelBalance(ctx context.Context, in *ChannelBalanceRequest, opts ...grpc.CallOption) (*ChannelBalanceResponse, error) { 22674 out := new(ChannelBalanceResponse) 22675 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ChannelBalance", in, out, opts...) 22676 if err != nil { 22677 return nil, err 22678 } 22679 return out, nil 22680 } 22681 22682 func (c *lightningClient) GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (*TransactionDetails, error) { 22683 out := new(TransactionDetails) 22684 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetTransactions", in, out, opts...) 22685 if err != nil { 22686 return nil, err 22687 } 22688 return out, nil 22689 } 22690 22691 func (c *lightningClient) EstimateFee(ctx context.Context, in *EstimateFeeRequest, opts ...grpc.CallOption) (*EstimateFeeResponse, error) { 22692 out := new(EstimateFeeResponse) 22693 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/EstimateFee", in, out, opts...) 22694 if err != nil { 22695 return nil, err 22696 } 22697 return out, nil 22698 } 22699 22700 func (c *lightningClient) SendCoins(ctx context.Context, in *SendCoinsRequest, opts ...grpc.CallOption) (*SendCoinsResponse, error) { 22701 out := new(SendCoinsResponse) 22702 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SendCoins", in, out, opts...) 22703 if err != nil { 22704 return nil, err 22705 } 22706 return out, nil 22707 } 22708 22709 func (c *lightningClient) ListUnspent(ctx context.Context, in *ListUnspentRequest, opts ...grpc.CallOption) (*ListUnspentResponse, error) { 22710 out := new(ListUnspentResponse) 22711 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListUnspent", in, out, opts...) 22712 if err != nil { 22713 return nil, err 22714 } 22715 return out, nil 22716 } 22717 22718 func (c *lightningClient) SubscribeTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (Lightning_SubscribeTransactionsClient, error) { 22719 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[0], "/lnrpc.Lightning/SubscribeTransactions", opts...) 22720 if err != nil { 22721 return nil, err 22722 } 22723 x := &lightningSubscribeTransactionsClient{stream} 22724 if err := x.ClientStream.SendMsg(in); err != nil { 22725 return nil, err 22726 } 22727 if err := x.ClientStream.CloseSend(); err != nil { 22728 return nil, err 22729 } 22730 return x, nil 22731 } 22732 22733 type Lightning_SubscribeTransactionsClient interface { 22734 Recv() (*Transaction, error) 22735 grpc.ClientStream 22736 } 22737 22738 type lightningSubscribeTransactionsClient struct { 22739 grpc.ClientStream 22740 } 22741 22742 func (x *lightningSubscribeTransactionsClient) Recv() (*Transaction, error) { 22743 m := new(Transaction) 22744 if err := x.ClientStream.RecvMsg(m); err != nil { 22745 return nil, err 22746 } 22747 return m, nil 22748 } 22749 22750 func (c *lightningClient) SendMany(ctx context.Context, in *SendManyRequest, opts ...grpc.CallOption) (*SendManyResponse, error) { 22751 out := new(SendManyResponse) 22752 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SendMany", in, out, opts...) 22753 if err != nil { 22754 return nil, err 22755 } 22756 return out, nil 22757 } 22758 22759 func (c *lightningClient) NewAddress(ctx context.Context, in *NewAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error) { 22760 out := new(NewAddressResponse) 22761 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/NewAddress", in, out, opts...) 22762 if err != nil { 22763 return nil, err 22764 } 22765 return out, nil 22766 } 22767 22768 func (c *lightningClient) SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error) { 22769 out := new(SignMessageResponse) 22770 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SignMessage", in, out, opts...) 22771 if err != nil { 22772 return nil, err 22773 } 22774 return out, nil 22775 } 22776 22777 func (c *lightningClient) VerifyMessage(ctx context.Context, in *VerifyMessageRequest, opts ...grpc.CallOption) (*VerifyMessageResponse, error) { 22778 out := new(VerifyMessageResponse) 22779 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/VerifyMessage", in, out, opts...) 22780 if err != nil { 22781 return nil, err 22782 } 22783 return out, nil 22784 } 22785 22786 func (c *lightningClient) ConnectPeer(ctx context.Context, in *ConnectPeerRequest, opts ...grpc.CallOption) (*ConnectPeerResponse, error) { 22787 out := new(ConnectPeerResponse) 22788 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ConnectPeer", in, out, opts...) 22789 if err != nil { 22790 return nil, err 22791 } 22792 return out, nil 22793 } 22794 22795 func (c *lightningClient) DisconnectPeer(ctx context.Context, in *DisconnectPeerRequest, opts ...grpc.CallOption) (*DisconnectPeerResponse, error) { 22796 out := new(DisconnectPeerResponse) 22797 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DisconnectPeer", in, out, opts...) 22798 if err != nil { 22799 return nil, err 22800 } 22801 return out, nil 22802 } 22803 22804 func (c *lightningClient) ListPeers(ctx context.Context, in *ListPeersRequest, opts ...grpc.CallOption) (*ListPeersResponse, error) { 22805 out := new(ListPeersResponse) 22806 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListPeers", in, out, opts...) 22807 if err != nil { 22808 return nil, err 22809 } 22810 return out, nil 22811 } 22812 22813 func (c *lightningClient) SubscribePeerEvents(ctx context.Context, in *PeerEventSubscription, opts ...grpc.CallOption) (Lightning_SubscribePeerEventsClient, error) { 22814 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[1], "/lnrpc.Lightning/SubscribePeerEvents", opts...) 22815 if err != nil { 22816 return nil, err 22817 } 22818 x := &lightningSubscribePeerEventsClient{stream} 22819 if err := x.ClientStream.SendMsg(in); err != nil { 22820 return nil, err 22821 } 22822 if err := x.ClientStream.CloseSend(); err != nil { 22823 return nil, err 22824 } 22825 return x, nil 22826 } 22827 22828 type Lightning_SubscribePeerEventsClient interface { 22829 Recv() (*PeerEvent, error) 22830 grpc.ClientStream 22831 } 22832 22833 type lightningSubscribePeerEventsClient struct { 22834 grpc.ClientStream 22835 } 22836 22837 func (x *lightningSubscribePeerEventsClient) Recv() (*PeerEvent, error) { 22838 m := new(PeerEvent) 22839 if err := x.ClientStream.RecvMsg(m); err != nil { 22840 return nil, err 22841 } 22842 return m, nil 22843 } 22844 22845 func (c *lightningClient) GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error) { 22846 out := new(GetInfoResponse) 22847 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetInfo", in, out, opts...) 22848 if err != nil { 22849 return nil, err 22850 } 22851 return out, nil 22852 } 22853 22854 func (c *lightningClient) GetRecoveryInfo(ctx context.Context, in *GetRecoveryInfoRequest, opts ...grpc.CallOption) (*GetRecoveryInfoResponse, error) { 22855 out := new(GetRecoveryInfoResponse) 22856 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetRecoveryInfo", in, out, opts...) 22857 if err != nil { 22858 return nil, err 22859 } 22860 return out, nil 22861 } 22862 22863 func (c *lightningClient) PendingChannels(ctx context.Context, in *PendingChannelsRequest, opts ...grpc.CallOption) (*PendingChannelsResponse, error) { 22864 out := new(PendingChannelsResponse) 22865 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/PendingChannels", in, out, opts...) 22866 if err != nil { 22867 return nil, err 22868 } 22869 return out, nil 22870 } 22871 22872 func (c *lightningClient) ListChannels(ctx context.Context, in *ListChannelsRequest, opts ...grpc.CallOption) (*ListChannelsResponse, error) { 22873 out := new(ListChannelsResponse) 22874 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListChannels", in, out, opts...) 22875 if err != nil { 22876 return nil, err 22877 } 22878 return out, nil 22879 } 22880 22881 func (c *lightningClient) SubscribeChannelEvents(ctx context.Context, in *ChannelEventSubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelEventsClient, error) { 22882 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[2], "/lnrpc.Lightning/SubscribeChannelEvents", opts...) 22883 if err != nil { 22884 return nil, err 22885 } 22886 x := &lightningSubscribeChannelEventsClient{stream} 22887 if err := x.ClientStream.SendMsg(in); err != nil { 22888 return nil, err 22889 } 22890 if err := x.ClientStream.CloseSend(); err != nil { 22891 return nil, err 22892 } 22893 return x, nil 22894 } 22895 22896 type Lightning_SubscribeChannelEventsClient interface { 22897 Recv() (*ChannelEventUpdate, error) 22898 grpc.ClientStream 22899 } 22900 22901 type lightningSubscribeChannelEventsClient struct { 22902 grpc.ClientStream 22903 } 22904 22905 func (x *lightningSubscribeChannelEventsClient) Recv() (*ChannelEventUpdate, error) { 22906 m := new(ChannelEventUpdate) 22907 if err := x.ClientStream.RecvMsg(m); err != nil { 22908 return nil, err 22909 } 22910 return m, nil 22911 } 22912 22913 func (c *lightningClient) ClosedChannels(ctx context.Context, in *ClosedChannelsRequest, opts ...grpc.CallOption) (*ClosedChannelsResponse, error) { 22914 out := new(ClosedChannelsResponse) 22915 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ClosedChannels", in, out, opts...) 22916 if err != nil { 22917 return nil, err 22918 } 22919 return out, nil 22920 } 22921 22922 func (c *lightningClient) OpenChannelSync(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (*ChannelPoint, error) { 22923 out := new(ChannelPoint) 22924 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/OpenChannelSync", in, out, opts...) 22925 if err != nil { 22926 return nil, err 22927 } 22928 return out, nil 22929 } 22930 22931 func (c *lightningClient) OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (Lightning_OpenChannelClient, error) { 22932 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[3], "/lnrpc.Lightning/OpenChannel", opts...) 22933 if err != nil { 22934 return nil, err 22935 } 22936 x := &lightningOpenChannelClient{stream} 22937 if err := x.ClientStream.SendMsg(in); err != nil { 22938 return nil, err 22939 } 22940 if err := x.ClientStream.CloseSend(); err != nil { 22941 return nil, err 22942 } 22943 return x, nil 22944 } 22945 22946 type Lightning_OpenChannelClient interface { 22947 Recv() (*OpenStatusUpdate, error) 22948 grpc.ClientStream 22949 } 22950 22951 type lightningOpenChannelClient struct { 22952 grpc.ClientStream 22953 } 22954 22955 func (x *lightningOpenChannelClient) Recv() (*OpenStatusUpdate, error) { 22956 m := new(OpenStatusUpdate) 22957 if err := x.ClientStream.RecvMsg(m); err != nil { 22958 return nil, err 22959 } 22960 return m, nil 22961 } 22962 22963 func (c *lightningClient) BatchOpenChannel(ctx context.Context, in *BatchOpenChannelRequest, opts ...grpc.CallOption) (*BatchOpenChannelResponse, error) { 22964 out := new(BatchOpenChannelResponse) 22965 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/BatchOpenChannel", in, out, opts...) 22966 if err != nil { 22967 return nil, err 22968 } 22969 return out, nil 22970 } 22971 22972 func (c *lightningClient) FundingStateStep(ctx context.Context, in *FundingTransitionMsg, opts ...grpc.CallOption) (*FundingStateStepResp, error) { 22973 out := new(FundingStateStepResp) 22974 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/FundingStateStep", in, out, opts...) 22975 if err != nil { 22976 return nil, err 22977 } 22978 return out, nil 22979 } 22980 22981 func (c *lightningClient) ChannelAcceptor(ctx context.Context, opts ...grpc.CallOption) (Lightning_ChannelAcceptorClient, error) { 22982 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[4], "/lnrpc.Lightning/ChannelAcceptor", opts...) 22983 if err != nil { 22984 return nil, err 22985 } 22986 x := &lightningChannelAcceptorClient{stream} 22987 return x, nil 22988 } 22989 22990 type Lightning_ChannelAcceptorClient interface { 22991 Send(*ChannelAcceptResponse) error 22992 Recv() (*ChannelAcceptRequest, error) 22993 grpc.ClientStream 22994 } 22995 22996 type lightningChannelAcceptorClient struct { 22997 grpc.ClientStream 22998 } 22999 23000 func (x *lightningChannelAcceptorClient) Send(m *ChannelAcceptResponse) error { 23001 return x.ClientStream.SendMsg(m) 23002 } 23003 23004 func (x *lightningChannelAcceptorClient) Recv() (*ChannelAcceptRequest, error) { 23005 m := new(ChannelAcceptRequest) 23006 if err := x.ClientStream.RecvMsg(m); err != nil { 23007 return nil, err 23008 } 23009 return m, nil 23010 } 23011 23012 func (c *lightningClient) CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (Lightning_CloseChannelClient, error) { 23013 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[5], "/lnrpc.Lightning/CloseChannel", opts...) 23014 if err != nil { 23015 return nil, err 23016 } 23017 x := &lightningCloseChannelClient{stream} 23018 if err := x.ClientStream.SendMsg(in); err != nil { 23019 return nil, err 23020 } 23021 if err := x.ClientStream.CloseSend(); err != nil { 23022 return nil, err 23023 } 23024 return x, nil 23025 } 23026 23027 type Lightning_CloseChannelClient interface { 23028 Recv() (*CloseStatusUpdate, error) 23029 grpc.ClientStream 23030 } 23031 23032 type lightningCloseChannelClient struct { 23033 grpc.ClientStream 23034 } 23035 23036 func (x *lightningCloseChannelClient) Recv() (*CloseStatusUpdate, error) { 23037 m := new(CloseStatusUpdate) 23038 if err := x.ClientStream.RecvMsg(m); err != nil { 23039 return nil, err 23040 } 23041 return m, nil 23042 } 23043 23044 func (c *lightningClient) AbandonChannel(ctx context.Context, in *AbandonChannelRequest, opts ...grpc.CallOption) (*AbandonChannelResponse, error) { 23045 out := new(AbandonChannelResponse) 23046 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/AbandonChannel", in, out, opts...) 23047 if err != nil { 23048 return nil, err 23049 } 23050 return out, nil 23051 } 23052 23053 // Deprecated: Do not use. 23054 func (c *lightningClient) SendPayment(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendPaymentClient, error) { 23055 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[6], "/lnrpc.Lightning/SendPayment", opts...) 23056 if err != nil { 23057 return nil, err 23058 } 23059 x := &lightningSendPaymentClient{stream} 23060 return x, nil 23061 } 23062 23063 type Lightning_SendPaymentClient interface { 23064 Send(*SendRequest) error 23065 Recv() (*SendResponse, error) 23066 grpc.ClientStream 23067 } 23068 23069 type lightningSendPaymentClient struct { 23070 grpc.ClientStream 23071 } 23072 23073 func (x *lightningSendPaymentClient) Send(m *SendRequest) error { 23074 return x.ClientStream.SendMsg(m) 23075 } 23076 23077 func (x *lightningSendPaymentClient) Recv() (*SendResponse, error) { 23078 m := new(SendResponse) 23079 if err := x.ClientStream.RecvMsg(m); err != nil { 23080 return nil, err 23081 } 23082 return m, nil 23083 } 23084 23085 func (c *lightningClient) SendPaymentSync(ctx context.Context, in *SendRequest, opts ...grpc.CallOption) (*SendResponse, error) { 23086 out := new(SendResponse) 23087 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SendPaymentSync", in, out, opts...) 23088 if err != nil { 23089 return nil, err 23090 } 23091 return out, nil 23092 } 23093 23094 // Deprecated: Do not use. 23095 func (c *lightningClient) SendToRoute(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendToRouteClient, error) { 23096 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[7], "/lnrpc.Lightning/SendToRoute", opts...) 23097 if err != nil { 23098 return nil, err 23099 } 23100 x := &lightningSendToRouteClient{stream} 23101 return x, nil 23102 } 23103 23104 type Lightning_SendToRouteClient interface { 23105 Send(*SendToRouteRequest) error 23106 Recv() (*SendResponse, error) 23107 grpc.ClientStream 23108 } 23109 23110 type lightningSendToRouteClient struct { 23111 grpc.ClientStream 23112 } 23113 23114 func (x *lightningSendToRouteClient) Send(m *SendToRouteRequest) error { 23115 return x.ClientStream.SendMsg(m) 23116 } 23117 23118 func (x *lightningSendToRouteClient) Recv() (*SendResponse, error) { 23119 m := new(SendResponse) 23120 if err := x.ClientStream.RecvMsg(m); err != nil { 23121 return nil, err 23122 } 23123 return m, nil 23124 } 23125 23126 func (c *lightningClient) SendToRouteSync(ctx context.Context, in *SendToRouteRequest, opts ...grpc.CallOption) (*SendResponse, error) { 23127 out := new(SendResponse) 23128 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SendToRouteSync", in, out, opts...) 23129 if err != nil { 23130 return nil, err 23131 } 23132 return out, nil 23133 } 23134 23135 func (c *lightningClient) AddInvoice(ctx context.Context, in *Invoice, opts ...grpc.CallOption) (*AddInvoiceResponse, error) { 23136 out := new(AddInvoiceResponse) 23137 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/AddInvoice", in, out, opts...) 23138 if err != nil { 23139 return nil, err 23140 } 23141 return out, nil 23142 } 23143 23144 func (c *lightningClient) ListInvoices(ctx context.Context, in *ListInvoiceRequest, opts ...grpc.CallOption) (*ListInvoiceResponse, error) { 23145 out := new(ListInvoiceResponse) 23146 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListInvoices", in, out, opts...) 23147 if err != nil { 23148 return nil, err 23149 } 23150 return out, nil 23151 } 23152 23153 func (c *lightningClient) LookupInvoice(ctx context.Context, in *PaymentHash, opts ...grpc.CallOption) (*Invoice, error) { 23154 out := new(Invoice) 23155 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/LookupInvoice", in, out, opts...) 23156 if err != nil { 23157 return nil, err 23158 } 23159 return out, nil 23160 } 23161 23162 func (c *lightningClient) SubscribeInvoices(ctx context.Context, in *InvoiceSubscription, opts ...grpc.CallOption) (Lightning_SubscribeInvoicesClient, error) { 23163 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[8], "/lnrpc.Lightning/SubscribeInvoices", opts...) 23164 if err != nil { 23165 return nil, err 23166 } 23167 x := &lightningSubscribeInvoicesClient{stream} 23168 if err := x.ClientStream.SendMsg(in); err != nil { 23169 return nil, err 23170 } 23171 if err := x.ClientStream.CloseSend(); err != nil { 23172 return nil, err 23173 } 23174 return x, nil 23175 } 23176 23177 type Lightning_SubscribeInvoicesClient interface { 23178 Recv() (*Invoice, error) 23179 grpc.ClientStream 23180 } 23181 23182 type lightningSubscribeInvoicesClient struct { 23183 grpc.ClientStream 23184 } 23185 23186 func (x *lightningSubscribeInvoicesClient) Recv() (*Invoice, error) { 23187 m := new(Invoice) 23188 if err := x.ClientStream.RecvMsg(m); err != nil { 23189 return nil, err 23190 } 23191 return m, nil 23192 } 23193 23194 func (c *lightningClient) DecodePayReq(ctx context.Context, in *PayReqString, opts ...grpc.CallOption) (*PayReq, error) { 23195 out := new(PayReq) 23196 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DecodePayReq", in, out, opts...) 23197 if err != nil { 23198 return nil, err 23199 } 23200 return out, nil 23201 } 23202 23203 func (c *lightningClient) ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error) { 23204 out := new(ListPaymentsResponse) 23205 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListPayments", in, out, opts...) 23206 if err != nil { 23207 return nil, err 23208 } 23209 return out, nil 23210 } 23211 23212 func (c *lightningClient) DeletePayment(ctx context.Context, in *DeletePaymentRequest, opts ...grpc.CallOption) (*DeletePaymentResponse, error) { 23213 out := new(DeletePaymentResponse) 23214 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DeletePayment", in, out, opts...) 23215 if err != nil { 23216 return nil, err 23217 } 23218 return out, nil 23219 } 23220 23221 func (c *lightningClient) DeleteAllPayments(ctx context.Context, in *DeleteAllPaymentsRequest, opts ...grpc.CallOption) (*DeleteAllPaymentsResponse, error) { 23222 out := new(DeleteAllPaymentsResponse) 23223 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DeleteAllPayments", in, out, opts...) 23224 if err != nil { 23225 return nil, err 23226 } 23227 return out, nil 23228 } 23229 23230 func (c *lightningClient) DescribeGraph(ctx context.Context, in *ChannelGraphRequest, opts ...grpc.CallOption) (*ChannelGraph, error) { 23231 out := new(ChannelGraph) 23232 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DescribeGraph", in, out, opts...) 23233 if err != nil { 23234 return nil, err 23235 } 23236 return out, nil 23237 } 23238 23239 func (c *lightningClient) GetNodeMetrics(ctx context.Context, in *NodeMetricsRequest, opts ...grpc.CallOption) (*NodeMetricsResponse, error) { 23240 out := new(NodeMetricsResponse) 23241 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetNodeMetrics", in, out, opts...) 23242 if err != nil { 23243 return nil, err 23244 } 23245 return out, nil 23246 } 23247 23248 func (c *lightningClient) GetChanInfo(ctx context.Context, in *ChanInfoRequest, opts ...grpc.CallOption) (*ChannelEdge, error) { 23249 out := new(ChannelEdge) 23250 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetChanInfo", in, out, opts...) 23251 if err != nil { 23252 return nil, err 23253 } 23254 return out, nil 23255 } 23256 23257 func (c *lightningClient) GetNodeInfo(ctx context.Context, in *NodeInfoRequest, opts ...grpc.CallOption) (*NodeInfo, error) { 23258 out := new(NodeInfo) 23259 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetNodeInfo", in, out, opts...) 23260 if err != nil { 23261 return nil, err 23262 } 23263 return out, nil 23264 } 23265 23266 func (c *lightningClient) EnforceNodePing(ctx context.Context, in *EnforceNodePingRequest, opts ...grpc.CallOption) (*EnforceNodePingResponse, error) { 23267 out := new(EnforceNodePingResponse) 23268 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/EnforceNodePing", in, out, opts...) 23269 if err != nil { 23270 return nil, err 23271 } 23272 return out, nil 23273 } 23274 23275 func (c *lightningClient) QueryRoutes(ctx context.Context, in *QueryRoutesRequest, opts ...grpc.CallOption) (*QueryRoutesResponse, error) { 23276 out := new(QueryRoutesResponse) 23277 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/QueryRoutes", in, out, opts...) 23278 if err != nil { 23279 return nil, err 23280 } 23281 return out, nil 23282 } 23283 23284 func (c *lightningClient) GetNetworkInfo(ctx context.Context, in *NetworkInfoRequest, opts ...grpc.CallOption) (*NetworkInfo, error) { 23285 out := new(NetworkInfo) 23286 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetNetworkInfo", in, out, opts...) 23287 if err != nil { 23288 return nil, err 23289 } 23290 return out, nil 23291 } 23292 23293 func (c *lightningClient) StopDaemon(ctx context.Context, in *StopRequest, opts ...grpc.CallOption) (*StopResponse, error) { 23294 out := new(StopResponse) 23295 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/StopDaemon", in, out, opts...) 23296 if err != nil { 23297 return nil, err 23298 } 23299 return out, nil 23300 } 23301 23302 func (c *lightningClient) SubscribeChannelGraph(ctx context.Context, in *GraphTopologySubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelGraphClient, error) { 23303 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[9], "/lnrpc.Lightning/SubscribeChannelGraph", opts...) 23304 if err != nil { 23305 return nil, err 23306 } 23307 x := &lightningSubscribeChannelGraphClient{stream} 23308 if err := x.ClientStream.SendMsg(in); err != nil { 23309 return nil, err 23310 } 23311 if err := x.ClientStream.CloseSend(); err != nil { 23312 return nil, err 23313 } 23314 return x, nil 23315 } 23316 23317 type Lightning_SubscribeChannelGraphClient interface { 23318 Recv() (*GraphTopologyUpdate, error) 23319 grpc.ClientStream 23320 } 23321 23322 type lightningSubscribeChannelGraphClient struct { 23323 grpc.ClientStream 23324 } 23325 23326 func (x *lightningSubscribeChannelGraphClient) Recv() (*GraphTopologyUpdate, error) { 23327 m := new(GraphTopologyUpdate) 23328 if err := x.ClientStream.RecvMsg(m); err != nil { 23329 return nil, err 23330 } 23331 return m, nil 23332 } 23333 23334 func (c *lightningClient) DebugLevel(ctx context.Context, in *DebugLevelRequest, opts ...grpc.CallOption) (*DebugLevelResponse, error) { 23335 out := new(DebugLevelResponse) 23336 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DebugLevel", in, out, opts...) 23337 if err != nil { 23338 return nil, err 23339 } 23340 return out, nil 23341 } 23342 23343 func (c *lightningClient) CalcPaymentStats(ctx context.Context, in *CalcPaymentStatsRequest, opts ...grpc.CallOption) (*CalcPaymentStatsResponse, error) { 23344 out := new(CalcPaymentStatsResponse) 23345 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/CalcPaymentStats", in, out, opts...) 23346 if err != nil { 23347 return nil, err 23348 } 23349 return out, nil 23350 } 23351 23352 func (c *lightningClient) FeeReport(ctx context.Context, in *FeeReportRequest, opts ...grpc.CallOption) (*FeeReportResponse, error) { 23353 out := new(FeeReportResponse) 23354 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/FeeReport", in, out, opts...) 23355 if err != nil { 23356 return nil, err 23357 } 23358 return out, nil 23359 } 23360 23361 func (c *lightningClient) UpdateChannelPolicy(ctx context.Context, in *PolicyUpdateRequest, opts ...grpc.CallOption) (*PolicyUpdateResponse, error) { 23362 out := new(PolicyUpdateResponse) 23363 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/UpdateChannelPolicy", in, out, opts...) 23364 if err != nil { 23365 return nil, err 23366 } 23367 return out, nil 23368 } 23369 23370 func (c *lightningClient) ForwardingHistory(ctx context.Context, in *ForwardingHistoryRequest, opts ...grpc.CallOption) (*ForwardingHistoryResponse, error) { 23371 out := new(ForwardingHistoryResponse) 23372 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ForwardingHistory", in, out, opts...) 23373 if err != nil { 23374 return nil, err 23375 } 23376 return out, nil 23377 } 23378 23379 func (c *lightningClient) ExportChannelBackup(ctx context.Context, in *ExportChannelBackupRequest, opts ...grpc.CallOption) (*ChannelBackup, error) { 23380 out := new(ChannelBackup) 23381 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ExportChannelBackup", in, out, opts...) 23382 if err != nil { 23383 return nil, err 23384 } 23385 return out, nil 23386 } 23387 23388 func (c *lightningClient) ExportAllChannelBackups(ctx context.Context, in *ChanBackupExportRequest, opts ...grpc.CallOption) (*ChanBackupSnapshot, error) { 23389 out := new(ChanBackupSnapshot) 23390 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ExportAllChannelBackups", in, out, opts...) 23391 if err != nil { 23392 return nil, err 23393 } 23394 return out, nil 23395 } 23396 23397 func (c *lightningClient) VerifyChanBackup(ctx context.Context, in *ChanBackupSnapshot, opts ...grpc.CallOption) (*VerifyChanBackupResponse, error) { 23398 out := new(VerifyChanBackupResponse) 23399 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/VerifyChanBackup", in, out, opts...) 23400 if err != nil { 23401 return nil, err 23402 } 23403 return out, nil 23404 } 23405 23406 func (c *lightningClient) RestoreChannelBackups(ctx context.Context, in *RestoreChanBackupRequest, opts ...grpc.CallOption) (*RestoreBackupResponse, error) { 23407 out := new(RestoreBackupResponse) 23408 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/RestoreChannelBackups", in, out, opts...) 23409 if err != nil { 23410 return nil, err 23411 } 23412 return out, nil 23413 } 23414 23415 func (c *lightningClient) SubscribeChannelBackups(ctx context.Context, in *ChannelBackupSubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelBackupsClient, error) { 23416 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[10], "/lnrpc.Lightning/SubscribeChannelBackups", opts...) 23417 if err != nil { 23418 return nil, err 23419 } 23420 x := &lightningSubscribeChannelBackupsClient{stream} 23421 if err := x.ClientStream.SendMsg(in); err != nil { 23422 return nil, err 23423 } 23424 if err := x.ClientStream.CloseSend(); err != nil { 23425 return nil, err 23426 } 23427 return x, nil 23428 } 23429 23430 type Lightning_SubscribeChannelBackupsClient interface { 23431 Recv() (*ChanBackupSnapshot, error) 23432 grpc.ClientStream 23433 } 23434 23435 type lightningSubscribeChannelBackupsClient struct { 23436 grpc.ClientStream 23437 } 23438 23439 func (x *lightningSubscribeChannelBackupsClient) Recv() (*ChanBackupSnapshot, error) { 23440 m := new(ChanBackupSnapshot) 23441 if err := x.ClientStream.RecvMsg(m); err != nil { 23442 return nil, err 23443 } 23444 return m, nil 23445 } 23446 23447 func (c *lightningClient) BakeMacaroon(ctx context.Context, in *BakeMacaroonRequest, opts ...grpc.CallOption) (*BakeMacaroonResponse, error) { 23448 out := new(BakeMacaroonResponse) 23449 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/BakeMacaroon", in, out, opts...) 23450 if err != nil { 23451 return nil, err 23452 } 23453 return out, nil 23454 } 23455 23456 func (c *lightningClient) ListMacaroonIDs(ctx context.Context, in *ListMacaroonIDsRequest, opts ...grpc.CallOption) (*ListMacaroonIDsResponse, error) { 23457 out := new(ListMacaroonIDsResponse) 23458 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListMacaroonIDs", in, out, opts...) 23459 if err != nil { 23460 return nil, err 23461 } 23462 return out, nil 23463 } 23464 23465 func (c *lightningClient) DeleteMacaroonID(ctx context.Context, in *DeleteMacaroonIDRequest, opts ...grpc.CallOption) (*DeleteMacaroonIDResponse, error) { 23466 out := new(DeleteMacaroonIDResponse) 23467 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DeleteMacaroonID", in, out, opts...) 23468 if err != nil { 23469 return nil, err 23470 } 23471 return out, nil 23472 } 23473 23474 func (c *lightningClient) ListPermissions(ctx context.Context, in *ListPermissionsRequest, opts ...grpc.CallOption) (*ListPermissionsResponse, error) { 23475 out := new(ListPermissionsResponse) 23476 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListPermissions", in, out, opts...) 23477 if err != nil { 23478 return nil, err 23479 } 23480 return out, nil 23481 } 23482 23483 func (c *lightningClient) CheckMacaroonPermissions(ctx context.Context, in *CheckMacPermRequest, opts ...grpc.CallOption) (*CheckMacPermResponse, error) { 23484 out := new(CheckMacPermResponse) 23485 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/CheckMacaroonPermissions", in, out, opts...) 23486 if err != nil { 23487 return nil, err 23488 } 23489 return out, nil 23490 } 23491 23492 func (c *lightningClient) RegisterRPCMiddleware(ctx context.Context, opts ...grpc.CallOption) (Lightning_RegisterRPCMiddlewareClient, error) { 23493 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[11], "/lnrpc.Lightning/RegisterRPCMiddleware", opts...) 23494 if err != nil { 23495 return nil, err 23496 } 23497 x := &lightningRegisterRPCMiddlewareClient{stream} 23498 return x, nil 23499 } 23500 23501 type Lightning_RegisterRPCMiddlewareClient interface { 23502 Send(*RPCMiddlewareResponse) error 23503 Recv() (*RPCMiddlewareRequest, error) 23504 grpc.ClientStream 23505 } 23506 23507 type lightningRegisterRPCMiddlewareClient struct { 23508 grpc.ClientStream 23509 } 23510 23511 func (x *lightningRegisterRPCMiddlewareClient) Send(m *RPCMiddlewareResponse) error { 23512 return x.ClientStream.SendMsg(m) 23513 } 23514 23515 func (x *lightningRegisterRPCMiddlewareClient) Recv() (*RPCMiddlewareRequest, error) { 23516 m := new(RPCMiddlewareRequest) 23517 if err := x.ClientStream.RecvMsg(m); err != nil { 23518 return nil, err 23519 } 23520 return m, nil 23521 } 23522 23523 func (c *lightningClient) SendCustomMessage(ctx context.Context, in *SendCustomMessageRequest, opts ...grpc.CallOption) (*SendCustomMessageResponse, error) { 23524 out := new(SendCustomMessageResponse) 23525 err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SendCustomMessage", in, out, opts...) 23526 if err != nil { 23527 return nil, err 23528 } 23529 return out, nil 23530 } 23531 23532 func (c *lightningClient) SubscribeCustomMessages(ctx context.Context, in *SubscribeCustomMessagesRequest, opts ...grpc.CallOption) (Lightning_SubscribeCustomMessagesClient, error) { 23533 stream, err := c.cc.NewStream(ctx, &_Lightning_serviceDesc.Streams[12], "/lnrpc.Lightning/SubscribeCustomMessages", opts...) 23534 if err != nil { 23535 return nil, err 23536 } 23537 x := &lightningSubscribeCustomMessagesClient{stream} 23538 if err := x.ClientStream.SendMsg(in); err != nil { 23539 return nil, err 23540 } 23541 if err := x.ClientStream.CloseSend(); err != nil { 23542 return nil, err 23543 } 23544 return x, nil 23545 } 23546 23547 type Lightning_SubscribeCustomMessagesClient interface { 23548 Recv() (*CustomMessage, error) 23549 grpc.ClientStream 23550 } 23551 23552 type lightningSubscribeCustomMessagesClient struct { 23553 grpc.ClientStream 23554 } 23555 23556 func (x *lightningSubscribeCustomMessagesClient) Recv() (*CustomMessage, error) { 23557 m := new(CustomMessage) 23558 if err := x.ClientStream.RecvMsg(m); err != nil { 23559 return nil, err 23560 } 23561 return m, nil 23562 } 23563 23564 // LightningServer is the server API for Lightning service. 23565 type LightningServer interface { 23566 // lncli: `walletbalance` 23567 // WalletBalance returns total unspent outputs(confirmed and unconfirmed), all 23568 // confirmed unspent outputs and all unconfirmed unspent outputs under control 23569 // of the wallet. 23570 WalletBalance(context.Context, *WalletBalanceRequest) (*WalletBalanceResponse, error) 23571 // lncli: `channelbalance` 23572 // ChannelBalance returns a report on the total funds across all open channels, 23573 // categorized in local/remote, pending local/remote and unsettled local/remote 23574 // balances. 23575 ChannelBalance(context.Context, *ChannelBalanceRequest) (*ChannelBalanceResponse, error) 23576 // lncli: `listchaintxns` 23577 // GetTransactions returns a list describing all the known transactions 23578 // relevant to the wallet. 23579 GetTransactions(context.Context, *GetTransactionsRequest) (*TransactionDetails, error) 23580 // lncli: `estimatefee` 23581 // EstimateFee asks the chain backend to estimate the fee rate and total fees 23582 // for a transaction that pays to multiple specified outputs. 23583 // 23584 // When using REST, the `AddrToAmount` map type can be set by appending 23585 // `&AddrToAmount[<address>]=<amount_to_send>` to the URL. Unfortunately this 23586 // map type doesn't appear in the REST API documentation because of a bug in 23587 // the grpc-gateway library. 23588 EstimateFee(context.Context, *EstimateFeeRequest) (*EstimateFeeResponse, error) 23589 // lncli: `sendcoins` 23590 // SendCoins executes a request to send coins to a particular address. Unlike 23591 // SendMany, this RPC call only allows creating a single output at a time. If 23592 // neither target_conf, or atoms_per_byte are set, then the internal wallet 23593 // will consult its fee model to determine a fee for the default confirmation 23594 // target. 23595 SendCoins(context.Context, *SendCoinsRequest) (*SendCoinsResponse, error) 23596 // lncli: `listunspent` 23597 // Deprecated, use walletrpc.ListUnspent instead. 23598 // 23599 // ListUnspent returns a list of all utxos spendable by the wallet with a 23600 // number of confirmations between the specified minimum and maximum. 23601 ListUnspent(context.Context, *ListUnspentRequest) (*ListUnspentResponse, error) 23602 // SubscribeTransactions creates a uni-directional stream from the server to 23603 // the client in which any newly discovered transactions relevant to the 23604 // wallet are sent over. 23605 SubscribeTransactions(*GetTransactionsRequest, Lightning_SubscribeTransactionsServer) error 23606 // lncli: `sendmany` 23607 // SendMany handles a request for a transaction that creates multiple specified 23608 // outputs in parallel. If neither target_conf, or atoms_per_byte are set, then 23609 // the internal wallet will consult its fee model to determine a fee for the 23610 // default confirmation target. 23611 SendMany(context.Context, *SendManyRequest) (*SendManyResponse, error) 23612 // lncli: `newaddress` 23613 // NewAddress creates a new address under control of the local wallet. 23614 NewAddress(context.Context, *NewAddressRequest) (*NewAddressResponse, error) 23615 // lncli: `signmessage` 23616 // SignMessage signs a message with this node's private key. The returned 23617 // signature string is `zbase32` encoded and pubkey recoverable, meaning that 23618 // only the message digest and signature are needed for verification. 23619 SignMessage(context.Context, *SignMessageRequest) (*SignMessageResponse, error) 23620 // lncli: `verifymessage` 23621 // VerifyMessage verifies a signature over a msg. The signature must be 23622 // zbase32 encoded and signed by an active node in the resident node's 23623 // channel database. In addition to returning the validity of the signature, 23624 // VerifyMessage also returns the recovered pubkey from the signature. 23625 VerifyMessage(context.Context, *VerifyMessageRequest) (*VerifyMessageResponse, error) 23626 // lncli: `connect` 23627 // ConnectPeer attempts to establish a connection to a remote peer. This is at 23628 // the networking level, and is used for communication between nodes. This is 23629 // distinct from establishing a channel with a peer. 23630 ConnectPeer(context.Context, *ConnectPeerRequest) (*ConnectPeerResponse, error) 23631 // lncli: `disconnect` 23632 // DisconnectPeer attempts to disconnect one peer from another identified by a 23633 // given pubKey. In the case that we currently have a pending or active channel 23634 // with the target peer, then this action will be not be allowed. 23635 DisconnectPeer(context.Context, *DisconnectPeerRequest) (*DisconnectPeerResponse, error) 23636 // lncli: `listpeers` 23637 // ListPeers returns a verbose listing of all currently active peers. 23638 ListPeers(context.Context, *ListPeersRequest) (*ListPeersResponse, error) 23639 // SubscribePeerEvents creates a uni-directional stream from the server to 23640 // the client in which any events relevant to the state of peers are sent 23641 // over. Events include peers going online and offline. 23642 SubscribePeerEvents(*PeerEventSubscription, Lightning_SubscribePeerEventsServer) error 23643 // lncli: `getinfo` 23644 // GetInfo returns general information concerning the lightning node including 23645 // it's identity pubkey, alias, the chains it is connected to, and information 23646 // concerning the number of open+pending channels. 23647 GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error) 23648 // * lncli: `getrecoveryinfo` 23649 // GetRecoveryInfo returns information concerning the recovery mode including 23650 // whether it's in a recovery mode, whether the recovery is finished, and the 23651 // progress made so far. 23652 GetRecoveryInfo(context.Context, *GetRecoveryInfoRequest) (*GetRecoveryInfoResponse, error) 23653 // lncli: `pendingchannels` 23654 // PendingChannels returns a list of all the channels that are currently 23655 // considered "pending". A channel is pending if it has finished the funding 23656 // workflow and is waiting for confirmations for the funding txn, or is in the 23657 // process of closure, either initiated cooperatively or non-cooperatively. 23658 PendingChannels(context.Context, *PendingChannelsRequest) (*PendingChannelsResponse, error) 23659 // lncli: `listchannels` 23660 // ListChannels returns a description of all the open channels that this node 23661 // is a participant in. 23662 ListChannels(context.Context, *ListChannelsRequest) (*ListChannelsResponse, error) 23663 // SubscribeChannelEvents creates a uni-directional stream from the server to 23664 // the client in which any updates relevant to the state of the channels are 23665 // sent over. Events include new active channels, inactive channels, and closed 23666 // channels. 23667 SubscribeChannelEvents(*ChannelEventSubscription, Lightning_SubscribeChannelEventsServer) error 23668 // lncli: `closedchannels` 23669 // ClosedChannels returns a description of all the closed channels that 23670 // this node was a participant in. 23671 ClosedChannels(context.Context, *ClosedChannelsRequest) (*ClosedChannelsResponse, error) 23672 // OpenChannelSync is a synchronous version of the OpenChannel RPC call. This 23673 // call is meant to be consumed by clients to the REST proxy. As with all 23674 // other sync calls, all byte slices are intended to be populated as hex 23675 // encoded strings. 23676 OpenChannelSync(context.Context, *OpenChannelRequest) (*ChannelPoint, error) 23677 // lncli: `openchannel` 23678 // OpenChannel attempts to open a singly funded channel specified in the 23679 // request to a remote peer. Users are able to specify a target number of 23680 // blocks that the funding transaction should be confirmed in, or a manual fee 23681 // rate to us for the funding transaction. If neither are specified, then a 23682 // lax block confirmation target is used. Each OpenStatusUpdate will return 23683 // the pending channel ID of the in-progress channel. Depending on the 23684 // arguments specified in the OpenChannelRequest, this pending channel ID can 23685 // then be used to manually progress the channel funding flow. 23686 OpenChannel(*OpenChannelRequest, Lightning_OpenChannelServer) error 23687 // lncli: `batchopenchannel` 23688 // BatchOpenChannel attempts to open multiple single-funded channels in a 23689 // single transaction in an atomic way. This means either all channel open 23690 // requests succeed at once or all attempts are aborted if any of them fail. 23691 // This is the safer variant of using PSBTs to manually fund a batch of 23692 // channels through the OpenChannel RPC. 23693 BatchOpenChannel(context.Context, *BatchOpenChannelRequest) (*BatchOpenChannelResponse, error) 23694 // FundingStateStep is an advanced funding related call that allows the caller 23695 // to either execute some preparatory steps for a funding workflow, or 23696 // manually progress a funding workflow. The primary way a funding flow is 23697 // identified is via its pending channel ID. As an example, this method can be 23698 // used to specify that we're expecting a funding flow for a particular 23699 // pending channel ID, for which we need to use specific parameters. 23700 // Alternatively, this can be used to interactively drive PSBT signing for 23701 // funding for partially complete funding transactions. 23702 FundingStateStep(context.Context, *FundingTransitionMsg) (*FundingStateStepResp, error) 23703 // ChannelAcceptor dispatches a bi-directional streaming RPC in which 23704 // OpenChannel requests are sent to the client and the client responds with 23705 // a boolean that tells LND whether or not to accept the channel. This allows 23706 // node operators to specify their own criteria for accepting inbound channels 23707 // through a single persistent connection. 23708 ChannelAcceptor(Lightning_ChannelAcceptorServer) error 23709 // lncli: `closechannel` 23710 // CloseChannel attempts to close an active channel identified by its channel 23711 // outpoint (ChannelPoint). The actions of this method can additionally be 23712 // augmented to attempt a force close after a timeout period in the case of an 23713 // inactive peer. If a non-force close (cooperative closure) is requested, 23714 // then the user can specify either a target number of blocks until the 23715 // closure transaction is confirmed, or a manual fee rate. If neither are 23716 // specified, then a default lax, block confirmation target is used. 23717 CloseChannel(*CloseChannelRequest, Lightning_CloseChannelServer) error 23718 // lncli: `abandonchannel` 23719 // AbandonChannel removes all channel state from the database except for a 23720 // close summary. This method can be used to get rid of permanently unusable 23721 // channels due to bugs fixed in newer versions of lnd. This method can also be 23722 // used to remove externally funded channels where the funding transaction was 23723 // never broadcast. Only available for non-externally funded channels in dev 23724 // build. 23725 AbandonChannel(context.Context, *AbandonChannelRequest) (*AbandonChannelResponse, error) 23726 // Deprecated: Do not use. 23727 // lncli: `sendpayment` 23728 // Deprecated, use routerrpc.SendPaymentV2. SendPayment dispatches a 23729 // bi-directional streaming RPC for sending payments through the Lightning 23730 // Network. A single RPC invocation creates a persistent bi-directional 23731 // stream allowing clients to rapidly send payments through the Lightning 23732 // Network with a single persistent connection. 23733 SendPayment(Lightning_SendPaymentServer) error 23734 // SendPaymentSync is the synchronous non-streaming version of SendPayment. 23735 // This RPC is intended to be consumed by clients of the REST proxy. 23736 // Additionally, this RPC expects the destination's public key and the payment 23737 // hash (if any) to be encoded as hex strings. 23738 SendPaymentSync(context.Context, *SendRequest) (*SendResponse, error) 23739 // Deprecated: Do not use. 23740 // lncli: `sendtoroute` 23741 // Deprecated, use routerrpc.SendToRouteV2. SendToRoute is a bi-directional 23742 // streaming RPC for sending payment through the Lightning Network. This 23743 // method differs from SendPayment in that it allows users to specify a full 23744 // route manually. This can be used for things like rebalancing, and atomic 23745 // swaps. 23746 SendToRoute(Lightning_SendToRouteServer) error 23747 // SendToRouteSync is a synchronous version of SendToRoute. It Will block 23748 // until the payment either fails or succeeds. 23749 SendToRouteSync(context.Context, *SendToRouteRequest) (*SendResponse, error) 23750 // lncli: `addinvoice` 23751 // AddInvoice attempts to add a new invoice to the invoice database. Any 23752 // duplicated invoices are rejected, therefore all invoices *must* have a 23753 // unique payment preimage. 23754 AddInvoice(context.Context, *Invoice) (*AddInvoiceResponse, error) 23755 // lncli: `listinvoices` 23756 // ListInvoices returns a list of all the invoices currently stored within the 23757 // database. Any active debug invoices are ignored. It has full support for 23758 // paginated responses, allowing users to query for specific invoices through 23759 // their add_index. This can be done by using either the first_index_offset or 23760 // last_index_offset fields included in the response as the index_offset of the 23761 // next request. By default, the first 100 invoices created will be returned. 23762 // Backwards pagination is also supported through the Reversed flag. 23763 ListInvoices(context.Context, *ListInvoiceRequest) (*ListInvoiceResponse, error) 23764 // lncli: `lookupinvoice` 23765 // LookupInvoice attempts to look up an invoice according to its payment hash. 23766 // The passed payment hash *must* be exactly 32 bytes, if not, an error is 23767 // returned. 23768 LookupInvoice(context.Context, *PaymentHash) (*Invoice, error) 23769 // SubscribeInvoices returns a uni-directional stream (server -> client) for 23770 // notifying the client of newly added/settled invoices. The caller can 23771 // optionally specify the add_index and/or the settle_index. If the add_index 23772 // is specified, then we'll first start by sending add invoice events for all 23773 // invoices with an add_index greater than the specified value. If the 23774 // settle_index is specified, the next, we'll send out all settle events for 23775 // invoices with a settle_index greater than the specified value. One or both 23776 // of these fields can be set. If no fields are set, then we'll only send out 23777 // the latest add/settle events. 23778 SubscribeInvoices(*InvoiceSubscription, Lightning_SubscribeInvoicesServer) error 23779 // lncli: `decodepayreq` 23780 // DecodePayReq takes an encoded payment request string and attempts to decode 23781 // it, returning a full description of the conditions encoded within the 23782 // payment request. 23783 DecodePayReq(context.Context, *PayReqString) (*PayReq, error) 23784 // lncli: `listpayments` 23785 // ListPayments returns a list of all outgoing payments. 23786 ListPayments(context.Context, *ListPaymentsRequest) (*ListPaymentsResponse, error) 23787 // DeletePayment deletes an outgoing payment from DB. Note that it will not 23788 // attempt to delete an In-Flight payment, since that would be unsafe. 23789 DeletePayment(context.Context, *DeletePaymentRequest) (*DeletePaymentResponse, error) 23790 // DeleteAllPayments deletes all outgoing payments from DB. Note that it will 23791 // not attempt to delete In-Flight payments, since that would be unsafe. 23792 DeleteAllPayments(context.Context, *DeleteAllPaymentsRequest) (*DeleteAllPaymentsResponse, error) 23793 // lncli: `describegraph` 23794 // DescribeGraph returns a description of the latest graph state from the 23795 // point of view of the node. The graph information is partitioned into two 23796 // components: all the nodes/vertexes, and all the edges that connect the 23797 // vertexes themselves. As this is a directed graph, the edges also contain 23798 // the node directional specific routing policy which includes: the time lock 23799 // delta, fee information, etc. 23800 DescribeGraph(context.Context, *ChannelGraphRequest) (*ChannelGraph, error) 23801 // lncli: `getnodemetrics` 23802 // GetNodeMetrics returns node metrics calculated from the graph. Currently 23803 // the only supported metric is betweenness centrality of individual nodes. 23804 GetNodeMetrics(context.Context, *NodeMetricsRequest) (*NodeMetricsResponse, error) 23805 // lncli: `getchaninfo` 23806 // GetChanInfo returns the latest authenticated network announcement for the 23807 // given channel identified by its channel ID: an 8-byte integer which 23808 // uniquely identifies the location of transaction's funding output within the 23809 // blockchain. 23810 GetChanInfo(context.Context, *ChanInfoRequest) (*ChannelEdge, error) 23811 // lncli: `getnodeinfo` 23812 // GetNodeInfo returns the latest advertised, aggregated, and authenticated 23813 // channel information for the specified node identified by its public key. 23814 GetNodeInfo(context.Context, *NodeInfoRequest) (*NodeInfo, error) 23815 // lncli: `enforcenodeping` 23816 // EnforceNodePing attempts to ping the specified peer. If the request is 23817 // canceled before a response is received from the remote peer, then this 23818 // forces lnd to disconnect from the peer (and potentially attempt to 23819 // reconnect). 23820 EnforceNodePing(context.Context, *EnforceNodePingRequest) (*EnforceNodePingResponse, error) 23821 // lncli: `queryroutes` 23822 // QueryRoutes attempts to query the daemon's Channel Router for a possible 23823 // route to a target destination capable of carrying a specific amount of 23824 // atoms. The retuned route contains the full details required to craft and 23825 // send an HTLC, also including the necessary information that should be 23826 // present within the Sphinx packet encapsulated within the HTLC. 23827 // 23828 // When using REST, the `dest_custom_records` map type can be set by appending 23829 // `&dest_custom_records[<record_number>]=<record_data_base64_url_encoded>` 23830 // to the URL. Unfortunately this map type doesn't appear in the REST API 23831 // documentation because of a bug in the grpc-gateway library. 23832 QueryRoutes(context.Context, *QueryRoutesRequest) (*QueryRoutesResponse, error) 23833 // lncli: `getnetworkinfo` 23834 // GetNetworkInfo returns some basic stats about the known channel graph from 23835 // the point of view of the node. 23836 GetNetworkInfo(context.Context, *NetworkInfoRequest) (*NetworkInfo, error) 23837 // lncli: `stop` 23838 // StopDaemon will send a shutdown request to the interrupt handler, triggering 23839 // a graceful shutdown of the daemon. 23840 StopDaemon(context.Context, *StopRequest) (*StopResponse, error) 23841 // SubscribeChannelGraph launches a streaming RPC that allows the caller to 23842 // receive notifications upon any changes to the channel graph topology from 23843 // the point of view of the responding node. Events notified include: new 23844 // nodes coming online, nodes updating their authenticated attributes, new 23845 // channels being advertised, updates in the routing policy for a directional 23846 // channel edge, and when channels are closed on-chain. 23847 SubscribeChannelGraph(*GraphTopologySubscription, Lightning_SubscribeChannelGraphServer) error 23848 // lncli: `debuglevel` 23849 // DebugLevel allows a caller to programmatically set the logging verbosity of 23850 // lnd. The logging can be targeted according to a coarse daemon-wide logging 23851 // level, or in a granular fashion to specify the logging for a target 23852 // sub-system. 23853 DebugLevel(context.Context, *DebugLevelRequest) (*DebugLevelResponse, error) 23854 // lncli: `calcpaymentstats` 23855 // CalcPaymentStats goes through the DB and generates a report on total 23856 // number of payments recorded. 23857 CalcPaymentStats(context.Context, *CalcPaymentStatsRequest) (*CalcPaymentStatsResponse, error) 23858 // lncli: `feereport` 23859 // FeeReport allows the caller to obtain a report detailing the current fee 23860 // schedule enforced by the node globally for each channel. 23861 FeeReport(context.Context, *FeeReportRequest) (*FeeReportResponse, error) 23862 // lncli: `updatechanpolicy` 23863 // UpdateChannelPolicy allows the caller to update the fee schedule and 23864 // channel policies for all channels globally, or a particular channel. 23865 UpdateChannelPolicy(context.Context, *PolicyUpdateRequest) (*PolicyUpdateResponse, error) 23866 // lncli: `fwdinghistory` 23867 // ForwardingHistory allows the caller to query the htlcswitch for a record of 23868 // all HTLCs forwarded within the target time range, and integer offset 23869 // within that time range, for a maximum number of events. If no maximum number 23870 // of events is specified, up to 100 events will be returned. If no time-range 23871 // is specified, then events will be returned in the order that they occured. 23872 // 23873 // A list of forwarding events are returned. The size of each forwarding event 23874 // is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB. 23875 // As a result each message can only contain 50k entries. Each response has 23876 // the index offset of the last entry. The index offset can be provided to the 23877 // request to allow the caller to skip a series of records. 23878 ForwardingHistory(context.Context, *ForwardingHistoryRequest) (*ForwardingHistoryResponse, error) 23879 // lncli: `exportchanbackup` 23880 // ExportChannelBackup attempts to return an encrypted static channel backup 23881 // for the target channel identified by it channel point. The backup is 23882 // encrypted with a key generated from the aezeed seed of the user. The 23883 // returned backup can either be restored using the RestoreChannelBackup 23884 // method once lnd is running, or via the InitWallet and UnlockWallet methods 23885 // from the WalletUnlocker service. 23886 ExportChannelBackup(context.Context, *ExportChannelBackupRequest) (*ChannelBackup, error) 23887 // ExportAllChannelBackups returns static channel backups for all existing 23888 // channels known to lnd. A set of regular singular static channel backups for 23889 // each channel are returned. Additionally, a multi-channel backup is returned 23890 // as well, which contains a single encrypted blob containing the backups of 23891 // each channel. 23892 ExportAllChannelBackups(context.Context, *ChanBackupExportRequest) (*ChanBackupSnapshot, error) 23893 // VerifyChanBackup allows a caller to verify the integrity of a channel backup 23894 // snapshot. This method will accept either a packed Single or a packed Multi. 23895 // Specifying both will result in an error. 23896 VerifyChanBackup(context.Context, *ChanBackupSnapshot) (*VerifyChanBackupResponse, error) 23897 // lncli: `restorechanbackup` 23898 // RestoreChannelBackups accepts a set of singular channel backups, or a 23899 // single encrypted multi-chan backup and attempts to recover any funds 23900 // remaining within the channel. If we are able to unpack the backup, then the 23901 // new channel will be shown under listchannels, as well as pending channels. 23902 RestoreChannelBackups(context.Context, *RestoreChanBackupRequest) (*RestoreBackupResponse, error) 23903 // SubscribeChannelBackups allows a client to sub-subscribe to the most up to 23904 // date information concerning the state of all channel backups. Each time a 23905 // new channel is added, we return the new set of channels, along with a 23906 // multi-chan backup containing the backup info for all channels. Each time a 23907 // channel is closed, we send a new update, which contains new new chan back 23908 // ups, but the updated set of encrypted multi-chan backups with the closed 23909 // channel(s) removed. 23910 SubscribeChannelBackups(*ChannelBackupSubscription, Lightning_SubscribeChannelBackupsServer) error 23911 // lncli: `bakemacaroon` 23912 // BakeMacaroon allows the creation of a new macaroon with custom read and 23913 // write permissions. No first-party caveats are added since this can be done 23914 // offline. 23915 BakeMacaroon(context.Context, *BakeMacaroonRequest) (*BakeMacaroonResponse, error) 23916 // lncli: `listmacaroonids` 23917 // ListMacaroonIDs returns all root key IDs that are in use. 23918 ListMacaroonIDs(context.Context, *ListMacaroonIDsRequest) (*ListMacaroonIDsResponse, error) 23919 // lncli: `deletemacaroonid` 23920 // DeleteMacaroonID deletes the specified macaroon ID and invalidates all 23921 // macaroons derived from that ID. 23922 DeleteMacaroonID(context.Context, *DeleteMacaroonIDRequest) (*DeleteMacaroonIDResponse, error) 23923 // lncli: `listpermissions` 23924 // ListPermissions lists all RPC method URIs and their required macaroon 23925 // permissions to access them. 23926 ListPermissions(context.Context, *ListPermissionsRequest) (*ListPermissionsResponse, error) 23927 // CheckMacaroonPermissions checks whether a request follows the constraints 23928 // imposed on the macaroon and that the macaroon is authorized to follow the 23929 // provided permissions. 23930 CheckMacaroonPermissions(context.Context, *CheckMacPermRequest) (*CheckMacPermResponse, error) 23931 // RegisterRPCMiddleware adds a new gRPC middleware to the interceptor chain. A 23932 // gRPC middleware is software component external to lnd that aims to add 23933 // additional business logic to lnd by observing/intercepting/validating 23934 // incoming gRPC client requests and (if needed) replacing/overwriting outgoing 23935 // messages before they're sent to the client. When registering the middleware 23936 // must identify itself and indicate what custom macaroon caveats it wants to 23937 // be responsible for. Only requests that contain a macaroon with that specific 23938 // custom caveat are then sent to the middleware for inspection. The other 23939 // option is to register for the read-only mode in which all requests/responses 23940 // are forwarded for interception to the middleware but the middleware is not 23941 // allowed to modify any responses. As a security measure, _no_ middleware can 23942 // modify responses for requests made with _unencumbered_ macaroons! 23943 RegisterRPCMiddleware(Lightning_RegisterRPCMiddlewareServer) error 23944 // lncli: `sendcustom` 23945 // SendCustomMessage sends a custom peer message. 23946 SendCustomMessage(context.Context, *SendCustomMessageRequest) (*SendCustomMessageResponse, error) 23947 // lncli: `subscribecustom` 23948 // SubscribeCustomMessages subscribes to a stream of incoming custom peer 23949 // messages. 23950 SubscribeCustomMessages(*SubscribeCustomMessagesRequest, Lightning_SubscribeCustomMessagesServer) error 23951 } 23952 23953 // UnimplementedLightningServer can be embedded to have forward compatible implementations. 23954 type UnimplementedLightningServer struct { 23955 } 23956 23957 func (*UnimplementedLightningServer) WalletBalance(context.Context, *WalletBalanceRequest) (*WalletBalanceResponse, error) { 23958 return nil, status.Errorf(codes.Unimplemented, "method WalletBalance not implemented") 23959 } 23960 func (*UnimplementedLightningServer) ChannelBalance(context.Context, *ChannelBalanceRequest) (*ChannelBalanceResponse, error) { 23961 return nil, status.Errorf(codes.Unimplemented, "method ChannelBalance not implemented") 23962 } 23963 func (*UnimplementedLightningServer) GetTransactions(context.Context, *GetTransactionsRequest) (*TransactionDetails, error) { 23964 return nil, status.Errorf(codes.Unimplemented, "method GetTransactions not implemented") 23965 } 23966 func (*UnimplementedLightningServer) EstimateFee(context.Context, *EstimateFeeRequest) (*EstimateFeeResponse, error) { 23967 return nil, status.Errorf(codes.Unimplemented, "method EstimateFee not implemented") 23968 } 23969 func (*UnimplementedLightningServer) SendCoins(context.Context, *SendCoinsRequest) (*SendCoinsResponse, error) { 23970 return nil, status.Errorf(codes.Unimplemented, "method SendCoins not implemented") 23971 } 23972 func (*UnimplementedLightningServer) ListUnspent(context.Context, *ListUnspentRequest) (*ListUnspentResponse, error) { 23973 return nil, status.Errorf(codes.Unimplemented, "method ListUnspent not implemented") 23974 } 23975 func (*UnimplementedLightningServer) SubscribeTransactions(*GetTransactionsRequest, Lightning_SubscribeTransactionsServer) error { 23976 return status.Errorf(codes.Unimplemented, "method SubscribeTransactions not implemented") 23977 } 23978 func (*UnimplementedLightningServer) SendMany(context.Context, *SendManyRequest) (*SendManyResponse, error) { 23979 return nil, status.Errorf(codes.Unimplemented, "method SendMany not implemented") 23980 } 23981 func (*UnimplementedLightningServer) NewAddress(context.Context, *NewAddressRequest) (*NewAddressResponse, error) { 23982 return nil, status.Errorf(codes.Unimplemented, "method NewAddress not implemented") 23983 } 23984 func (*UnimplementedLightningServer) SignMessage(context.Context, *SignMessageRequest) (*SignMessageResponse, error) { 23985 return nil, status.Errorf(codes.Unimplemented, "method SignMessage not implemented") 23986 } 23987 func (*UnimplementedLightningServer) VerifyMessage(context.Context, *VerifyMessageRequest) (*VerifyMessageResponse, error) { 23988 return nil, status.Errorf(codes.Unimplemented, "method VerifyMessage not implemented") 23989 } 23990 func (*UnimplementedLightningServer) ConnectPeer(context.Context, *ConnectPeerRequest) (*ConnectPeerResponse, error) { 23991 return nil, status.Errorf(codes.Unimplemented, "method ConnectPeer not implemented") 23992 } 23993 func (*UnimplementedLightningServer) DisconnectPeer(context.Context, *DisconnectPeerRequest) (*DisconnectPeerResponse, error) { 23994 return nil, status.Errorf(codes.Unimplemented, "method DisconnectPeer not implemented") 23995 } 23996 func (*UnimplementedLightningServer) ListPeers(context.Context, *ListPeersRequest) (*ListPeersResponse, error) { 23997 return nil, status.Errorf(codes.Unimplemented, "method ListPeers not implemented") 23998 } 23999 func (*UnimplementedLightningServer) SubscribePeerEvents(*PeerEventSubscription, Lightning_SubscribePeerEventsServer) error { 24000 return status.Errorf(codes.Unimplemented, "method SubscribePeerEvents not implemented") 24001 } 24002 func (*UnimplementedLightningServer) GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error) { 24003 return nil, status.Errorf(codes.Unimplemented, "method GetInfo not implemented") 24004 } 24005 func (*UnimplementedLightningServer) GetRecoveryInfo(context.Context, *GetRecoveryInfoRequest) (*GetRecoveryInfoResponse, error) { 24006 return nil, status.Errorf(codes.Unimplemented, "method GetRecoveryInfo not implemented") 24007 } 24008 func (*UnimplementedLightningServer) PendingChannels(context.Context, *PendingChannelsRequest) (*PendingChannelsResponse, error) { 24009 return nil, status.Errorf(codes.Unimplemented, "method PendingChannels not implemented") 24010 } 24011 func (*UnimplementedLightningServer) ListChannels(context.Context, *ListChannelsRequest) (*ListChannelsResponse, error) { 24012 return nil, status.Errorf(codes.Unimplemented, "method ListChannels not implemented") 24013 } 24014 func (*UnimplementedLightningServer) SubscribeChannelEvents(*ChannelEventSubscription, Lightning_SubscribeChannelEventsServer) error { 24015 return status.Errorf(codes.Unimplemented, "method SubscribeChannelEvents not implemented") 24016 } 24017 func (*UnimplementedLightningServer) ClosedChannels(context.Context, *ClosedChannelsRequest) (*ClosedChannelsResponse, error) { 24018 return nil, status.Errorf(codes.Unimplemented, "method ClosedChannels not implemented") 24019 } 24020 func (*UnimplementedLightningServer) OpenChannelSync(context.Context, *OpenChannelRequest) (*ChannelPoint, error) { 24021 return nil, status.Errorf(codes.Unimplemented, "method OpenChannelSync not implemented") 24022 } 24023 func (*UnimplementedLightningServer) OpenChannel(*OpenChannelRequest, Lightning_OpenChannelServer) error { 24024 return status.Errorf(codes.Unimplemented, "method OpenChannel not implemented") 24025 } 24026 func (*UnimplementedLightningServer) BatchOpenChannel(context.Context, *BatchOpenChannelRequest) (*BatchOpenChannelResponse, error) { 24027 return nil, status.Errorf(codes.Unimplemented, "method BatchOpenChannel not implemented") 24028 } 24029 func (*UnimplementedLightningServer) FundingStateStep(context.Context, *FundingTransitionMsg) (*FundingStateStepResp, error) { 24030 return nil, status.Errorf(codes.Unimplemented, "method FundingStateStep not implemented") 24031 } 24032 func (*UnimplementedLightningServer) ChannelAcceptor(Lightning_ChannelAcceptorServer) error { 24033 return status.Errorf(codes.Unimplemented, "method ChannelAcceptor not implemented") 24034 } 24035 func (*UnimplementedLightningServer) CloseChannel(*CloseChannelRequest, Lightning_CloseChannelServer) error { 24036 return status.Errorf(codes.Unimplemented, "method CloseChannel not implemented") 24037 } 24038 func (*UnimplementedLightningServer) AbandonChannel(context.Context, *AbandonChannelRequest) (*AbandonChannelResponse, error) { 24039 return nil, status.Errorf(codes.Unimplemented, "method AbandonChannel not implemented") 24040 } 24041 func (*UnimplementedLightningServer) SendPayment(Lightning_SendPaymentServer) error { 24042 return status.Errorf(codes.Unimplemented, "method SendPayment not implemented") 24043 } 24044 func (*UnimplementedLightningServer) SendPaymentSync(context.Context, *SendRequest) (*SendResponse, error) { 24045 return nil, status.Errorf(codes.Unimplemented, "method SendPaymentSync not implemented") 24046 } 24047 func (*UnimplementedLightningServer) SendToRoute(Lightning_SendToRouteServer) error { 24048 return status.Errorf(codes.Unimplemented, "method SendToRoute not implemented") 24049 } 24050 func (*UnimplementedLightningServer) SendToRouteSync(context.Context, *SendToRouteRequest) (*SendResponse, error) { 24051 return nil, status.Errorf(codes.Unimplemented, "method SendToRouteSync not implemented") 24052 } 24053 func (*UnimplementedLightningServer) AddInvoice(context.Context, *Invoice) (*AddInvoiceResponse, error) { 24054 return nil, status.Errorf(codes.Unimplemented, "method AddInvoice not implemented") 24055 } 24056 func (*UnimplementedLightningServer) ListInvoices(context.Context, *ListInvoiceRequest) (*ListInvoiceResponse, error) { 24057 return nil, status.Errorf(codes.Unimplemented, "method ListInvoices not implemented") 24058 } 24059 func (*UnimplementedLightningServer) LookupInvoice(context.Context, *PaymentHash) (*Invoice, error) { 24060 return nil, status.Errorf(codes.Unimplemented, "method LookupInvoice not implemented") 24061 } 24062 func (*UnimplementedLightningServer) SubscribeInvoices(*InvoiceSubscription, Lightning_SubscribeInvoicesServer) error { 24063 return status.Errorf(codes.Unimplemented, "method SubscribeInvoices not implemented") 24064 } 24065 func (*UnimplementedLightningServer) DecodePayReq(context.Context, *PayReqString) (*PayReq, error) { 24066 return nil, status.Errorf(codes.Unimplemented, "method DecodePayReq not implemented") 24067 } 24068 func (*UnimplementedLightningServer) ListPayments(context.Context, *ListPaymentsRequest) (*ListPaymentsResponse, error) { 24069 return nil, status.Errorf(codes.Unimplemented, "method ListPayments not implemented") 24070 } 24071 func (*UnimplementedLightningServer) DeletePayment(context.Context, *DeletePaymentRequest) (*DeletePaymentResponse, error) { 24072 return nil, status.Errorf(codes.Unimplemented, "method DeletePayment not implemented") 24073 } 24074 func (*UnimplementedLightningServer) DeleteAllPayments(context.Context, *DeleteAllPaymentsRequest) (*DeleteAllPaymentsResponse, error) { 24075 return nil, status.Errorf(codes.Unimplemented, "method DeleteAllPayments not implemented") 24076 } 24077 func (*UnimplementedLightningServer) DescribeGraph(context.Context, *ChannelGraphRequest) (*ChannelGraph, error) { 24078 return nil, status.Errorf(codes.Unimplemented, "method DescribeGraph not implemented") 24079 } 24080 func (*UnimplementedLightningServer) GetNodeMetrics(context.Context, *NodeMetricsRequest) (*NodeMetricsResponse, error) { 24081 return nil, status.Errorf(codes.Unimplemented, "method GetNodeMetrics not implemented") 24082 } 24083 func (*UnimplementedLightningServer) GetChanInfo(context.Context, *ChanInfoRequest) (*ChannelEdge, error) { 24084 return nil, status.Errorf(codes.Unimplemented, "method GetChanInfo not implemented") 24085 } 24086 func (*UnimplementedLightningServer) GetNodeInfo(context.Context, *NodeInfoRequest) (*NodeInfo, error) { 24087 return nil, status.Errorf(codes.Unimplemented, "method GetNodeInfo not implemented") 24088 } 24089 func (*UnimplementedLightningServer) EnforceNodePing(context.Context, *EnforceNodePingRequest) (*EnforceNodePingResponse, error) { 24090 return nil, status.Errorf(codes.Unimplemented, "method EnforceNodePing not implemented") 24091 } 24092 func (*UnimplementedLightningServer) QueryRoutes(context.Context, *QueryRoutesRequest) (*QueryRoutesResponse, error) { 24093 return nil, status.Errorf(codes.Unimplemented, "method QueryRoutes not implemented") 24094 } 24095 func (*UnimplementedLightningServer) GetNetworkInfo(context.Context, *NetworkInfoRequest) (*NetworkInfo, error) { 24096 return nil, status.Errorf(codes.Unimplemented, "method GetNetworkInfo not implemented") 24097 } 24098 func (*UnimplementedLightningServer) StopDaemon(context.Context, *StopRequest) (*StopResponse, error) { 24099 return nil, status.Errorf(codes.Unimplemented, "method StopDaemon not implemented") 24100 } 24101 func (*UnimplementedLightningServer) SubscribeChannelGraph(*GraphTopologySubscription, Lightning_SubscribeChannelGraphServer) error { 24102 return status.Errorf(codes.Unimplemented, "method SubscribeChannelGraph not implemented") 24103 } 24104 func (*UnimplementedLightningServer) DebugLevel(context.Context, *DebugLevelRequest) (*DebugLevelResponse, error) { 24105 return nil, status.Errorf(codes.Unimplemented, "method DebugLevel not implemented") 24106 } 24107 func (*UnimplementedLightningServer) CalcPaymentStats(context.Context, *CalcPaymentStatsRequest) (*CalcPaymentStatsResponse, error) { 24108 return nil, status.Errorf(codes.Unimplemented, "method CalcPaymentStats not implemented") 24109 } 24110 func (*UnimplementedLightningServer) FeeReport(context.Context, *FeeReportRequest) (*FeeReportResponse, error) { 24111 return nil, status.Errorf(codes.Unimplemented, "method FeeReport not implemented") 24112 } 24113 func (*UnimplementedLightningServer) UpdateChannelPolicy(context.Context, *PolicyUpdateRequest) (*PolicyUpdateResponse, error) { 24114 return nil, status.Errorf(codes.Unimplemented, "method UpdateChannelPolicy not implemented") 24115 } 24116 func (*UnimplementedLightningServer) ForwardingHistory(context.Context, *ForwardingHistoryRequest) (*ForwardingHistoryResponse, error) { 24117 return nil, status.Errorf(codes.Unimplemented, "method ForwardingHistory not implemented") 24118 } 24119 func (*UnimplementedLightningServer) ExportChannelBackup(context.Context, *ExportChannelBackupRequest) (*ChannelBackup, error) { 24120 return nil, status.Errorf(codes.Unimplemented, "method ExportChannelBackup not implemented") 24121 } 24122 func (*UnimplementedLightningServer) ExportAllChannelBackups(context.Context, *ChanBackupExportRequest) (*ChanBackupSnapshot, error) { 24123 return nil, status.Errorf(codes.Unimplemented, "method ExportAllChannelBackups not implemented") 24124 } 24125 func (*UnimplementedLightningServer) VerifyChanBackup(context.Context, *ChanBackupSnapshot) (*VerifyChanBackupResponse, error) { 24126 return nil, status.Errorf(codes.Unimplemented, "method VerifyChanBackup not implemented") 24127 } 24128 func (*UnimplementedLightningServer) RestoreChannelBackups(context.Context, *RestoreChanBackupRequest) (*RestoreBackupResponse, error) { 24129 return nil, status.Errorf(codes.Unimplemented, "method RestoreChannelBackups not implemented") 24130 } 24131 func (*UnimplementedLightningServer) SubscribeChannelBackups(*ChannelBackupSubscription, Lightning_SubscribeChannelBackupsServer) error { 24132 return status.Errorf(codes.Unimplemented, "method SubscribeChannelBackups not implemented") 24133 } 24134 func (*UnimplementedLightningServer) BakeMacaroon(context.Context, *BakeMacaroonRequest) (*BakeMacaroonResponse, error) { 24135 return nil, status.Errorf(codes.Unimplemented, "method BakeMacaroon not implemented") 24136 } 24137 func (*UnimplementedLightningServer) ListMacaroonIDs(context.Context, *ListMacaroonIDsRequest) (*ListMacaroonIDsResponse, error) { 24138 return nil, status.Errorf(codes.Unimplemented, "method ListMacaroonIDs not implemented") 24139 } 24140 func (*UnimplementedLightningServer) DeleteMacaroonID(context.Context, *DeleteMacaroonIDRequest) (*DeleteMacaroonIDResponse, error) { 24141 return nil, status.Errorf(codes.Unimplemented, "method DeleteMacaroonID not implemented") 24142 } 24143 func (*UnimplementedLightningServer) ListPermissions(context.Context, *ListPermissionsRequest) (*ListPermissionsResponse, error) { 24144 return nil, status.Errorf(codes.Unimplemented, "method ListPermissions not implemented") 24145 } 24146 func (*UnimplementedLightningServer) CheckMacaroonPermissions(context.Context, *CheckMacPermRequest) (*CheckMacPermResponse, error) { 24147 return nil, status.Errorf(codes.Unimplemented, "method CheckMacaroonPermissions not implemented") 24148 } 24149 func (*UnimplementedLightningServer) RegisterRPCMiddleware(Lightning_RegisterRPCMiddlewareServer) error { 24150 return status.Errorf(codes.Unimplemented, "method RegisterRPCMiddleware not implemented") 24151 } 24152 func (*UnimplementedLightningServer) SendCustomMessage(context.Context, *SendCustomMessageRequest) (*SendCustomMessageResponse, error) { 24153 return nil, status.Errorf(codes.Unimplemented, "method SendCustomMessage not implemented") 24154 } 24155 func (*UnimplementedLightningServer) SubscribeCustomMessages(*SubscribeCustomMessagesRequest, Lightning_SubscribeCustomMessagesServer) error { 24156 return status.Errorf(codes.Unimplemented, "method SubscribeCustomMessages not implemented") 24157 } 24158 24159 func RegisterLightningServer(s *grpc.Server, srv LightningServer) { 24160 s.RegisterService(&_Lightning_serviceDesc, srv) 24161 } 24162 24163 func _Lightning_WalletBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24164 in := new(WalletBalanceRequest) 24165 if err := dec(in); err != nil { 24166 return nil, err 24167 } 24168 if interceptor == nil { 24169 return srv.(LightningServer).WalletBalance(ctx, in) 24170 } 24171 info := &grpc.UnaryServerInfo{ 24172 Server: srv, 24173 FullMethod: "/lnrpc.Lightning/WalletBalance", 24174 } 24175 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24176 return srv.(LightningServer).WalletBalance(ctx, req.(*WalletBalanceRequest)) 24177 } 24178 return interceptor(ctx, in, info, handler) 24179 } 24180 24181 func _Lightning_ChannelBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24182 in := new(ChannelBalanceRequest) 24183 if err := dec(in); err != nil { 24184 return nil, err 24185 } 24186 if interceptor == nil { 24187 return srv.(LightningServer).ChannelBalance(ctx, in) 24188 } 24189 info := &grpc.UnaryServerInfo{ 24190 Server: srv, 24191 FullMethod: "/lnrpc.Lightning/ChannelBalance", 24192 } 24193 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24194 return srv.(LightningServer).ChannelBalance(ctx, req.(*ChannelBalanceRequest)) 24195 } 24196 return interceptor(ctx, in, info, handler) 24197 } 24198 24199 func _Lightning_GetTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24200 in := new(GetTransactionsRequest) 24201 if err := dec(in); err != nil { 24202 return nil, err 24203 } 24204 if interceptor == nil { 24205 return srv.(LightningServer).GetTransactions(ctx, in) 24206 } 24207 info := &grpc.UnaryServerInfo{ 24208 Server: srv, 24209 FullMethod: "/lnrpc.Lightning/GetTransactions", 24210 } 24211 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24212 return srv.(LightningServer).GetTransactions(ctx, req.(*GetTransactionsRequest)) 24213 } 24214 return interceptor(ctx, in, info, handler) 24215 } 24216 24217 func _Lightning_EstimateFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24218 in := new(EstimateFeeRequest) 24219 if err := dec(in); err != nil { 24220 return nil, err 24221 } 24222 if interceptor == nil { 24223 return srv.(LightningServer).EstimateFee(ctx, in) 24224 } 24225 info := &grpc.UnaryServerInfo{ 24226 Server: srv, 24227 FullMethod: "/lnrpc.Lightning/EstimateFee", 24228 } 24229 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24230 return srv.(LightningServer).EstimateFee(ctx, req.(*EstimateFeeRequest)) 24231 } 24232 return interceptor(ctx, in, info, handler) 24233 } 24234 24235 func _Lightning_SendCoins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24236 in := new(SendCoinsRequest) 24237 if err := dec(in); err != nil { 24238 return nil, err 24239 } 24240 if interceptor == nil { 24241 return srv.(LightningServer).SendCoins(ctx, in) 24242 } 24243 info := &grpc.UnaryServerInfo{ 24244 Server: srv, 24245 FullMethod: "/lnrpc.Lightning/SendCoins", 24246 } 24247 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24248 return srv.(LightningServer).SendCoins(ctx, req.(*SendCoinsRequest)) 24249 } 24250 return interceptor(ctx, in, info, handler) 24251 } 24252 24253 func _Lightning_ListUnspent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24254 in := new(ListUnspentRequest) 24255 if err := dec(in); err != nil { 24256 return nil, err 24257 } 24258 if interceptor == nil { 24259 return srv.(LightningServer).ListUnspent(ctx, in) 24260 } 24261 info := &grpc.UnaryServerInfo{ 24262 Server: srv, 24263 FullMethod: "/lnrpc.Lightning/ListUnspent", 24264 } 24265 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24266 return srv.(LightningServer).ListUnspent(ctx, req.(*ListUnspentRequest)) 24267 } 24268 return interceptor(ctx, in, info, handler) 24269 } 24270 24271 func _Lightning_SubscribeTransactions_Handler(srv interface{}, stream grpc.ServerStream) error { 24272 m := new(GetTransactionsRequest) 24273 if err := stream.RecvMsg(m); err != nil { 24274 return err 24275 } 24276 return srv.(LightningServer).SubscribeTransactions(m, &lightningSubscribeTransactionsServer{stream}) 24277 } 24278 24279 type Lightning_SubscribeTransactionsServer interface { 24280 Send(*Transaction) error 24281 grpc.ServerStream 24282 } 24283 24284 type lightningSubscribeTransactionsServer struct { 24285 grpc.ServerStream 24286 } 24287 24288 func (x *lightningSubscribeTransactionsServer) Send(m *Transaction) error { 24289 return x.ServerStream.SendMsg(m) 24290 } 24291 24292 func _Lightning_SendMany_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24293 in := new(SendManyRequest) 24294 if err := dec(in); err != nil { 24295 return nil, err 24296 } 24297 if interceptor == nil { 24298 return srv.(LightningServer).SendMany(ctx, in) 24299 } 24300 info := &grpc.UnaryServerInfo{ 24301 Server: srv, 24302 FullMethod: "/lnrpc.Lightning/SendMany", 24303 } 24304 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24305 return srv.(LightningServer).SendMany(ctx, req.(*SendManyRequest)) 24306 } 24307 return interceptor(ctx, in, info, handler) 24308 } 24309 24310 func _Lightning_NewAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24311 in := new(NewAddressRequest) 24312 if err := dec(in); err != nil { 24313 return nil, err 24314 } 24315 if interceptor == nil { 24316 return srv.(LightningServer).NewAddress(ctx, in) 24317 } 24318 info := &grpc.UnaryServerInfo{ 24319 Server: srv, 24320 FullMethod: "/lnrpc.Lightning/NewAddress", 24321 } 24322 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24323 return srv.(LightningServer).NewAddress(ctx, req.(*NewAddressRequest)) 24324 } 24325 return interceptor(ctx, in, info, handler) 24326 } 24327 24328 func _Lightning_SignMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24329 in := new(SignMessageRequest) 24330 if err := dec(in); err != nil { 24331 return nil, err 24332 } 24333 if interceptor == nil { 24334 return srv.(LightningServer).SignMessage(ctx, in) 24335 } 24336 info := &grpc.UnaryServerInfo{ 24337 Server: srv, 24338 FullMethod: "/lnrpc.Lightning/SignMessage", 24339 } 24340 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24341 return srv.(LightningServer).SignMessage(ctx, req.(*SignMessageRequest)) 24342 } 24343 return interceptor(ctx, in, info, handler) 24344 } 24345 24346 func _Lightning_VerifyMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24347 in := new(VerifyMessageRequest) 24348 if err := dec(in); err != nil { 24349 return nil, err 24350 } 24351 if interceptor == nil { 24352 return srv.(LightningServer).VerifyMessage(ctx, in) 24353 } 24354 info := &grpc.UnaryServerInfo{ 24355 Server: srv, 24356 FullMethod: "/lnrpc.Lightning/VerifyMessage", 24357 } 24358 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24359 return srv.(LightningServer).VerifyMessage(ctx, req.(*VerifyMessageRequest)) 24360 } 24361 return interceptor(ctx, in, info, handler) 24362 } 24363 24364 func _Lightning_ConnectPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24365 in := new(ConnectPeerRequest) 24366 if err := dec(in); err != nil { 24367 return nil, err 24368 } 24369 if interceptor == nil { 24370 return srv.(LightningServer).ConnectPeer(ctx, in) 24371 } 24372 info := &grpc.UnaryServerInfo{ 24373 Server: srv, 24374 FullMethod: "/lnrpc.Lightning/ConnectPeer", 24375 } 24376 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24377 return srv.(LightningServer).ConnectPeer(ctx, req.(*ConnectPeerRequest)) 24378 } 24379 return interceptor(ctx, in, info, handler) 24380 } 24381 24382 func _Lightning_DisconnectPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24383 in := new(DisconnectPeerRequest) 24384 if err := dec(in); err != nil { 24385 return nil, err 24386 } 24387 if interceptor == nil { 24388 return srv.(LightningServer).DisconnectPeer(ctx, in) 24389 } 24390 info := &grpc.UnaryServerInfo{ 24391 Server: srv, 24392 FullMethod: "/lnrpc.Lightning/DisconnectPeer", 24393 } 24394 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24395 return srv.(LightningServer).DisconnectPeer(ctx, req.(*DisconnectPeerRequest)) 24396 } 24397 return interceptor(ctx, in, info, handler) 24398 } 24399 24400 func _Lightning_ListPeers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24401 in := new(ListPeersRequest) 24402 if err := dec(in); err != nil { 24403 return nil, err 24404 } 24405 if interceptor == nil { 24406 return srv.(LightningServer).ListPeers(ctx, in) 24407 } 24408 info := &grpc.UnaryServerInfo{ 24409 Server: srv, 24410 FullMethod: "/lnrpc.Lightning/ListPeers", 24411 } 24412 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24413 return srv.(LightningServer).ListPeers(ctx, req.(*ListPeersRequest)) 24414 } 24415 return interceptor(ctx, in, info, handler) 24416 } 24417 24418 func _Lightning_SubscribePeerEvents_Handler(srv interface{}, stream grpc.ServerStream) error { 24419 m := new(PeerEventSubscription) 24420 if err := stream.RecvMsg(m); err != nil { 24421 return err 24422 } 24423 return srv.(LightningServer).SubscribePeerEvents(m, &lightningSubscribePeerEventsServer{stream}) 24424 } 24425 24426 type Lightning_SubscribePeerEventsServer interface { 24427 Send(*PeerEvent) error 24428 grpc.ServerStream 24429 } 24430 24431 type lightningSubscribePeerEventsServer struct { 24432 grpc.ServerStream 24433 } 24434 24435 func (x *lightningSubscribePeerEventsServer) Send(m *PeerEvent) error { 24436 return x.ServerStream.SendMsg(m) 24437 } 24438 24439 func _Lightning_GetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24440 in := new(GetInfoRequest) 24441 if err := dec(in); err != nil { 24442 return nil, err 24443 } 24444 if interceptor == nil { 24445 return srv.(LightningServer).GetInfo(ctx, in) 24446 } 24447 info := &grpc.UnaryServerInfo{ 24448 Server: srv, 24449 FullMethod: "/lnrpc.Lightning/GetInfo", 24450 } 24451 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24452 return srv.(LightningServer).GetInfo(ctx, req.(*GetInfoRequest)) 24453 } 24454 return interceptor(ctx, in, info, handler) 24455 } 24456 24457 func _Lightning_GetRecoveryInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24458 in := new(GetRecoveryInfoRequest) 24459 if err := dec(in); err != nil { 24460 return nil, err 24461 } 24462 if interceptor == nil { 24463 return srv.(LightningServer).GetRecoveryInfo(ctx, in) 24464 } 24465 info := &grpc.UnaryServerInfo{ 24466 Server: srv, 24467 FullMethod: "/lnrpc.Lightning/GetRecoveryInfo", 24468 } 24469 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24470 return srv.(LightningServer).GetRecoveryInfo(ctx, req.(*GetRecoveryInfoRequest)) 24471 } 24472 return interceptor(ctx, in, info, handler) 24473 } 24474 24475 func _Lightning_PendingChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24476 in := new(PendingChannelsRequest) 24477 if err := dec(in); err != nil { 24478 return nil, err 24479 } 24480 if interceptor == nil { 24481 return srv.(LightningServer).PendingChannels(ctx, in) 24482 } 24483 info := &grpc.UnaryServerInfo{ 24484 Server: srv, 24485 FullMethod: "/lnrpc.Lightning/PendingChannels", 24486 } 24487 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24488 return srv.(LightningServer).PendingChannels(ctx, req.(*PendingChannelsRequest)) 24489 } 24490 return interceptor(ctx, in, info, handler) 24491 } 24492 24493 func _Lightning_ListChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24494 in := new(ListChannelsRequest) 24495 if err := dec(in); err != nil { 24496 return nil, err 24497 } 24498 if interceptor == nil { 24499 return srv.(LightningServer).ListChannels(ctx, in) 24500 } 24501 info := &grpc.UnaryServerInfo{ 24502 Server: srv, 24503 FullMethod: "/lnrpc.Lightning/ListChannels", 24504 } 24505 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24506 return srv.(LightningServer).ListChannels(ctx, req.(*ListChannelsRequest)) 24507 } 24508 return interceptor(ctx, in, info, handler) 24509 } 24510 24511 func _Lightning_SubscribeChannelEvents_Handler(srv interface{}, stream grpc.ServerStream) error { 24512 m := new(ChannelEventSubscription) 24513 if err := stream.RecvMsg(m); err != nil { 24514 return err 24515 } 24516 return srv.(LightningServer).SubscribeChannelEvents(m, &lightningSubscribeChannelEventsServer{stream}) 24517 } 24518 24519 type Lightning_SubscribeChannelEventsServer interface { 24520 Send(*ChannelEventUpdate) error 24521 grpc.ServerStream 24522 } 24523 24524 type lightningSubscribeChannelEventsServer struct { 24525 grpc.ServerStream 24526 } 24527 24528 func (x *lightningSubscribeChannelEventsServer) Send(m *ChannelEventUpdate) error { 24529 return x.ServerStream.SendMsg(m) 24530 } 24531 24532 func _Lightning_ClosedChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24533 in := new(ClosedChannelsRequest) 24534 if err := dec(in); err != nil { 24535 return nil, err 24536 } 24537 if interceptor == nil { 24538 return srv.(LightningServer).ClosedChannels(ctx, in) 24539 } 24540 info := &grpc.UnaryServerInfo{ 24541 Server: srv, 24542 FullMethod: "/lnrpc.Lightning/ClosedChannels", 24543 } 24544 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24545 return srv.(LightningServer).ClosedChannels(ctx, req.(*ClosedChannelsRequest)) 24546 } 24547 return interceptor(ctx, in, info, handler) 24548 } 24549 24550 func _Lightning_OpenChannelSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24551 in := new(OpenChannelRequest) 24552 if err := dec(in); err != nil { 24553 return nil, err 24554 } 24555 if interceptor == nil { 24556 return srv.(LightningServer).OpenChannelSync(ctx, in) 24557 } 24558 info := &grpc.UnaryServerInfo{ 24559 Server: srv, 24560 FullMethod: "/lnrpc.Lightning/OpenChannelSync", 24561 } 24562 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24563 return srv.(LightningServer).OpenChannelSync(ctx, req.(*OpenChannelRequest)) 24564 } 24565 return interceptor(ctx, in, info, handler) 24566 } 24567 24568 func _Lightning_OpenChannel_Handler(srv interface{}, stream grpc.ServerStream) error { 24569 m := new(OpenChannelRequest) 24570 if err := stream.RecvMsg(m); err != nil { 24571 return err 24572 } 24573 return srv.(LightningServer).OpenChannel(m, &lightningOpenChannelServer{stream}) 24574 } 24575 24576 type Lightning_OpenChannelServer interface { 24577 Send(*OpenStatusUpdate) error 24578 grpc.ServerStream 24579 } 24580 24581 type lightningOpenChannelServer struct { 24582 grpc.ServerStream 24583 } 24584 24585 func (x *lightningOpenChannelServer) Send(m *OpenStatusUpdate) error { 24586 return x.ServerStream.SendMsg(m) 24587 } 24588 24589 func _Lightning_BatchOpenChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24590 in := new(BatchOpenChannelRequest) 24591 if err := dec(in); err != nil { 24592 return nil, err 24593 } 24594 if interceptor == nil { 24595 return srv.(LightningServer).BatchOpenChannel(ctx, in) 24596 } 24597 info := &grpc.UnaryServerInfo{ 24598 Server: srv, 24599 FullMethod: "/lnrpc.Lightning/BatchOpenChannel", 24600 } 24601 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24602 return srv.(LightningServer).BatchOpenChannel(ctx, req.(*BatchOpenChannelRequest)) 24603 } 24604 return interceptor(ctx, in, info, handler) 24605 } 24606 24607 func _Lightning_FundingStateStep_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24608 in := new(FundingTransitionMsg) 24609 if err := dec(in); err != nil { 24610 return nil, err 24611 } 24612 if interceptor == nil { 24613 return srv.(LightningServer).FundingStateStep(ctx, in) 24614 } 24615 info := &grpc.UnaryServerInfo{ 24616 Server: srv, 24617 FullMethod: "/lnrpc.Lightning/FundingStateStep", 24618 } 24619 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24620 return srv.(LightningServer).FundingStateStep(ctx, req.(*FundingTransitionMsg)) 24621 } 24622 return interceptor(ctx, in, info, handler) 24623 } 24624 24625 func _Lightning_ChannelAcceptor_Handler(srv interface{}, stream grpc.ServerStream) error { 24626 return srv.(LightningServer).ChannelAcceptor(&lightningChannelAcceptorServer{stream}) 24627 } 24628 24629 type Lightning_ChannelAcceptorServer interface { 24630 Send(*ChannelAcceptRequest) error 24631 Recv() (*ChannelAcceptResponse, error) 24632 grpc.ServerStream 24633 } 24634 24635 type lightningChannelAcceptorServer struct { 24636 grpc.ServerStream 24637 } 24638 24639 func (x *lightningChannelAcceptorServer) Send(m *ChannelAcceptRequest) error { 24640 return x.ServerStream.SendMsg(m) 24641 } 24642 24643 func (x *lightningChannelAcceptorServer) Recv() (*ChannelAcceptResponse, error) { 24644 m := new(ChannelAcceptResponse) 24645 if err := x.ServerStream.RecvMsg(m); err != nil { 24646 return nil, err 24647 } 24648 return m, nil 24649 } 24650 24651 func _Lightning_CloseChannel_Handler(srv interface{}, stream grpc.ServerStream) error { 24652 m := new(CloseChannelRequest) 24653 if err := stream.RecvMsg(m); err != nil { 24654 return err 24655 } 24656 return srv.(LightningServer).CloseChannel(m, &lightningCloseChannelServer{stream}) 24657 } 24658 24659 type Lightning_CloseChannelServer interface { 24660 Send(*CloseStatusUpdate) error 24661 grpc.ServerStream 24662 } 24663 24664 type lightningCloseChannelServer struct { 24665 grpc.ServerStream 24666 } 24667 24668 func (x *lightningCloseChannelServer) Send(m *CloseStatusUpdate) error { 24669 return x.ServerStream.SendMsg(m) 24670 } 24671 24672 func _Lightning_AbandonChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24673 in := new(AbandonChannelRequest) 24674 if err := dec(in); err != nil { 24675 return nil, err 24676 } 24677 if interceptor == nil { 24678 return srv.(LightningServer).AbandonChannel(ctx, in) 24679 } 24680 info := &grpc.UnaryServerInfo{ 24681 Server: srv, 24682 FullMethod: "/lnrpc.Lightning/AbandonChannel", 24683 } 24684 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24685 return srv.(LightningServer).AbandonChannel(ctx, req.(*AbandonChannelRequest)) 24686 } 24687 return interceptor(ctx, in, info, handler) 24688 } 24689 24690 func _Lightning_SendPayment_Handler(srv interface{}, stream grpc.ServerStream) error { 24691 return srv.(LightningServer).SendPayment(&lightningSendPaymentServer{stream}) 24692 } 24693 24694 type Lightning_SendPaymentServer interface { 24695 Send(*SendResponse) error 24696 Recv() (*SendRequest, error) 24697 grpc.ServerStream 24698 } 24699 24700 type lightningSendPaymentServer struct { 24701 grpc.ServerStream 24702 } 24703 24704 func (x *lightningSendPaymentServer) Send(m *SendResponse) error { 24705 return x.ServerStream.SendMsg(m) 24706 } 24707 24708 func (x *lightningSendPaymentServer) Recv() (*SendRequest, error) { 24709 m := new(SendRequest) 24710 if err := x.ServerStream.RecvMsg(m); err != nil { 24711 return nil, err 24712 } 24713 return m, nil 24714 } 24715 24716 func _Lightning_SendPaymentSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24717 in := new(SendRequest) 24718 if err := dec(in); err != nil { 24719 return nil, err 24720 } 24721 if interceptor == nil { 24722 return srv.(LightningServer).SendPaymentSync(ctx, in) 24723 } 24724 info := &grpc.UnaryServerInfo{ 24725 Server: srv, 24726 FullMethod: "/lnrpc.Lightning/SendPaymentSync", 24727 } 24728 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24729 return srv.(LightningServer).SendPaymentSync(ctx, req.(*SendRequest)) 24730 } 24731 return interceptor(ctx, in, info, handler) 24732 } 24733 24734 func _Lightning_SendToRoute_Handler(srv interface{}, stream grpc.ServerStream) error { 24735 return srv.(LightningServer).SendToRoute(&lightningSendToRouteServer{stream}) 24736 } 24737 24738 type Lightning_SendToRouteServer interface { 24739 Send(*SendResponse) error 24740 Recv() (*SendToRouteRequest, error) 24741 grpc.ServerStream 24742 } 24743 24744 type lightningSendToRouteServer struct { 24745 grpc.ServerStream 24746 } 24747 24748 func (x *lightningSendToRouteServer) Send(m *SendResponse) error { 24749 return x.ServerStream.SendMsg(m) 24750 } 24751 24752 func (x *lightningSendToRouteServer) Recv() (*SendToRouteRequest, error) { 24753 m := new(SendToRouteRequest) 24754 if err := x.ServerStream.RecvMsg(m); err != nil { 24755 return nil, err 24756 } 24757 return m, nil 24758 } 24759 24760 func _Lightning_SendToRouteSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24761 in := new(SendToRouteRequest) 24762 if err := dec(in); err != nil { 24763 return nil, err 24764 } 24765 if interceptor == nil { 24766 return srv.(LightningServer).SendToRouteSync(ctx, in) 24767 } 24768 info := &grpc.UnaryServerInfo{ 24769 Server: srv, 24770 FullMethod: "/lnrpc.Lightning/SendToRouteSync", 24771 } 24772 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24773 return srv.(LightningServer).SendToRouteSync(ctx, req.(*SendToRouteRequest)) 24774 } 24775 return interceptor(ctx, in, info, handler) 24776 } 24777 24778 func _Lightning_AddInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24779 in := new(Invoice) 24780 if err := dec(in); err != nil { 24781 return nil, err 24782 } 24783 if interceptor == nil { 24784 return srv.(LightningServer).AddInvoice(ctx, in) 24785 } 24786 info := &grpc.UnaryServerInfo{ 24787 Server: srv, 24788 FullMethod: "/lnrpc.Lightning/AddInvoice", 24789 } 24790 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24791 return srv.(LightningServer).AddInvoice(ctx, req.(*Invoice)) 24792 } 24793 return interceptor(ctx, in, info, handler) 24794 } 24795 24796 func _Lightning_ListInvoices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24797 in := new(ListInvoiceRequest) 24798 if err := dec(in); err != nil { 24799 return nil, err 24800 } 24801 if interceptor == nil { 24802 return srv.(LightningServer).ListInvoices(ctx, in) 24803 } 24804 info := &grpc.UnaryServerInfo{ 24805 Server: srv, 24806 FullMethod: "/lnrpc.Lightning/ListInvoices", 24807 } 24808 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24809 return srv.(LightningServer).ListInvoices(ctx, req.(*ListInvoiceRequest)) 24810 } 24811 return interceptor(ctx, in, info, handler) 24812 } 24813 24814 func _Lightning_LookupInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24815 in := new(PaymentHash) 24816 if err := dec(in); err != nil { 24817 return nil, err 24818 } 24819 if interceptor == nil { 24820 return srv.(LightningServer).LookupInvoice(ctx, in) 24821 } 24822 info := &grpc.UnaryServerInfo{ 24823 Server: srv, 24824 FullMethod: "/lnrpc.Lightning/LookupInvoice", 24825 } 24826 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24827 return srv.(LightningServer).LookupInvoice(ctx, req.(*PaymentHash)) 24828 } 24829 return interceptor(ctx, in, info, handler) 24830 } 24831 24832 func _Lightning_SubscribeInvoices_Handler(srv interface{}, stream grpc.ServerStream) error { 24833 m := new(InvoiceSubscription) 24834 if err := stream.RecvMsg(m); err != nil { 24835 return err 24836 } 24837 return srv.(LightningServer).SubscribeInvoices(m, &lightningSubscribeInvoicesServer{stream}) 24838 } 24839 24840 type Lightning_SubscribeInvoicesServer interface { 24841 Send(*Invoice) error 24842 grpc.ServerStream 24843 } 24844 24845 type lightningSubscribeInvoicesServer struct { 24846 grpc.ServerStream 24847 } 24848 24849 func (x *lightningSubscribeInvoicesServer) Send(m *Invoice) error { 24850 return x.ServerStream.SendMsg(m) 24851 } 24852 24853 func _Lightning_DecodePayReq_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24854 in := new(PayReqString) 24855 if err := dec(in); err != nil { 24856 return nil, err 24857 } 24858 if interceptor == nil { 24859 return srv.(LightningServer).DecodePayReq(ctx, in) 24860 } 24861 info := &grpc.UnaryServerInfo{ 24862 Server: srv, 24863 FullMethod: "/lnrpc.Lightning/DecodePayReq", 24864 } 24865 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24866 return srv.(LightningServer).DecodePayReq(ctx, req.(*PayReqString)) 24867 } 24868 return interceptor(ctx, in, info, handler) 24869 } 24870 24871 func _Lightning_ListPayments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24872 in := new(ListPaymentsRequest) 24873 if err := dec(in); err != nil { 24874 return nil, err 24875 } 24876 if interceptor == nil { 24877 return srv.(LightningServer).ListPayments(ctx, in) 24878 } 24879 info := &grpc.UnaryServerInfo{ 24880 Server: srv, 24881 FullMethod: "/lnrpc.Lightning/ListPayments", 24882 } 24883 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24884 return srv.(LightningServer).ListPayments(ctx, req.(*ListPaymentsRequest)) 24885 } 24886 return interceptor(ctx, in, info, handler) 24887 } 24888 24889 func _Lightning_DeletePayment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24890 in := new(DeletePaymentRequest) 24891 if err := dec(in); err != nil { 24892 return nil, err 24893 } 24894 if interceptor == nil { 24895 return srv.(LightningServer).DeletePayment(ctx, in) 24896 } 24897 info := &grpc.UnaryServerInfo{ 24898 Server: srv, 24899 FullMethod: "/lnrpc.Lightning/DeletePayment", 24900 } 24901 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24902 return srv.(LightningServer).DeletePayment(ctx, req.(*DeletePaymentRequest)) 24903 } 24904 return interceptor(ctx, in, info, handler) 24905 } 24906 24907 func _Lightning_DeleteAllPayments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24908 in := new(DeleteAllPaymentsRequest) 24909 if err := dec(in); err != nil { 24910 return nil, err 24911 } 24912 if interceptor == nil { 24913 return srv.(LightningServer).DeleteAllPayments(ctx, in) 24914 } 24915 info := &grpc.UnaryServerInfo{ 24916 Server: srv, 24917 FullMethod: "/lnrpc.Lightning/DeleteAllPayments", 24918 } 24919 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24920 return srv.(LightningServer).DeleteAllPayments(ctx, req.(*DeleteAllPaymentsRequest)) 24921 } 24922 return interceptor(ctx, in, info, handler) 24923 } 24924 24925 func _Lightning_DescribeGraph_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24926 in := new(ChannelGraphRequest) 24927 if err := dec(in); err != nil { 24928 return nil, err 24929 } 24930 if interceptor == nil { 24931 return srv.(LightningServer).DescribeGraph(ctx, in) 24932 } 24933 info := &grpc.UnaryServerInfo{ 24934 Server: srv, 24935 FullMethod: "/lnrpc.Lightning/DescribeGraph", 24936 } 24937 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24938 return srv.(LightningServer).DescribeGraph(ctx, req.(*ChannelGraphRequest)) 24939 } 24940 return interceptor(ctx, in, info, handler) 24941 } 24942 24943 func _Lightning_GetNodeMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24944 in := new(NodeMetricsRequest) 24945 if err := dec(in); err != nil { 24946 return nil, err 24947 } 24948 if interceptor == nil { 24949 return srv.(LightningServer).GetNodeMetrics(ctx, in) 24950 } 24951 info := &grpc.UnaryServerInfo{ 24952 Server: srv, 24953 FullMethod: "/lnrpc.Lightning/GetNodeMetrics", 24954 } 24955 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24956 return srv.(LightningServer).GetNodeMetrics(ctx, req.(*NodeMetricsRequest)) 24957 } 24958 return interceptor(ctx, in, info, handler) 24959 } 24960 24961 func _Lightning_GetChanInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24962 in := new(ChanInfoRequest) 24963 if err := dec(in); err != nil { 24964 return nil, err 24965 } 24966 if interceptor == nil { 24967 return srv.(LightningServer).GetChanInfo(ctx, in) 24968 } 24969 info := &grpc.UnaryServerInfo{ 24970 Server: srv, 24971 FullMethod: "/lnrpc.Lightning/GetChanInfo", 24972 } 24973 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24974 return srv.(LightningServer).GetChanInfo(ctx, req.(*ChanInfoRequest)) 24975 } 24976 return interceptor(ctx, in, info, handler) 24977 } 24978 24979 func _Lightning_GetNodeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24980 in := new(NodeInfoRequest) 24981 if err := dec(in); err != nil { 24982 return nil, err 24983 } 24984 if interceptor == nil { 24985 return srv.(LightningServer).GetNodeInfo(ctx, in) 24986 } 24987 info := &grpc.UnaryServerInfo{ 24988 Server: srv, 24989 FullMethod: "/lnrpc.Lightning/GetNodeInfo", 24990 } 24991 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 24992 return srv.(LightningServer).GetNodeInfo(ctx, req.(*NodeInfoRequest)) 24993 } 24994 return interceptor(ctx, in, info, handler) 24995 } 24996 24997 func _Lightning_EnforceNodePing_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 24998 in := new(EnforceNodePingRequest) 24999 if err := dec(in); err != nil { 25000 return nil, err 25001 } 25002 if interceptor == nil { 25003 return srv.(LightningServer).EnforceNodePing(ctx, in) 25004 } 25005 info := &grpc.UnaryServerInfo{ 25006 Server: srv, 25007 FullMethod: "/lnrpc.Lightning/EnforceNodePing", 25008 } 25009 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25010 return srv.(LightningServer).EnforceNodePing(ctx, req.(*EnforceNodePingRequest)) 25011 } 25012 return interceptor(ctx, in, info, handler) 25013 } 25014 25015 func _Lightning_QueryRoutes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25016 in := new(QueryRoutesRequest) 25017 if err := dec(in); err != nil { 25018 return nil, err 25019 } 25020 if interceptor == nil { 25021 return srv.(LightningServer).QueryRoutes(ctx, in) 25022 } 25023 info := &grpc.UnaryServerInfo{ 25024 Server: srv, 25025 FullMethod: "/lnrpc.Lightning/QueryRoutes", 25026 } 25027 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25028 return srv.(LightningServer).QueryRoutes(ctx, req.(*QueryRoutesRequest)) 25029 } 25030 return interceptor(ctx, in, info, handler) 25031 } 25032 25033 func _Lightning_GetNetworkInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25034 in := new(NetworkInfoRequest) 25035 if err := dec(in); err != nil { 25036 return nil, err 25037 } 25038 if interceptor == nil { 25039 return srv.(LightningServer).GetNetworkInfo(ctx, in) 25040 } 25041 info := &grpc.UnaryServerInfo{ 25042 Server: srv, 25043 FullMethod: "/lnrpc.Lightning/GetNetworkInfo", 25044 } 25045 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25046 return srv.(LightningServer).GetNetworkInfo(ctx, req.(*NetworkInfoRequest)) 25047 } 25048 return interceptor(ctx, in, info, handler) 25049 } 25050 25051 func _Lightning_StopDaemon_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25052 in := new(StopRequest) 25053 if err := dec(in); err != nil { 25054 return nil, err 25055 } 25056 if interceptor == nil { 25057 return srv.(LightningServer).StopDaemon(ctx, in) 25058 } 25059 info := &grpc.UnaryServerInfo{ 25060 Server: srv, 25061 FullMethod: "/lnrpc.Lightning/StopDaemon", 25062 } 25063 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25064 return srv.(LightningServer).StopDaemon(ctx, req.(*StopRequest)) 25065 } 25066 return interceptor(ctx, in, info, handler) 25067 } 25068 25069 func _Lightning_SubscribeChannelGraph_Handler(srv interface{}, stream grpc.ServerStream) error { 25070 m := new(GraphTopologySubscription) 25071 if err := stream.RecvMsg(m); err != nil { 25072 return err 25073 } 25074 return srv.(LightningServer).SubscribeChannelGraph(m, &lightningSubscribeChannelGraphServer{stream}) 25075 } 25076 25077 type Lightning_SubscribeChannelGraphServer interface { 25078 Send(*GraphTopologyUpdate) error 25079 grpc.ServerStream 25080 } 25081 25082 type lightningSubscribeChannelGraphServer struct { 25083 grpc.ServerStream 25084 } 25085 25086 func (x *lightningSubscribeChannelGraphServer) Send(m *GraphTopologyUpdate) error { 25087 return x.ServerStream.SendMsg(m) 25088 } 25089 25090 func _Lightning_DebugLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25091 in := new(DebugLevelRequest) 25092 if err := dec(in); err != nil { 25093 return nil, err 25094 } 25095 if interceptor == nil { 25096 return srv.(LightningServer).DebugLevel(ctx, in) 25097 } 25098 info := &grpc.UnaryServerInfo{ 25099 Server: srv, 25100 FullMethod: "/lnrpc.Lightning/DebugLevel", 25101 } 25102 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25103 return srv.(LightningServer).DebugLevel(ctx, req.(*DebugLevelRequest)) 25104 } 25105 return interceptor(ctx, in, info, handler) 25106 } 25107 25108 func _Lightning_CalcPaymentStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25109 in := new(CalcPaymentStatsRequest) 25110 if err := dec(in); err != nil { 25111 return nil, err 25112 } 25113 if interceptor == nil { 25114 return srv.(LightningServer).CalcPaymentStats(ctx, in) 25115 } 25116 info := &grpc.UnaryServerInfo{ 25117 Server: srv, 25118 FullMethod: "/lnrpc.Lightning/CalcPaymentStats", 25119 } 25120 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25121 return srv.(LightningServer).CalcPaymentStats(ctx, req.(*CalcPaymentStatsRequest)) 25122 } 25123 return interceptor(ctx, in, info, handler) 25124 } 25125 25126 func _Lightning_FeeReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25127 in := new(FeeReportRequest) 25128 if err := dec(in); err != nil { 25129 return nil, err 25130 } 25131 if interceptor == nil { 25132 return srv.(LightningServer).FeeReport(ctx, in) 25133 } 25134 info := &grpc.UnaryServerInfo{ 25135 Server: srv, 25136 FullMethod: "/lnrpc.Lightning/FeeReport", 25137 } 25138 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25139 return srv.(LightningServer).FeeReport(ctx, req.(*FeeReportRequest)) 25140 } 25141 return interceptor(ctx, in, info, handler) 25142 } 25143 25144 func _Lightning_UpdateChannelPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25145 in := new(PolicyUpdateRequest) 25146 if err := dec(in); err != nil { 25147 return nil, err 25148 } 25149 if interceptor == nil { 25150 return srv.(LightningServer).UpdateChannelPolicy(ctx, in) 25151 } 25152 info := &grpc.UnaryServerInfo{ 25153 Server: srv, 25154 FullMethod: "/lnrpc.Lightning/UpdateChannelPolicy", 25155 } 25156 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25157 return srv.(LightningServer).UpdateChannelPolicy(ctx, req.(*PolicyUpdateRequest)) 25158 } 25159 return interceptor(ctx, in, info, handler) 25160 } 25161 25162 func _Lightning_ForwardingHistory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25163 in := new(ForwardingHistoryRequest) 25164 if err := dec(in); err != nil { 25165 return nil, err 25166 } 25167 if interceptor == nil { 25168 return srv.(LightningServer).ForwardingHistory(ctx, in) 25169 } 25170 info := &grpc.UnaryServerInfo{ 25171 Server: srv, 25172 FullMethod: "/lnrpc.Lightning/ForwardingHistory", 25173 } 25174 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25175 return srv.(LightningServer).ForwardingHistory(ctx, req.(*ForwardingHistoryRequest)) 25176 } 25177 return interceptor(ctx, in, info, handler) 25178 } 25179 25180 func _Lightning_ExportChannelBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25181 in := new(ExportChannelBackupRequest) 25182 if err := dec(in); err != nil { 25183 return nil, err 25184 } 25185 if interceptor == nil { 25186 return srv.(LightningServer).ExportChannelBackup(ctx, in) 25187 } 25188 info := &grpc.UnaryServerInfo{ 25189 Server: srv, 25190 FullMethod: "/lnrpc.Lightning/ExportChannelBackup", 25191 } 25192 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25193 return srv.(LightningServer).ExportChannelBackup(ctx, req.(*ExportChannelBackupRequest)) 25194 } 25195 return interceptor(ctx, in, info, handler) 25196 } 25197 25198 func _Lightning_ExportAllChannelBackups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25199 in := new(ChanBackupExportRequest) 25200 if err := dec(in); err != nil { 25201 return nil, err 25202 } 25203 if interceptor == nil { 25204 return srv.(LightningServer).ExportAllChannelBackups(ctx, in) 25205 } 25206 info := &grpc.UnaryServerInfo{ 25207 Server: srv, 25208 FullMethod: "/lnrpc.Lightning/ExportAllChannelBackups", 25209 } 25210 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25211 return srv.(LightningServer).ExportAllChannelBackups(ctx, req.(*ChanBackupExportRequest)) 25212 } 25213 return interceptor(ctx, in, info, handler) 25214 } 25215 25216 func _Lightning_VerifyChanBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25217 in := new(ChanBackupSnapshot) 25218 if err := dec(in); err != nil { 25219 return nil, err 25220 } 25221 if interceptor == nil { 25222 return srv.(LightningServer).VerifyChanBackup(ctx, in) 25223 } 25224 info := &grpc.UnaryServerInfo{ 25225 Server: srv, 25226 FullMethod: "/lnrpc.Lightning/VerifyChanBackup", 25227 } 25228 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25229 return srv.(LightningServer).VerifyChanBackup(ctx, req.(*ChanBackupSnapshot)) 25230 } 25231 return interceptor(ctx, in, info, handler) 25232 } 25233 25234 func _Lightning_RestoreChannelBackups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25235 in := new(RestoreChanBackupRequest) 25236 if err := dec(in); err != nil { 25237 return nil, err 25238 } 25239 if interceptor == nil { 25240 return srv.(LightningServer).RestoreChannelBackups(ctx, in) 25241 } 25242 info := &grpc.UnaryServerInfo{ 25243 Server: srv, 25244 FullMethod: "/lnrpc.Lightning/RestoreChannelBackups", 25245 } 25246 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25247 return srv.(LightningServer).RestoreChannelBackups(ctx, req.(*RestoreChanBackupRequest)) 25248 } 25249 return interceptor(ctx, in, info, handler) 25250 } 25251 25252 func _Lightning_SubscribeChannelBackups_Handler(srv interface{}, stream grpc.ServerStream) error { 25253 m := new(ChannelBackupSubscription) 25254 if err := stream.RecvMsg(m); err != nil { 25255 return err 25256 } 25257 return srv.(LightningServer).SubscribeChannelBackups(m, &lightningSubscribeChannelBackupsServer{stream}) 25258 } 25259 25260 type Lightning_SubscribeChannelBackupsServer interface { 25261 Send(*ChanBackupSnapshot) error 25262 grpc.ServerStream 25263 } 25264 25265 type lightningSubscribeChannelBackupsServer struct { 25266 grpc.ServerStream 25267 } 25268 25269 func (x *lightningSubscribeChannelBackupsServer) Send(m *ChanBackupSnapshot) error { 25270 return x.ServerStream.SendMsg(m) 25271 } 25272 25273 func _Lightning_BakeMacaroon_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25274 in := new(BakeMacaroonRequest) 25275 if err := dec(in); err != nil { 25276 return nil, err 25277 } 25278 if interceptor == nil { 25279 return srv.(LightningServer).BakeMacaroon(ctx, in) 25280 } 25281 info := &grpc.UnaryServerInfo{ 25282 Server: srv, 25283 FullMethod: "/lnrpc.Lightning/BakeMacaroon", 25284 } 25285 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25286 return srv.(LightningServer).BakeMacaroon(ctx, req.(*BakeMacaroonRequest)) 25287 } 25288 return interceptor(ctx, in, info, handler) 25289 } 25290 25291 func _Lightning_ListMacaroonIDs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25292 in := new(ListMacaroonIDsRequest) 25293 if err := dec(in); err != nil { 25294 return nil, err 25295 } 25296 if interceptor == nil { 25297 return srv.(LightningServer).ListMacaroonIDs(ctx, in) 25298 } 25299 info := &grpc.UnaryServerInfo{ 25300 Server: srv, 25301 FullMethod: "/lnrpc.Lightning/ListMacaroonIDs", 25302 } 25303 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25304 return srv.(LightningServer).ListMacaroonIDs(ctx, req.(*ListMacaroonIDsRequest)) 25305 } 25306 return interceptor(ctx, in, info, handler) 25307 } 25308 25309 func _Lightning_DeleteMacaroonID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25310 in := new(DeleteMacaroonIDRequest) 25311 if err := dec(in); err != nil { 25312 return nil, err 25313 } 25314 if interceptor == nil { 25315 return srv.(LightningServer).DeleteMacaroonID(ctx, in) 25316 } 25317 info := &grpc.UnaryServerInfo{ 25318 Server: srv, 25319 FullMethod: "/lnrpc.Lightning/DeleteMacaroonID", 25320 } 25321 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25322 return srv.(LightningServer).DeleteMacaroonID(ctx, req.(*DeleteMacaroonIDRequest)) 25323 } 25324 return interceptor(ctx, in, info, handler) 25325 } 25326 25327 func _Lightning_ListPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25328 in := new(ListPermissionsRequest) 25329 if err := dec(in); err != nil { 25330 return nil, err 25331 } 25332 if interceptor == nil { 25333 return srv.(LightningServer).ListPermissions(ctx, in) 25334 } 25335 info := &grpc.UnaryServerInfo{ 25336 Server: srv, 25337 FullMethod: "/lnrpc.Lightning/ListPermissions", 25338 } 25339 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25340 return srv.(LightningServer).ListPermissions(ctx, req.(*ListPermissionsRequest)) 25341 } 25342 return interceptor(ctx, in, info, handler) 25343 } 25344 25345 func _Lightning_CheckMacaroonPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25346 in := new(CheckMacPermRequest) 25347 if err := dec(in); err != nil { 25348 return nil, err 25349 } 25350 if interceptor == nil { 25351 return srv.(LightningServer).CheckMacaroonPermissions(ctx, in) 25352 } 25353 info := &grpc.UnaryServerInfo{ 25354 Server: srv, 25355 FullMethod: "/lnrpc.Lightning/CheckMacaroonPermissions", 25356 } 25357 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25358 return srv.(LightningServer).CheckMacaroonPermissions(ctx, req.(*CheckMacPermRequest)) 25359 } 25360 return interceptor(ctx, in, info, handler) 25361 } 25362 25363 func _Lightning_RegisterRPCMiddleware_Handler(srv interface{}, stream grpc.ServerStream) error { 25364 return srv.(LightningServer).RegisterRPCMiddleware(&lightningRegisterRPCMiddlewareServer{stream}) 25365 } 25366 25367 type Lightning_RegisterRPCMiddlewareServer interface { 25368 Send(*RPCMiddlewareRequest) error 25369 Recv() (*RPCMiddlewareResponse, error) 25370 grpc.ServerStream 25371 } 25372 25373 type lightningRegisterRPCMiddlewareServer struct { 25374 grpc.ServerStream 25375 } 25376 25377 func (x *lightningRegisterRPCMiddlewareServer) Send(m *RPCMiddlewareRequest) error { 25378 return x.ServerStream.SendMsg(m) 25379 } 25380 25381 func (x *lightningRegisterRPCMiddlewareServer) Recv() (*RPCMiddlewareResponse, error) { 25382 m := new(RPCMiddlewareResponse) 25383 if err := x.ServerStream.RecvMsg(m); err != nil { 25384 return nil, err 25385 } 25386 return m, nil 25387 } 25388 25389 func _Lightning_SendCustomMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 25390 in := new(SendCustomMessageRequest) 25391 if err := dec(in); err != nil { 25392 return nil, err 25393 } 25394 if interceptor == nil { 25395 return srv.(LightningServer).SendCustomMessage(ctx, in) 25396 } 25397 info := &grpc.UnaryServerInfo{ 25398 Server: srv, 25399 FullMethod: "/lnrpc.Lightning/SendCustomMessage", 25400 } 25401 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 25402 return srv.(LightningServer).SendCustomMessage(ctx, req.(*SendCustomMessageRequest)) 25403 } 25404 return interceptor(ctx, in, info, handler) 25405 } 25406 25407 func _Lightning_SubscribeCustomMessages_Handler(srv interface{}, stream grpc.ServerStream) error { 25408 m := new(SubscribeCustomMessagesRequest) 25409 if err := stream.RecvMsg(m); err != nil { 25410 return err 25411 } 25412 return srv.(LightningServer).SubscribeCustomMessages(m, &lightningSubscribeCustomMessagesServer{stream}) 25413 } 25414 25415 type Lightning_SubscribeCustomMessagesServer interface { 25416 Send(*CustomMessage) error 25417 grpc.ServerStream 25418 } 25419 25420 type lightningSubscribeCustomMessagesServer struct { 25421 grpc.ServerStream 25422 } 25423 25424 func (x *lightningSubscribeCustomMessagesServer) Send(m *CustomMessage) error { 25425 return x.ServerStream.SendMsg(m) 25426 } 25427 25428 var _Lightning_serviceDesc = grpc.ServiceDesc{ 25429 ServiceName: "lnrpc.Lightning", 25430 HandlerType: (*LightningServer)(nil), 25431 Methods: []grpc.MethodDesc{ 25432 { 25433 MethodName: "WalletBalance", 25434 Handler: _Lightning_WalletBalance_Handler, 25435 }, 25436 { 25437 MethodName: "ChannelBalance", 25438 Handler: _Lightning_ChannelBalance_Handler, 25439 }, 25440 { 25441 MethodName: "GetTransactions", 25442 Handler: _Lightning_GetTransactions_Handler, 25443 }, 25444 { 25445 MethodName: "EstimateFee", 25446 Handler: _Lightning_EstimateFee_Handler, 25447 }, 25448 { 25449 MethodName: "SendCoins", 25450 Handler: _Lightning_SendCoins_Handler, 25451 }, 25452 { 25453 MethodName: "ListUnspent", 25454 Handler: _Lightning_ListUnspent_Handler, 25455 }, 25456 { 25457 MethodName: "SendMany", 25458 Handler: _Lightning_SendMany_Handler, 25459 }, 25460 { 25461 MethodName: "NewAddress", 25462 Handler: _Lightning_NewAddress_Handler, 25463 }, 25464 { 25465 MethodName: "SignMessage", 25466 Handler: _Lightning_SignMessage_Handler, 25467 }, 25468 { 25469 MethodName: "VerifyMessage", 25470 Handler: _Lightning_VerifyMessage_Handler, 25471 }, 25472 { 25473 MethodName: "ConnectPeer", 25474 Handler: _Lightning_ConnectPeer_Handler, 25475 }, 25476 { 25477 MethodName: "DisconnectPeer", 25478 Handler: _Lightning_DisconnectPeer_Handler, 25479 }, 25480 { 25481 MethodName: "ListPeers", 25482 Handler: _Lightning_ListPeers_Handler, 25483 }, 25484 { 25485 MethodName: "GetInfo", 25486 Handler: _Lightning_GetInfo_Handler, 25487 }, 25488 { 25489 MethodName: "GetRecoveryInfo", 25490 Handler: _Lightning_GetRecoveryInfo_Handler, 25491 }, 25492 { 25493 MethodName: "PendingChannels", 25494 Handler: _Lightning_PendingChannels_Handler, 25495 }, 25496 { 25497 MethodName: "ListChannels", 25498 Handler: _Lightning_ListChannels_Handler, 25499 }, 25500 { 25501 MethodName: "ClosedChannels", 25502 Handler: _Lightning_ClosedChannels_Handler, 25503 }, 25504 { 25505 MethodName: "OpenChannelSync", 25506 Handler: _Lightning_OpenChannelSync_Handler, 25507 }, 25508 { 25509 MethodName: "BatchOpenChannel", 25510 Handler: _Lightning_BatchOpenChannel_Handler, 25511 }, 25512 { 25513 MethodName: "FundingStateStep", 25514 Handler: _Lightning_FundingStateStep_Handler, 25515 }, 25516 { 25517 MethodName: "AbandonChannel", 25518 Handler: _Lightning_AbandonChannel_Handler, 25519 }, 25520 { 25521 MethodName: "SendPaymentSync", 25522 Handler: _Lightning_SendPaymentSync_Handler, 25523 }, 25524 { 25525 MethodName: "SendToRouteSync", 25526 Handler: _Lightning_SendToRouteSync_Handler, 25527 }, 25528 { 25529 MethodName: "AddInvoice", 25530 Handler: _Lightning_AddInvoice_Handler, 25531 }, 25532 { 25533 MethodName: "ListInvoices", 25534 Handler: _Lightning_ListInvoices_Handler, 25535 }, 25536 { 25537 MethodName: "LookupInvoice", 25538 Handler: _Lightning_LookupInvoice_Handler, 25539 }, 25540 { 25541 MethodName: "DecodePayReq", 25542 Handler: _Lightning_DecodePayReq_Handler, 25543 }, 25544 { 25545 MethodName: "ListPayments", 25546 Handler: _Lightning_ListPayments_Handler, 25547 }, 25548 { 25549 MethodName: "DeletePayment", 25550 Handler: _Lightning_DeletePayment_Handler, 25551 }, 25552 { 25553 MethodName: "DeleteAllPayments", 25554 Handler: _Lightning_DeleteAllPayments_Handler, 25555 }, 25556 { 25557 MethodName: "DescribeGraph", 25558 Handler: _Lightning_DescribeGraph_Handler, 25559 }, 25560 { 25561 MethodName: "GetNodeMetrics", 25562 Handler: _Lightning_GetNodeMetrics_Handler, 25563 }, 25564 { 25565 MethodName: "GetChanInfo", 25566 Handler: _Lightning_GetChanInfo_Handler, 25567 }, 25568 { 25569 MethodName: "GetNodeInfo", 25570 Handler: _Lightning_GetNodeInfo_Handler, 25571 }, 25572 { 25573 MethodName: "EnforceNodePing", 25574 Handler: _Lightning_EnforceNodePing_Handler, 25575 }, 25576 { 25577 MethodName: "QueryRoutes", 25578 Handler: _Lightning_QueryRoutes_Handler, 25579 }, 25580 { 25581 MethodName: "GetNetworkInfo", 25582 Handler: _Lightning_GetNetworkInfo_Handler, 25583 }, 25584 { 25585 MethodName: "StopDaemon", 25586 Handler: _Lightning_StopDaemon_Handler, 25587 }, 25588 { 25589 MethodName: "DebugLevel", 25590 Handler: _Lightning_DebugLevel_Handler, 25591 }, 25592 { 25593 MethodName: "CalcPaymentStats", 25594 Handler: _Lightning_CalcPaymentStats_Handler, 25595 }, 25596 { 25597 MethodName: "FeeReport", 25598 Handler: _Lightning_FeeReport_Handler, 25599 }, 25600 { 25601 MethodName: "UpdateChannelPolicy", 25602 Handler: _Lightning_UpdateChannelPolicy_Handler, 25603 }, 25604 { 25605 MethodName: "ForwardingHistory", 25606 Handler: _Lightning_ForwardingHistory_Handler, 25607 }, 25608 { 25609 MethodName: "ExportChannelBackup", 25610 Handler: _Lightning_ExportChannelBackup_Handler, 25611 }, 25612 { 25613 MethodName: "ExportAllChannelBackups", 25614 Handler: _Lightning_ExportAllChannelBackups_Handler, 25615 }, 25616 { 25617 MethodName: "VerifyChanBackup", 25618 Handler: _Lightning_VerifyChanBackup_Handler, 25619 }, 25620 { 25621 MethodName: "RestoreChannelBackups", 25622 Handler: _Lightning_RestoreChannelBackups_Handler, 25623 }, 25624 { 25625 MethodName: "BakeMacaroon", 25626 Handler: _Lightning_BakeMacaroon_Handler, 25627 }, 25628 { 25629 MethodName: "ListMacaroonIDs", 25630 Handler: _Lightning_ListMacaroonIDs_Handler, 25631 }, 25632 { 25633 MethodName: "DeleteMacaroonID", 25634 Handler: _Lightning_DeleteMacaroonID_Handler, 25635 }, 25636 { 25637 MethodName: "ListPermissions", 25638 Handler: _Lightning_ListPermissions_Handler, 25639 }, 25640 { 25641 MethodName: "CheckMacaroonPermissions", 25642 Handler: _Lightning_CheckMacaroonPermissions_Handler, 25643 }, 25644 { 25645 MethodName: "SendCustomMessage", 25646 Handler: _Lightning_SendCustomMessage_Handler, 25647 }, 25648 }, 25649 Streams: []grpc.StreamDesc{ 25650 { 25651 StreamName: "SubscribeTransactions", 25652 Handler: _Lightning_SubscribeTransactions_Handler, 25653 ServerStreams: true, 25654 }, 25655 { 25656 StreamName: "SubscribePeerEvents", 25657 Handler: _Lightning_SubscribePeerEvents_Handler, 25658 ServerStreams: true, 25659 }, 25660 { 25661 StreamName: "SubscribeChannelEvents", 25662 Handler: _Lightning_SubscribeChannelEvents_Handler, 25663 ServerStreams: true, 25664 }, 25665 { 25666 StreamName: "OpenChannel", 25667 Handler: _Lightning_OpenChannel_Handler, 25668 ServerStreams: true, 25669 }, 25670 { 25671 StreamName: "ChannelAcceptor", 25672 Handler: _Lightning_ChannelAcceptor_Handler, 25673 ServerStreams: true, 25674 ClientStreams: true, 25675 }, 25676 { 25677 StreamName: "CloseChannel", 25678 Handler: _Lightning_CloseChannel_Handler, 25679 ServerStreams: true, 25680 }, 25681 { 25682 StreamName: "SendPayment", 25683 Handler: _Lightning_SendPayment_Handler, 25684 ServerStreams: true, 25685 ClientStreams: true, 25686 }, 25687 { 25688 StreamName: "SendToRoute", 25689 Handler: _Lightning_SendToRoute_Handler, 25690 ServerStreams: true, 25691 ClientStreams: true, 25692 }, 25693 { 25694 StreamName: "SubscribeInvoices", 25695 Handler: _Lightning_SubscribeInvoices_Handler, 25696 ServerStreams: true, 25697 }, 25698 { 25699 StreamName: "SubscribeChannelGraph", 25700 Handler: _Lightning_SubscribeChannelGraph_Handler, 25701 ServerStreams: true, 25702 }, 25703 { 25704 StreamName: "SubscribeChannelBackups", 25705 Handler: _Lightning_SubscribeChannelBackups_Handler, 25706 ServerStreams: true, 25707 }, 25708 { 25709 StreamName: "RegisterRPCMiddleware", 25710 Handler: _Lightning_RegisterRPCMiddleware_Handler, 25711 ServerStreams: true, 25712 ClientStreams: true, 25713 }, 25714 { 25715 StreamName: "SubscribeCustomMessages", 25716 Handler: _Lightning_SubscribeCustomMessages_Handler, 25717 ServerStreams: true, 25718 }, 25719 }, 25720 Metadata: "lightning.proto", 25721 }