diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index c4f076c..99bc64a 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -18,7 +18,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.19 + go-version: 1.22 - name: Build run: go build -v ./... diff --git a/.justfile b/.justfile index bb48394..efb7605 100644 --- a/.justfile +++ b/.justfile @@ -14,16 +14,13 @@ run *args='': build install-loopd-loop: cd loop/cmd/loop && go install . cd loop/cmd/loopd && go install . -compile-lnrpc-proto: - rm -rf ./github.com/lightningnetwork/lnd && protoc -I lnd/lnrpc --go_out=. --go-grpc_out=. lnd/lnrpc/*.proto && cd ./github.com/lightningnetwork/lnd/lnrpc && go mod init lnrpc + compile-nodeguard-proto: rm -rf nodeguard && protoc -I rpc --go_out=. --go-grpc_out=. rpc/*.proto && mockgen -destination ./nodeguard/nodeguard_mock.go -source nodeguard/nodeguard_grpc.pb.go -package nodeguard && mockgen -destination ./nodeguard/nodeguard_mock.go -source nodeguard/nodeguard_grpc.pb.go -package nodeguard compile-lnd-client-mock: mockgen -destination lightning_rpc_mock.go -source lnd/lnrpc/lightning_grpc.pb.go -package main compile-provider-mock: - mockgen -destination ./provider/provider_mock.go -source provider/provider.go -package provider && mockgen -destination ./provider/loopd_mock.go -source loop/looprpc/client_grpc.pb.go -package provider -compile-loop-proto: - rm -rf ./github.com/lightninglabs/loop && cd loop && protoc -I. -I looprpc -I swapserverrpc --go_out=.. --go-grpc_out=.. looprpc/*.proto && cd ../github.com/lightninglabs/loop/looprpc && go mod init looprpc + mockgen -destination ./provider/provider_mock.go -source provider/provider.go -package provider && mockgen -destination ./provider/loopd_mock.go -source loop/looprpc/client_grpc.pb.go -package provider cover-test: go test ./... -coverprofile=coverage.out; go tool cover -html=coverage.out start-loopserver: build-loopserver diff --git a/.vscode/launch.json b/.vscode/launch.json index 024bfd8..273526c 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,13 +5,13 @@ "version": "0.2.0", "configurations": [ { - "name": "Launch Package", + "name": "Debug liquidator", "type": "go", "request": "launch", "mode": "debug", "program": "${workspaceFolder}", "env": { - "LNDCONNECTURIS": "lndconnect://127.0.0.1:10003?cert=MIICJTCCAcygAwIBAgIQLYfp6m1vP9wFBXOcE-UsaDAKBggqhkjOPQQDAjAxMR8wHQYDVQQKExZsbmQgYXV0b2dlbmVyYXRlZCBjZXJ0MQ4wDAYDVQQDEwVjYXJvbDAeFw0yMzAzMjkxNTM4MjBaFw0yNDA1MjMxNTM4MjBaMDExHzAdBgNVBAoTFmxuZCBhdXRvZ2VuZXJhdGVkIGNlcnQxDjAMBgNVBAMTBWNhcm9sMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEcXT4dekJnAiZWd8Pk3FgL1BSFXMRwLGSAlk7Di5hIJnIA1B_o8RWKzlPz7u3Aw5mmWHhN8B2MWMylWlWB2130KOBxTCBwjAOBgNVHQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH_BAUwAwEB_zAdBgNVHQ4EFgQUDOS-19_0LFGf62WRyaaUSLc3j98wawYDVR0RBGQwYoIFY2Fyb2yCCWxvY2FsaG9zdIIFY2Fyb2yCDnBvbGFyLW4xLWNhcm9sggR1bml4ggp1bml4cGFja2V0ggdidWZjb25uhwR_AAABhxAAAAAAAAAAAAAAAAAAAAABhwSsFQAFMAoGCCqGSM49BAMCA0cAMEQCHxYe59PCXrTtSmGsOjfQo6V-sS8j73cqWOzTQbvgI3gCIQCj7sOxnZWBwilec7t8bBXjwPgX9frv8408JW4QhNFOUg&macaroon=AgEDbG5kAvgBAwoQHsW2NwwWb2yOKFMWQQkUWhIBMBoWCgdhZGRyZXNzEgRyZWFkEgV3cml0ZRoTCgRpbmZvEgRyZWFkEgV3cml0ZRoXCghpbnZvaWNlcxIEcmVhZBIFd3JpdGUaIQoIbWFjYXJvb24SCGdlbmVyYXRlEgRyZWFkEgV3cml0ZRoWCgdtZXNzYWdlEgRyZWFkEgV3cml0ZRoXCghvZmZjaGFpbhIEcmVhZBIFd3JpdGUaFgoHb25jaGFpbhIEcmVhZBIFd3JpdGUaFAoFcGVlcnMSBHJlYWQSBXdyaXRlGhgKBnNpZ25lchIIZ2VuZXJhdGUSBHJlYWQAAAYgjpV-eOw554EPrSXPxDhQuOnnwHmEO47Hu1Uiu6EiMNY", + "LNDCONNECTURIS": "lndconnect://127.0.0.1:10003?cert=MIICJTCCAcygAwIBAgIQLYfp6m1vP9wFBXOcE-UsaDAKBggqhkjOPQQDAjAxMR8wHQYDVQQKExZsbmQgYXV0b2dlbmVyYXRlZCBjZXJ0MQ4wDAYDVQQDEwVjYXJvbDAeFw0yMzAzMjkxNTM4MjBaFw0yNDA1MjMxNTM4MjBaMDExHzAdBgNVBAoTFmxuZCBhdXRvZ2VuZXJhdGVkIGNlcnQxDjAMBgNVBAMTBWNhcm9sMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEcXT4dekJnAiZWd8Pk3FgL1BSFXMRwLGSAlk7Di5hIJnIA1B_o8RWKzlPz7u3Aw5mmWHhN8B2MWMylWlWB2130KOBxTCBwjAOBgNVHQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH_BAUwAwEB_zAdBgNVHQ4EFgQUDOS-19_0LFGf62WRyaaUSLc3j98wawYDVR0RBGQwYoIFY2Fyb2yCCWxvY2FsaG9zdIIFY2Fyb2yCDnBvbGFyLW4xLWNhcm9sggR1bml4ggp1bml4cGFja2V0ggdidWZjb25uhwR_AAABhxAAAAAAAAAAAAAAAAAAAAABhwSsFQAFMAoGCCqGSM49BAMCA0cAMEQCHxYe59PCXrTtSmGsOjfQo6V-sS8j73cqWOzTQbvgI3gCIQCj7sOxnZWBwilec7t8bBXjwPgX9frv8408JW4QhNFOUg&macaroon=AgEDbG5kAvgBAwoQHsW2NwwWb2yOKFMWQQkUWhIBMBoWCgdhZGRyZXNzEgRyZWFkEgV3cml0ZRoTCgRpbmZvEgRyZWFkEgV3cml0ZRoXCghpbnZvaWNlcxIEcmVhZBIFd3JpdGUaIQoIbWFjYXJvb24SCGdlbmVyYXRlEgRyZWFkEgV3cml0ZRoWCgdtZXNzYWdlEgRyZWFkEgV3cml0ZRoXCghvZmZjaGFpbhIEcmVhZBIFd3JpdGUaFgoHb25jaGFpbhIEcmVhZBIFd3JpdGUaFAoFcGVlcnMSBHJlYWQSBXdyaXRlGhgKBnNpZ25lchIIZ2VuZXJhdGUSBHJlYWQAAAYgjpV-eOw554EPrSXPxDhQuOnnwHmEO47Hu1Uiu6EiMNY,lndconnect://127.0.0.1:10002?cert=MIICHjCCAcOgAwIBAgIRAIo0ymsuTa2pwV6D4S0sVU4wCgYIKoZIzj0EAwIwLzEfMB0GA1UEChMWbG5kIGF1dG9nZW5lcmF0ZWQgY2VydDEMMAoGA1UEAxMDYm9iMB4XDTIzMDMyOTE1MzgyMFoXDTI0MDUyMzE1MzgyMFowLzEfMB0GA1UEChMWbG5kIGF1dG9nZW5lcmF0ZWQgY2VydDEMMAoGA1UEAxMDYm9iMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvYpHe6seaLVfS76lVxmZuo1VdwPSu3ENam48mG8xUvokXKAiVxJ9m8kgsEp8mGxWHTO5sVR7PQptCNAQPb2UYaOBvzCBvDAOBgNVHQ8BAf8EBAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH_BAUwAwEB_zAdBgNVHQ4EFgQUJmnSJicFf2dj0M014osRBf0qEsEwZQYDVR0RBF4wXIIDYm9igglsb2NhbGhvc3SCA2JvYoIMcG9sYXItbjEtYm9iggR1bml4ggp1bml4cGFja2V0ggdidWZjb25uhwR_AAABhxAAAAAAAAAAAAAAAAAAAAABhwSsFQAEMAoGCCqGSM49BAMCA0kAMEYCIQCEtET3b29t8HU37xF6uy545iMFlo5zRooDvOsfqAFhRQIhAJE4UQrg-Fk4Cb0JApilTO8BgE_utibAWEH6hcC5dAXb&macaroon=AgEDbG5kAvgBAwoQ4OiaaPniOYIoqZWJBjfSUxIBMBoWCgdhZGRyZXNzEgRyZWFkEgV3cml0ZRoTCgRpbmZvEgRyZWFkEgV3cml0ZRoXCghpbnZvaWNlcxIEcmVhZBIFd3JpdGUaIQoIbWFjYXJvb24SCGdlbmVyYXRlEgRyZWFkEgV3cml0ZRoWCgdtZXNzYWdlEgRyZWFkEgV3cml0ZRoXCghvZmZjaGFpbhIEcmVhZBIFd3JpdGUaFgoHb25jaGFpbhIEcmVhZBIFd3JpdGUaFAoFcGVlcnMSBHJlYWQSBXdyaXRlGhgKBnNpZ25lchIIZ2VuZXJhdGUSBHJlYWQAAAYguFrmtpMziYfNZe2mCiRXPpYjAbKpHY98ViVlDWNodR8", "POLLINGINTERVAL": "5s", "RETRIESBEFOREBACKOFF": "3", "BACKOFFCOEFFICIENT": "0.99", @@ -19,7 +19,7 @@ "LOGLEVEL": "DEBUG", "LOGFORMAT": "text", "NODEGUARDHOST": "localhost:50051", - "LOOPDCONNECTURIS": "lndconnect://localhost:11010?cert=MIIC1zCCAn2gAwIBAgIQRWr7OVVAidkjx3rY1Fui1DAKBggqhkjOPQQDAjA6MSAwHgYDVQQKExdsb29wIGF1dG9nZW5lcmF0ZWQgY2VydDEWMBQGA1UEAxMNRG9vbW1hYy5sb2NhbDAeFw0yMzA0MTExMDIyMTJaFw0yNDA2MDUxMDIyMTJaMDoxIDAeBgNVBAoTF2xvb3AgYXV0b2dlbmVyYXRlZCBjZXJ0MRYwFAYDVQQDEw1Eb29tbWFjLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZ4oLXzeFkXnnnjZvbHoJLWTBkzovapwkv43lMFAGvD3EUYjapn9UN63LOamwSW67S2p4fyDbZykRVi5KdGuHWqOCAWMwggFfMA4GA1UdDwEB_wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH_MB0GA1UdDgQWBBQ_C-VsxCCp7hIukcSQY66T_1-wwDCCAQYGA1UdEQSB_jCB-4INRG9vbW1hYy5sb2NhbIIJbG9jYWxob3N0ggR1bml4ggp1bml4cGFja2V0ggdidWZjb25uhwR_AAABhxAAAAAAAAAAAAAAAAAAAAABhxD-gAAAAAAAAAAAAAAAAAABhxD-gAAAAAAAAFSCWv_--hJchxD-gAAAAAAAAFSCWv_--hJahxD-gAAAAAAAAFSCWv_--hJbhxD-gAAAAAAAAAAtb1hMXkTshwTAqAHlhxD-gAAAAAAAAHQf-P_-JUMfhwQKkK07hxD-gAAAAAAAANx-KvMiB6mphxD-gAAAAAAAAIdaqQYVUHbchxD-gAAAAAAAAM6BCxy9LAaeMAoGCCqGSM49BAMCA0gAMEUCIHmOfHbewxWmX0JoItg8vF84A3GWfYLvjbnGxoapsaH4AiEAlGk3QVSDSHjP7vntLEK37tJ3ZCZAYeuLJKYSjbgbdI8&macaroon=AgEEbG9vcAJ3AwoQSQHLuEtbfDxGeNmwvABdRRIBMBoMCgRhdXRoEgRyZWFkGg8KBGxvb3ASAmluEgNvdXQaGgoLc3VnZ2VzdGlvbnMSBHJlYWQSBXdyaXRlGhUKBHN3YXASB2V4ZWN1dGUSBHJlYWQaDQoFdGVybXMSBHJlYWQAAAYgHb_8HcZwROzXASOxItpkbD3XAWHy1Ye32vlc1ccLeg8", + "LOOPDCONNECTURIS": "lndconnect://localhost:11010?cert=MIIC1zCCAn2gAwIBAgIQRWr7OVVAidkjx3rY1Fui1DAKBggqhkjOPQQDAjA6MSAwHgYDVQQKExdsb29wIGF1dG9nZW5lcmF0ZWQgY2VydDEWMBQGA1UEAxMNRG9vbW1hYy5sb2NhbDAeFw0yMzA0MTExMDIyMTJaFw0yNDA2MDUxMDIyMTJaMDoxIDAeBgNVBAoTF2xvb3AgYXV0b2dlbmVyYXRlZCBjZXJ0MRYwFAYDVQQDEw1Eb29tbWFjLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZ4oLXzeFkXnnnjZvbHoJLWTBkzovapwkv43lMFAGvD3EUYjapn9UN63LOamwSW67S2p4fyDbZykRVi5KdGuHWqOCAWMwggFfMA4GA1UdDwEB_wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH_MB0GA1UdDgQWBBQ_C-VsxCCp7hIukcSQY66T_1-wwDCCAQYGA1UdEQSB_jCB-4INRG9vbW1hYy5sb2NhbIIJbG9jYWxob3N0ggR1bml4ggp1bml4cGFja2V0ggdidWZjb25uhwR_AAABhxAAAAAAAAAAAAAAAAAAAAABhxD-gAAAAAAAAAAAAAAAAAABhxD-gAAAAAAAAFSCWv_--hJchxD-gAAAAAAAAFSCWv_--hJahxD-gAAAAAAAAFSCWv_--hJbhxD-gAAAAAAAAAAtb1hMXkTshwTAqAHlhxD-gAAAAAAAAHQf-P_-JUMfhwQKkK07hxD-gAAAAAAAANx-KvMiB6mphxD-gAAAAAAAAIdaqQYVUHbchxD-gAAAAAAAAM6BCxy9LAaeMAoGCCqGSM49BAMCA0gAMEUCIHmOfHbewxWmX0JoItg8vF84A3GWfYLvjbnGxoapsaH4AiEAlGk3QVSDSHjP7vntLEK37tJ3ZCZAYeuLJKYSjbgbdI8&macaroon=AgEEbG9vcAJ3AwoQSQHLuEtbfDxGeNmwvABdRRIBMBoMCgRhdXRoEgRyZWFkGg8KBGxvb3ASAmluEgNvdXQaGgoLc3VnZ2VzdGlvbnMSBHJlYWQSBXdyaXRlGhUKBHN3YXASB2V4ZWN1dGUSBHJlYWQaDQoFdGVybXMSBHJlYWQAAAYgHb_8HcZwROzXASOxItpkbD3XAWHy1Ye32vlc1ccLeg8,lndconnect://localhost:11010?cert=MIIC1zCCAn2gAwIBAgIQRWr7OVVAidkjx3rY1Fui1DAKBggqhkjOPQQDAjA6MSAwHgYDVQQKExdsb29wIGF1dG9nZW5lcmF0ZWQgY2VydDEWMBQGA1UEAxMNRG9vbW1hYy5sb2NhbDAeFw0yMzA0MTExMDIyMTJaFw0yNDA2MDUxMDIyMTJaMDoxIDAeBgNVBAoTF2xvb3AgYXV0b2dlbmVyYXRlZCBjZXJ0MRYwFAYDVQQDEw1Eb29tbWFjLmxvY2FsMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZ4oLXzeFkXnnnjZvbHoJLWTBkzovapwkv43lMFAGvD3EUYjapn9UN63LOamwSW67S2p4fyDbZykRVi5KdGuHWqOCAWMwggFfMA4GA1UdDwEB_wQEAwICpDATBgNVHSUEDDAKBggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH_MB0GA1UdDgQWBBQ_C-VsxCCp7hIukcSQY66T_1-wwDCCAQYGA1UdEQSB_jCB-4INRG9vbW1hYy5sb2NhbIIJbG9jYWxob3N0ggR1bml4ggp1bml4cGFja2V0ggdidWZjb25uhwR_AAABhxAAAAAAAAAAAAAAAAAAAAABhxD-gAAAAAAAAAAAAAAAAAABhxD-gAAAAAAAAFSCWv_--hJchxD-gAAAAAAAAFSCWv_--hJahxD-gAAAAAAAAFSCWv_--hJbhxD-gAAAAAAAAAAtb1hMXkTshwTAqAHlhxD-gAAAAAAAAHQf-P_-JUMfhwQKkK07hxD-gAAAAAAAANx-KvMiB6mphxD-gAAAAAAAAIdaqQYVUHbchxD-gAAAAAAAAM6BCxy9LAaeMAoGCCqGSM49BAMCA0gAMEUCIHmOfHbewxWmX0JoItg8vF84A3GWfYLvjbnGxoapsaH4AiEAlGk3QVSDSHjP7vntLEK37tJ3ZCZAYeuLJKYSjbgbdI8&macaroon=AgEEbG9vcAJ3AwoQSQHLuEtbfDxGeNmwvABdRRIBMBoMCgRhdXRoEgRyZWFkGg8KBGxvb3ASAmluEgNvdXQaGgoLc3VnZ2VzdGlvbnMSBHJlYWQSBXdyaXRlGhUKBHN3YXASB2V4ZWN1dGUSBHJlYWQaDQoFdGVybXMSBHJlYWQAAAYgHb_8HcZwROzXASOxItpkbD3XAWHy1Ye32vlc1ccLeg8", "OTEL_RESOURCE_ATTRIBUTES": "service.name=liquidator,service.version=0.1.0", "OTEL_EXPORTER_OTLP_ENDPOINT": "host.docker.internal:4317" } diff --git a/errors/errors.go b/customerrors/errors.go similarity index 88% rename from errors/errors.go rename to customerrors/errors.go index f46488c..4fe785e 100644 --- a/errors/errors.go +++ b/customerrors/errors.go @@ -1,4 +1,4 @@ -package errors +package customerrors // Error type for when a swap is in progress type SwapInProgressError struct { diff --git a/github.com/lightninglabs/loop/looprpc/client.pb.go b/github.com/lightninglabs/loop/looprpc/client.pb.go deleted file mode 100644 index 888a27a..0000000 --- a/github.com/lightninglabs/loop/looprpc/client.pb.go +++ /dev/null @@ -1,3887 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.12 -// source: looprpc/client.proto - -package looprpc - -import ( - swapserverrpc "github.com/lightninglabs/loop/swapserverrpc" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type SwapType int32 - -const ( - // LOOP_OUT indicates an loop out swap (off-chain to on-chain) - SwapType_LOOP_OUT SwapType = 0 - // LOOP_IN indicates a loop in swap (on-chain to off-chain) - SwapType_LOOP_IN SwapType = 1 -) - -// Enum value maps for SwapType. -var ( - SwapType_name = map[int32]string{ - 0: "LOOP_OUT", - 1: "LOOP_IN", - } - SwapType_value = map[string]int32{ - "LOOP_OUT": 0, - "LOOP_IN": 1, - } -) - -func (x SwapType) Enum() *SwapType { - p := new(SwapType) - *p = x - return p -} - -func (x SwapType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SwapType) Descriptor() protoreflect.EnumDescriptor { - return file_looprpc_client_proto_enumTypes[0].Descriptor() -} - -func (SwapType) Type() protoreflect.EnumType { - return &file_looprpc_client_proto_enumTypes[0] -} - -func (x SwapType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SwapType.Descriptor instead. -func (SwapType) EnumDescriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{0} -} - -type SwapState int32 - -const ( - // INITIATED is the initial state of a swap. At that point, the initiation - // call to the server has been made and the payment process has been started - // for the swap and prepayment invoices. - SwapState_INITIATED SwapState = 0 - // PREIMAGE_REVEALED is reached when the sweep tx publication is first - // attempted. From that point on, we should consider the preimage to no - // longer be secret and we need to do all we can to get the sweep confirmed. - // This state will mostly coalesce with StateHtlcConfirmed, except in the - // case where we wait for fees to come down before we sweep. - SwapState_PREIMAGE_REVEALED SwapState = 1 - // HTLC_PUBLISHED is reached when the htlc tx has been published in a loop in - // swap. - SwapState_HTLC_PUBLISHED SwapState = 2 - // SUCCESS is the final swap state that is reached when the sweep tx has - // the required confirmation depth. - SwapState_SUCCESS SwapState = 3 - // FAILED is the final swap state for a failed swap with or without loss of - // the swap amount. - SwapState_FAILED SwapState = 4 - // INVOICE_SETTLED is reached when the swap invoice in a loop in swap has been - // paid, but we are still waiting for the htlc spend to confirm. - SwapState_INVOICE_SETTLED SwapState = 5 -) - -// Enum value maps for SwapState. -var ( - SwapState_name = map[int32]string{ - 0: "INITIATED", - 1: "PREIMAGE_REVEALED", - 2: "HTLC_PUBLISHED", - 3: "SUCCESS", - 4: "FAILED", - 5: "INVOICE_SETTLED", - } - SwapState_value = map[string]int32{ - "INITIATED": 0, - "PREIMAGE_REVEALED": 1, - "HTLC_PUBLISHED": 2, - "SUCCESS": 3, - "FAILED": 4, - "INVOICE_SETTLED": 5, - } -) - -func (x SwapState) Enum() *SwapState { - p := new(SwapState) - *p = x - return p -} - -func (x SwapState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SwapState) Descriptor() protoreflect.EnumDescriptor { - return file_looprpc_client_proto_enumTypes[1].Descriptor() -} - -func (SwapState) Type() protoreflect.EnumType { - return &file_looprpc_client_proto_enumTypes[1] -} - -func (x SwapState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SwapState.Descriptor instead. -func (SwapState) EnumDescriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{1} -} - -type FailureReason int32 - -const ( - // FAILURE_REASON_NONE is set when the swap did not fail, it is either in - // progress or succeeded. - FailureReason_FAILURE_REASON_NONE FailureReason = 0 - // FAILURE_REASON_OFFCHAIN indicates that a loop out failed because it wasn't - // possible to find a route for one or both off chain payments that met the fee - // and timelock limits required. - FailureReason_FAILURE_REASON_OFFCHAIN FailureReason = 1 - // FAILURE_REASON_TIMEOUT indicates that the swap failed because on chain htlc - // did not confirm before its expiry, or it confirmed too late for us to reveal - // our preimage and claim. - FailureReason_FAILURE_REASON_TIMEOUT FailureReason = 2 - // FAILURE_REASON_SWEEP_TIMEOUT indicates that a loop out permanently failed - // because the on chain htlc wasn't swept before the server revoked the - // htlc. - FailureReason_FAILURE_REASON_SWEEP_TIMEOUT FailureReason = 3 - // FAILURE_REASON_INSUFFICIENT_VALUE indicates that a loop out has failed - // because the on chain htlc had a lower value than requested. - FailureReason_FAILURE_REASON_INSUFFICIENT_VALUE FailureReason = 4 - // FAILURE_REASON_TEMPORARY indicates that a swap cannot continue due to an - // internal error. Manual intervention such as a restart is required. - FailureReason_FAILURE_REASON_TEMPORARY FailureReason = 5 - // FAILURE_REASON_INCORRECT_AMOUNT indicates that a loop in permanently failed - // because the amount extended by an external loop in htlc is insufficient. - FailureReason_FAILURE_REASON_INCORRECT_AMOUNT FailureReason = 6 -) - -// Enum value maps for FailureReason. -var ( - FailureReason_name = map[int32]string{ - 0: "FAILURE_REASON_NONE", - 1: "FAILURE_REASON_OFFCHAIN", - 2: "FAILURE_REASON_TIMEOUT", - 3: "FAILURE_REASON_SWEEP_TIMEOUT", - 4: "FAILURE_REASON_INSUFFICIENT_VALUE", - 5: "FAILURE_REASON_TEMPORARY", - 6: "FAILURE_REASON_INCORRECT_AMOUNT", - } - FailureReason_value = map[string]int32{ - "FAILURE_REASON_NONE": 0, - "FAILURE_REASON_OFFCHAIN": 1, - "FAILURE_REASON_TIMEOUT": 2, - "FAILURE_REASON_SWEEP_TIMEOUT": 3, - "FAILURE_REASON_INSUFFICIENT_VALUE": 4, - "FAILURE_REASON_TEMPORARY": 5, - "FAILURE_REASON_INCORRECT_AMOUNT": 6, - } -) - -func (x FailureReason) Enum() *FailureReason { - p := new(FailureReason) - *p = x - return p -} - -func (x FailureReason) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (FailureReason) Descriptor() protoreflect.EnumDescriptor { - return file_looprpc_client_proto_enumTypes[2].Descriptor() -} - -func (FailureReason) Type() protoreflect.EnumType { - return &file_looprpc_client_proto_enumTypes[2] -} - -func (x FailureReason) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use FailureReason.Descriptor instead. -func (FailureReason) EnumDescriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{2} -} - -type LiquidityRuleType int32 - -const ( - LiquidityRuleType_UNKNOWN LiquidityRuleType = 0 - LiquidityRuleType_THRESHOLD LiquidityRuleType = 1 -) - -// Enum value maps for LiquidityRuleType. -var ( - LiquidityRuleType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "THRESHOLD", - } - LiquidityRuleType_value = map[string]int32{ - "UNKNOWN": 0, - "THRESHOLD": 1, - } -) - -func (x LiquidityRuleType) Enum() *LiquidityRuleType { - p := new(LiquidityRuleType) - *p = x - return p -} - -func (x LiquidityRuleType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (LiquidityRuleType) Descriptor() protoreflect.EnumDescriptor { - return file_looprpc_client_proto_enumTypes[3].Descriptor() -} - -func (LiquidityRuleType) Type() protoreflect.EnumType { - return &file_looprpc_client_proto_enumTypes[3] -} - -func (x LiquidityRuleType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use LiquidityRuleType.Descriptor instead. -func (LiquidityRuleType) EnumDescriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{3} -} - -type AutoReason int32 - -const ( - AutoReason_AUTO_REASON_UNKNOWN AutoReason = 0 - // Budget not started indicates that we do not recommend any swaps because - // the start time for our budget has not arrived yet. - AutoReason_AUTO_REASON_BUDGET_NOT_STARTED AutoReason = 1 - // Sweep fees indicates that the estimated fees to sweep swaps are too high - // right now. - AutoReason_AUTO_REASON_SWEEP_FEES AutoReason = 2 - // Budget elapsed indicates that the autoloop budget for the period has been - // elapsed. - AutoReason_AUTO_REASON_BUDGET_ELAPSED AutoReason = 3 - // In flight indicates that the limit on in-flight automatically dispatched - // swaps has already been reached. - AutoReason_AUTO_REASON_IN_FLIGHT AutoReason = 4 - // Swap fee indicates that the server fee for a specific swap is too high. - AutoReason_AUTO_REASON_SWAP_FEE AutoReason = 5 - // Miner fee indicates that the miner fee for a specific swap is to high. - AutoReason_AUTO_REASON_MINER_FEE AutoReason = 6 - // Prepay indicates that the prepay fee for a specific swap is too high. - AutoReason_AUTO_REASON_PREPAY AutoReason = 7 - // Failure backoff indicates that a swap has recently failed for this target, - // and the backoff period has not yet passed. - AutoReason_AUTO_REASON_FAILURE_BACKOFF AutoReason = 8 - // Loop out indicates that a loop out swap is currently utilizing the channel, - // so it is not eligible. - AutoReason_AUTO_REASON_LOOP_OUT AutoReason = 9 - // Loop In indicates that a loop in swap is currently in flight for the peer, - // so it is not eligible. - AutoReason_AUTO_REASON_LOOP_IN AutoReason = 10 - // Liquidity ok indicates that a target meets the liquidity balance expressed - // in its rule, so no swap is needed. - AutoReason_AUTO_REASON_LIQUIDITY_OK AutoReason = 11 - // Budget insufficient indicates that we cannot perform a swap because we do - // not have enough pending budget available. This differs from budget elapsed, - // because we still have some budget available, but we have allocated it to - // other swaps. - AutoReason_AUTO_REASON_BUDGET_INSUFFICIENT AutoReason = 12 - // Fee insufficient indicates that the fee estimate for a swap is higher than - // the portion of total swap amount that we allow fees to consume. - AutoReason_AUTO_REASON_FEE_INSUFFICIENT AutoReason = 13 -) - -// Enum value maps for AutoReason. -var ( - AutoReason_name = map[int32]string{ - 0: "AUTO_REASON_UNKNOWN", - 1: "AUTO_REASON_BUDGET_NOT_STARTED", - 2: "AUTO_REASON_SWEEP_FEES", - 3: "AUTO_REASON_BUDGET_ELAPSED", - 4: "AUTO_REASON_IN_FLIGHT", - 5: "AUTO_REASON_SWAP_FEE", - 6: "AUTO_REASON_MINER_FEE", - 7: "AUTO_REASON_PREPAY", - 8: "AUTO_REASON_FAILURE_BACKOFF", - 9: "AUTO_REASON_LOOP_OUT", - 10: "AUTO_REASON_LOOP_IN", - 11: "AUTO_REASON_LIQUIDITY_OK", - 12: "AUTO_REASON_BUDGET_INSUFFICIENT", - 13: "AUTO_REASON_FEE_INSUFFICIENT", - } - AutoReason_value = map[string]int32{ - "AUTO_REASON_UNKNOWN": 0, - "AUTO_REASON_BUDGET_NOT_STARTED": 1, - "AUTO_REASON_SWEEP_FEES": 2, - "AUTO_REASON_BUDGET_ELAPSED": 3, - "AUTO_REASON_IN_FLIGHT": 4, - "AUTO_REASON_SWAP_FEE": 5, - "AUTO_REASON_MINER_FEE": 6, - "AUTO_REASON_PREPAY": 7, - "AUTO_REASON_FAILURE_BACKOFF": 8, - "AUTO_REASON_LOOP_OUT": 9, - "AUTO_REASON_LOOP_IN": 10, - "AUTO_REASON_LIQUIDITY_OK": 11, - "AUTO_REASON_BUDGET_INSUFFICIENT": 12, - "AUTO_REASON_FEE_INSUFFICIENT": 13, - } -) - -func (x AutoReason) Enum() *AutoReason { - p := new(AutoReason) - *p = x - return p -} - -func (x AutoReason) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (AutoReason) Descriptor() protoreflect.EnumDescriptor { - return file_looprpc_client_proto_enumTypes[4].Descriptor() -} - -func (AutoReason) Type() protoreflect.EnumType { - return &file_looprpc_client_proto_enumTypes[4] -} - -func (x AutoReason) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use AutoReason.Descriptor instead. -func (AutoReason) EnumDescriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{4} -} - -type LoopOutRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Requested swap amount in sat. This does not include the swap and miner fee. - Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` - // Base58 encoded destination address for the swap. - Dest string `protobuf:"bytes,2,opt,name=dest,proto3" json:"dest,omitempty"` - // Maximum off-chain fee in sat that may be paid for swap payment to the - // server. This limit is applied during path finding. Typically this value is - // taken from the response of the GetQuote call. - MaxSwapRoutingFee int64 `protobuf:"varint,3,opt,name=max_swap_routing_fee,json=maxSwapRoutingFee,proto3" json:"max_swap_routing_fee,omitempty"` - // Maximum off-chain fee in sat that may be paid for the prepay to the server. - // This limit is applied during path finding. Typically this value is taken - // from the response of the GetQuote call. - MaxPrepayRoutingFee int64 `protobuf:"varint,4,opt,name=max_prepay_routing_fee,json=maxPrepayRoutingFee,proto3" json:"max_prepay_routing_fee,omitempty"` - // Maximum we are willing to pay the server for the swap. This value is not - // disclosed in the swap initiation call, but if the server asks for a - // higher fee, we abort the swap. Typically this value is taken from the - // response of the GetQuote call. It includes the prepay amount. - MaxSwapFee int64 `protobuf:"varint,5,opt,name=max_swap_fee,json=maxSwapFee,proto3" json:"max_swap_fee,omitempty"` - // Maximum amount of the swap fee that may be charged as a prepayment. - MaxPrepayAmt int64 `protobuf:"varint,6,opt,name=max_prepay_amt,json=maxPrepayAmt,proto3" json:"max_prepay_amt,omitempty"` - // Maximum in on-chain fees that we are willing to spend. If we want to - // sweep the on-chain htlc and the fee estimate turns out higher than this - // value, we cancel the swap. If the fee estimate is lower, we publish the - // sweep tx. - // - // If the sweep tx is not confirmed, we are forced to ratchet up fees until it - // is swept. Possibly even exceeding max_miner_fee if we get close to the htlc - // timeout. Because the initial publication revealed the preimage, we have no - // other choice. The server may already have pulled the off-chain htlc. Only - // when the fee becomes higher than the swap amount, we can only wait for fees - // to come down and hope - if we are past the timeout - that the server is not - // publishing the revocation. - // - // max_miner_fee is typically taken from the response of the GetQuote call. - MaxMinerFee int64 `protobuf:"varint,7,opt,name=max_miner_fee,json=maxMinerFee,proto3" json:"max_miner_fee,omitempty"` - // Deprecated, use outgoing_chan_set. The channel to loop out, the channel - // to loop out is selected based on the lowest routing fee for the swap - // payment to the server. - // - // Deprecated: Do not use. - LoopOutChannel uint64 `protobuf:"varint,8,opt,name=loop_out_channel,json=loopOutChannel,proto3" json:"loop_out_channel,omitempty"` - // A restriction on the channel set that may be used to loop out. The actual - // channel(s) that will be used are selected based on the lowest routing fee - // for the swap payment to the server. - OutgoingChanSet []uint64 `protobuf:"varint,11,rep,packed,name=outgoing_chan_set,json=outgoingChanSet,proto3" json:"outgoing_chan_set,omitempty"` - // The number of blocks from the on-chain HTLC's confirmation height that it - // should be swept within. - SweepConfTarget int32 `protobuf:"varint,9,opt,name=sweep_conf_target,json=sweepConfTarget,proto3" json:"sweep_conf_target,omitempty"` - // The number of confirmations that we require for the on chain htlc that will - // be published by the server before we reveal the preimage. - HtlcConfirmations int32 `protobuf:"varint,13,opt,name=htlc_confirmations,json=htlcConfirmations,proto3" json:"htlc_confirmations,omitempty"` - // The latest time (in unix seconds) we allow the server to wait before - // publishing the HTLC on chain. Setting this to a larger value will give the - // server the opportunity to batch multiple swaps together, and wait for - // low-fee periods before publishing the HTLC, potentially resulting in a - // lower total swap fee. - SwapPublicationDeadline uint64 `protobuf:"varint,10,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"` - // An optional label for this swap. This field is limited to 500 characters - // and may not start with the prefix [reserved], which is used to tag labels - // produced by the daemon. - Label string `protobuf:"bytes,12,opt,name=label,proto3" json:"label,omitempty"` - // An optional identification string that will be appended to the user agent - // string sent to the server to give information about the usage of loop. This - // initiator part is meant for user interfaces to add their name to give the - // full picture of the binary used (loopd, LiT) and the method used for - // triggering the swap (loop CLI, autolooper, LiT UI, other 3rd party UI). - Initiator string `protobuf:"bytes,14,opt,name=initiator,proto3" json:"initiator,omitempty"` -} - -func (x *LoopOutRequest) Reset() { - *x = LoopOutRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LoopOutRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopOutRequest) ProtoMessage() {} - -func (x *LoopOutRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopOutRequest.ProtoReflect.Descriptor instead. -func (*LoopOutRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{0} -} - -func (x *LoopOutRequest) GetAmt() int64 { - if x != nil { - return x.Amt - } - return 0 -} - -func (x *LoopOutRequest) GetDest() string { - if x != nil { - return x.Dest - } - return "" -} - -func (x *LoopOutRequest) GetMaxSwapRoutingFee() int64 { - if x != nil { - return x.MaxSwapRoutingFee - } - return 0 -} - -func (x *LoopOutRequest) GetMaxPrepayRoutingFee() int64 { - if x != nil { - return x.MaxPrepayRoutingFee - } - return 0 -} - -func (x *LoopOutRequest) GetMaxSwapFee() int64 { - if x != nil { - return x.MaxSwapFee - } - return 0 -} - -func (x *LoopOutRequest) GetMaxPrepayAmt() int64 { - if x != nil { - return x.MaxPrepayAmt - } - return 0 -} - -func (x *LoopOutRequest) GetMaxMinerFee() int64 { - if x != nil { - return x.MaxMinerFee - } - return 0 -} - -// Deprecated: Do not use. -func (x *LoopOutRequest) GetLoopOutChannel() uint64 { - if x != nil { - return x.LoopOutChannel - } - return 0 -} - -func (x *LoopOutRequest) GetOutgoingChanSet() []uint64 { - if x != nil { - return x.OutgoingChanSet - } - return nil -} - -func (x *LoopOutRequest) GetSweepConfTarget() int32 { - if x != nil { - return x.SweepConfTarget - } - return 0 -} - -func (x *LoopOutRequest) GetHtlcConfirmations() int32 { - if x != nil { - return x.HtlcConfirmations - } - return 0 -} - -func (x *LoopOutRequest) GetSwapPublicationDeadline() uint64 { - if x != nil { - return x.SwapPublicationDeadline - } - return 0 -} - -func (x *LoopOutRequest) GetLabel() string { - if x != nil { - return x.Label - } - return "" -} - -func (x *LoopOutRequest) GetInitiator() string { - if x != nil { - return x.Initiator - } - return "" -} - -type LoopInRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Requested swap amount in sat. This does not include the swap and miner - // fee. - Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` - // Maximum we are willing to pay the server for the swap. This value is not - // disclosed in the swap initiation call, but if the server asks for a - // higher fee, we abort the swap. Typically this value is taken from the - // response of the GetQuote call. - MaxSwapFee int64 `protobuf:"varint,2,opt,name=max_swap_fee,json=maxSwapFee,proto3" json:"max_swap_fee,omitempty"` - // Maximum in on-chain fees that we are willing to spend. If we want to - // publish the on-chain htlc and the fee estimate turns out higher than this - // value, we cancel the swap. - // - // max_miner_fee is typically taken from the response of the GetQuote call. - MaxMinerFee int64 `protobuf:"varint,3,opt,name=max_miner_fee,json=maxMinerFee,proto3" json:"max_miner_fee,omitempty"` - // The last hop to use for the loop in swap. If empty, the last hop is selected - // based on the lowest routing fee for the swap payment from the server. - LastHop []byte `protobuf:"bytes,4,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"` - // If external_htlc is true, we expect the htlc to be published by an external - // actor. - ExternalHtlc bool `protobuf:"varint,5,opt,name=external_htlc,json=externalHtlc,proto3" json:"external_htlc,omitempty"` - // The number of blocks that the on chain htlc should confirm within. - HtlcConfTarget int32 `protobuf:"varint,6,opt,name=htlc_conf_target,json=htlcConfTarget,proto3" json:"htlc_conf_target,omitempty"` - // An optional label for this swap. This field is limited to 500 characters - // and may not be one of the reserved values in loop/labels Reserved list. - Label string `protobuf:"bytes,7,opt,name=label,proto3" json:"label,omitempty"` - // An optional identification string that will be appended to the user agent - // string sent to the server to give information about the usage of loop. This - // initiator part is meant for user interfaces to add their name to give the - // full picture of the binary used (loopd, LiT) and the method used for - // triggering the swap (loop CLI, autolooper, LiT UI, other 3rd party UI). - Initiator string `protobuf:"bytes,8,opt,name=initiator,proto3" json:"initiator,omitempty"` - // Optional route hints to reach the destination through private channels. - RouteHints []*swapserverrpc.RouteHint `protobuf:"bytes,9,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` - // Private indicates whether the destination node should be considered - // private. In which case, loop will generate hophints to assist with - // probing and payment. - Private bool `protobuf:"varint,10,opt,name=private,proto3" json:"private,omitempty"` -} - -func (x *LoopInRequest) Reset() { - *x = LoopInRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LoopInRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopInRequest) ProtoMessage() {} - -func (x *LoopInRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopInRequest.ProtoReflect.Descriptor instead. -func (*LoopInRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{1} -} - -func (x *LoopInRequest) GetAmt() int64 { - if x != nil { - return x.Amt - } - return 0 -} - -func (x *LoopInRequest) GetMaxSwapFee() int64 { - if x != nil { - return x.MaxSwapFee - } - return 0 -} - -func (x *LoopInRequest) GetMaxMinerFee() int64 { - if x != nil { - return x.MaxMinerFee - } - return 0 -} - -func (x *LoopInRequest) GetLastHop() []byte { - if x != nil { - return x.LastHop - } - return nil -} - -func (x *LoopInRequest) GetExternalHtlc() bool { - if x != nil { - return x.ExternalHtlc - } - return false -} - -func (x *LoopInRequest) GetHtlcConfTarget() int32 { - if x != nil { - return x.HtlcConfTarget - } - return 0 -} - -func (x *LoopInRequest) GetLabel() string { - if x != nil { - return x.Label - } - return "" -} - -func (x *LoopInRequest) GetInitiator() string { - if x != nil { - return x.Initiator - } - return "" -} - -func (x *LoopInRequest) GetRouteHints() []*swapserverrpc.RouteHint { - if x != nil { - return x.RouteHints - } - return nil -} - -func (x *LoopInRequest) GetPrivate() bool { - if x != nil { - return x.Private - } - return false -} - -type SwapResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Swap identifier to track status in the update stream that is returned from - // the Start() call. Currently this is the hash that locks the htlcs. - // DEPRECATED: To make the API more consistent, this field is deprecated in - // favor of id_bytes and will be removed in a future release. - // - // Deprecated: Do not use. - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // Swap identifier to track status in the update stream that is returned from - // the Start() call. Currently this is the hash that locks the htlcs. - IdBytes []byte `protobuf:"bytes,3,opt,name=id_bytes,json=idBytes,proto3" json:"id_bytes,omitempty"` - // DEPRECATED. This field stores the address of the onchain htlc, but - // depending on the request, the semantics are different. - // - For internal loop-in htlc_address contains the address of the - // native segwit (P2WSH) htlc. - // / - For loop-out htlc_address always contains the native segwit (P2WSH) - // htlc address. - // - // Deprecated: Do not use. - HtlcAddress string `protobuf:"bytes,2,opt,name=htlc_address,json=htlcAddress,proto3" json:"htlc_address,omitempty"` - // The native segwit address of the on-chain htlc. - // Used for both loop-in and loop-out. - HtlcAddressP2Wsh string `protobuf:"bytes,5,opt,name=htlc_address_p2wsh,json=htlcAddressP2wsh,proto3" json:"htlc_address_p2wsh,omitempty"` - // The address of the v3 (taproot) htlc. Used for both loop-in and loop-out. - HtlcAddressP2Tr string `protobuf:"bytes,7,opt,name=htlc_address_p2tr,json=htlcAddressP2tr,proto3" json:"htlc_address_p2tr,omitempty"` - // A human-readable message received from the loop server. - ServerMessage string `protobuf:"bytes,6,opt,name=server_message,json=serverMessage,proto3" json:"server_message,omitempty"` -} - -func (x *SwapResponse) Reset() { - *x = SwapResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SwapResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SwapResponse) ProtoMessage() {} - -func (x *SwapResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SwapResponse.ProtoReflect.Descriptor instead. -func (*SwapResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{2} -} - -// Deprecated: Do not use. -func (x *SwapResponse) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *SwapResponse) GetIdBytes() []byte { - if x != nil { - return x.IdBytes - } - return nil -} - -// Deprecated: Do not use. -func (x *SwapResponse) GetHtlcAddress() string { - if x != nil { - return x.HtlcAddress - } - return "" -} - -func (x *SwapResponse) GetHtlcAddressP2Wsh() string { - if x != nil { - return x.HtlcAddressP2Wsh - } - return "" -} - -func (x *SwapResponse) GetHtlcAddressP2Tr() string { - if x != nil { - return x.HtlcAddressP2Tr - } - return "" -} - -func (x *SwapResponse) GetServerMessage() string { - if x != nil { - return x.ServerMessage - } - return "" -} - -type MonitorRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MonitorRequest) Reset() { - *x = MonitorRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MonitorRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MonitorRequest) ProtoMessage() {} - -func (x *MonitorRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MonitorRequest.ProtoReflect.Descriptor instead. -func (*MonitorRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{3} -} - -type SwapStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Requested swap amount in sat. This does not include the swap and miner - // fee. - Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` - // Swap identifier to track status in the update stream that is returned from - // the Start() call. Currently this is the hash that locks the htlcs. - // DEPRECATED: To make the API more consistent, this field is deprecated in - // favor of id_bytes and will be removed in a future release. - // - // Deprecated: Do not use. - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - // Swap identifier to track status in the update stream that is returned from - // the Start() call. Currently this is the hash that locks the htlcs. - IdBytes []byte `protobuf:"bytes,11,opt,name=id_bytes,json=idBytes,proto3" json:"id_bytes,omitempty"` - // The type of the swap. - Type SwapType `protobuf:"varint,3,opt,name=type,proto3,enum=looprpc.SwapType" json:"type,omitempty"` - // State the swap is currently in, see State enum. - State SwapState `protobuf:"varint,4,opt,name=state,proto3,enum=looprpc.SwapState" json:"state,omitempty"` - // A failure reason for the swap, only set if the swap has failed. - FailureReason FailureReason `protobuf:"varint,14,opt,name=failure_reason,json=failureReason,proto3,enum=looprpc.FailureReason" json:"failure_reason,omitempty"` - // Initiation time of the swap. - InitiationTime int64 `protobuf:"varint,5,opt,name=initiation_time,json=initiationTime,proto3" json:"initiation_time,omitempty"` - // Initiation time of the swap. - LastUpdateTime int64 `protobuf:"varint,6,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` - // DEPRECATED: This field stores the address of the onchain htlc. - // - For internal loop-in htlc_address contains the address of the - // native segwit (P2WSH) htlc. - // - For loop-out htlc_address always contains the native segwit (P2WSH) - // htlc address. - // - // Deprecated: Do not use. - HtlcAddress string `protobuf:"bytes,7,opt,name=htlc_address,json=htlcAddress,proto3" json:"htlc_address,omitempty"` - // HTLC address (native segwit), used in loop-in and loop-out swaps. - HtlcAddressP2Wsh string `protobuf:"bytes,12,opt,name=htlc_address_p2wsh,json=htlcAddressP2wsh,proto3" json:"htlc_address_p2wsh,omitempty"` - // The address of the v3 (taproot) htlc. Used for both loop-in and loop-out. - HtlcAddressP2Tr string `protobuf:"bytes,18,opt,name=htlc_address_p2tr,json=htlcAddressP2tr,proto3" json:"htlc_address_p2tr,omitempty"` - // Swap server cost - CostServer int64 `protobuf:"varint,8,opt,name=cost_server,json=costServer,proto3" json:"cost_server,omitempty"` - // On-chain transaction cost - CostOnchain int64 `protobuf:"varint,9,opt,name=cost_onchain,json=costOnchain,proto3" json:"cost_onchain,omitempty"` - // Off-chain routing fees - CostOffchain int64 `protobuf:"varint,10,opt,name=cost_offchain,json=costOffchain,proto3" json:"cost_offchain,omitempty"` - // Optional last hop if provided in the loop in request. - LastHop []byte `protobuf:"bytes,16,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"` - // Optional outgoing channel set if provided in the loop out request. - OutgoingChanSet []uint64 `protobuf:"varint,17,rep,packed,name=outgoing_chan_set,json=outgoingChanSet,proto3" json:"outgoing_chan_set,omitempty"` - // An optional label given to the swap on creation. - Label string `protobuf:"bytes,15,opt,name=label,proto3" json:"label,omitempty"` -} - -func (x *SwapStatus) Reset() { - *x = SwapStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SwapStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SwapStatus) ProtoMessage() {} - -func (x *SwapStatus) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SwapStatus.ProtoReflect.Descriptor instead. -func (*SwapStatus) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{4} -} - -func (x *SwapStatus) GetAmt() int64 { - if x != nil { - return x.Amt - } - return 0 -} - -// Deprecated: Do not use. -func (x *SwapStatus) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -func (x *SwapStatus) GetIdBytes() []byte { - if x != nil { - return x.IdBytes - } - return nil -} - -func (x *SwapStatus) GetType() SwapType { - if x != nil { - return x.Type - } - return SwapType_LOOP_OUT -} - -func (x *SwapStatus) GetState() SwapState { - if x != nil { - return x.State - } - return SwapState_INITIATED -} - -func (x *SwapStatus) GetFailureReason() FailureReason { - if x != nil { - return x.FailureReason - } - return FailureReason_FAILURE_REASON_NONE -} - -func (x *SwapStatus) GetInitiationTime() int64 { - if x != nil { - return x.InitiationTime - } - return 0 -} - -func (x *SwapStatus) GetLastUpdateTime() int64 { - if x != nil { - return x.LastUpdateTime - } - return 0 -} - -// Deprecated: Do not use. -func (x *SwapStatus) GetHtlcAddress() string { - if x != nil { - return x.HtlcAddress - } - return "" -} - -func (x *SwapStatus) GetHtlcAddressP2Wsh() string { - if x != nil { - return x.HtlcAddressP2Wsh - } - return "" -} - -func (x *SwapStatus) GetHtlcAddressP2Tr() string { - if x != nil { - return x.HtlcAddressP2Tr - } - return "" -} - -func (x *SwapStatus) GetCostServer() int64 { - if x != nil { - return x.CostServer - } - return 0 -} - -func (x *SwapStatus) GetCostOnchain() int64 { - if x != nil { - return x.CostOnchain - } - return 0 -} - -func (x *SwapStatus) GetCostOffchain() int64 { - if x != nil { - return x.CostOffchain - } - return 0 -} - -func (x *SwapStatus) GetLastHop() []byte { - if x != nil { - return x.LastHop - } - return nil -} - -func (x *SwapStatus) GetOutgoingChanSet() []uint64 { - if x != nil { - return x.OutgoingChanSet - } - return nil -} - -func (x *SwapStatus) GetLabel() string { - if x != nil { - return x.Label - } - return "" -} - -type ListSwapsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ListSwapsRequest) Reset() { - *x = ListSwapsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListSwapsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListSwapsRequest) ProtoMessage() {} - -func (x *ListSwapsRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListSwapsRequest.ProtoReflect.Descriptor instead. -func (*ListSwapsRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{5} -} - -type ListSwapsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of all currently known swaps and their status. - Swaps []*SwapStatus `protobuf:"bytes,1,rep,name=swaps,proto3" json:"swaps,omitempty"` -} - -func (x *ListSwapsResponse) Reset() { - *x = ListSwapsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListSwapsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListSwapsResponse) ProtoMessage() {} - -func (x *ListSwapsResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListSwapsResponse.ProtoReflect.Descriptor instead. -func (*ListSwapsResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{6} -} - -func (x *ListSwapsResponse) GetSwaps() []*SwapStatus { - if x != nil { - return x.Swaps - } - return nil -} - -type SwapInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The swap identifier which currently is the hash that locks the HTLCs. When - // using REST, this field must be encoded as URL safe base64. - Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *SwapInfoRequest) Reset() { - *x = SwapInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SwapInfoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SwapInfoRequest) ProtoMessage() {} - -func (x *SwapInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SwapInfoRequest.ProtoReflect.Descriptor instead. -func (*SwapInfoRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{7} -} - -func (x *SwapInfoRequest) GetId() []byte { - if x != nil { - return x.Id - } - return nil -} - -type TermsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *TermsRequest) Reset() { - *x = TermsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TermsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TermsRequest) ProtoMessage() {} - -func (x *TermsRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TermsRequest.ProtoReflect.Descriptor instead. -func (*TermsRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{8} -} - -type InTermsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Minimum swap amount (sat) - MinSwapAmount int64 `protobuf:"varint,5,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"` - // Maximum swap amount (sat) - MaxSwapAmount int64 `protobuf:"varint,6,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"` -} - -func (x *InTermsResponse) Reset() { - *x = InTermsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InTermsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InTermsResponse) ProtoMessage() {} - -func (x *InTermsResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InTermsResponse.ProtoReflect.Descriptor instead. -func (*InTermsResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{9} -} - -func (x *InTermsResponse) GetMinSwapAmount() int64 { - if x != nil { - return x.MinSwapAmount - } - return 0 -} - -func (x *InTermsResponse) GetMaxSwapAmount() int64 { - if x != nil { - return x.MaxSwapAmount - } - return 0 -} - -type OutTermsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Minimum swap amount (sat) - MinSwapAmount int64 `protobuf:"varint,5,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"` - // Maximum swap amount (sat) - MaxSwapAmount int64 `protobuf:"varint,6,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"` - // The minimally accepted cltv delta of the on-chain htlc. - MinCltvDelta int32 `protobuf:"varint,8,opt,name=min_cltv_delta,json=minCltvDelta,proto3" json:"min_cltv_delta,omitempty"` - // The maximally accepted cltv delta of the on-chain htlc. - MaxCltvDelta int32 `protobuf:"varint,9,opt,name=max_cltv_delta,json=maxCltvDelta,proto3" json:"max_cltv_delta,omitempty"` -} - -func (x *OutTermsResponse) Reset() { - *x = OutTermsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OutTermsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OutTermsResponse) ProtoMessage() {} - -func (x *OutTermsResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OutTermsResponse.ProtoReflect.Descriptor instead. -func (*OutTermsResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{10} -} - -func (x *OutTermsResponse) GetMinSwapAmount() int64 { - if x != nil { - return x.MinSwapAmount - } - return 0 -} - -func (x *OutTermsResponse) GetMaxSwapAmount() int64 { - if x != nil { - return x.MaxSwapAmount - } - return 0 -} - -func (x *OutTermsResponse) GetMinCltvDelta() int32 { - if x != nil { - return x.MinCltvDelta - } - return 0 -} - -func (x *OutTermsResponse) GetMaxCltvDelta() int32 { - if x != nil { - return x.MaxCltvDelta - } - return 0 -} - -type QuoteRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The amount to swap in satoshis. - Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` - // The confirmation target that should be used either for the sweep of the - // on-chain HTLC broadcast by the swap server in the case of a Loop Out, or for - // the confirmation of the on-chain HTLC broadcast by the swap client in the - // case of a Loop In. - ConfTarget int32 `protobuf:"varint,2,opt,name=conf_target,json=confTarget,proto3" json:"conf_target,omitempty"` - // If external_htlc is true, we expect the htlc to be published by an external - // actor. - ExternalHtlc bool `protobuf:"varint,3,opt,name=external_htlc,json=externalHtlc,proto3" json:"external_htlc,omitempty"` - // The latest time (in unix seconds) we allow the server to wait before - // publishing the HTLC on chain. Setting this to a larger value will give the - // server the opportunity to batch multiple swaps together, and wait for - // low-fee periods before publishing the HTLC, potentially resulting in a - // lower total swap fee. This only has an effect on loop out quotes. - SwapPublicationDeadline uint64 `protobuf:"varint,4,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"` - // Optionally the client can specify the last hop pubkey when requesting a - // loop-in quote. This is useful to get better off-chain routing fee from the - // server. - LoopInLastHop []byte `protobuf:"bytes,5,opt,name=loop_in_last_hop,json=loopInLastHop,proto3" json:"loop_in_last_hop,omitempty"` - // Optional route hints to reach the destination through private channels. - LoopInRouteHints []*swapserverrpc.RouteHint `protobuf:"bytes,6,rep,name=loop_in_route_hints,json=loopInRouteHints,proto3" json:"loop_in_route_hints,omitempty"` - // Private indicates whether the destination node should be considered - // private. In which case, loop will generate hophints to assist with - // probing and payment. - Private bool `protobuf:"varint,7,opt,name=private,proto3" json:"private,omitempty"` -} - -func (x *QuoteRequest) Reset() { - *x = QuoteRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QuoteRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QuoteRequest) ProtoMessage() {} - -func (x *QuoteRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QuoteRequest.ProtoReflect.Descriptor instead. -func (*QuoteRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{11} -} - -func (x *QuoteRequest) GetAmt() int64 { - if x != nil { - return x.Amt - } - return 0 -} - -func (x *QuoteRequest) GetConfTarget() int32 { - if x != nil { - return x.ConfTarget - } - return 0 -} - -func (x *QuoteRequest) GetExternalHtlc() bool { - if x != nil { - return x.ExternalHtlc - } - return false -} - -func (x *QuoteRequest) GetSwapPublicationDeadline() uint64 { - if x != nil { - return x.SwapPublicationDeadline - } - return 0 -} - -func (x *QuoteRequest) GetLoopInLastHop() []byte { - if x != nil { - return x.LoopInLastHop - } - return nil -} - -func (x *QuoteRequest) GetLoopInRouteHints() []*swapserverrpc.RouteHint { - if x != nil { - return x.LoopInRouteHints - } - return nil -} - -func (x *QuoteRequest) GetPrivate() bool { - if x != nil { - return x.Private - } - return false -} - -type InQuoteResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The fee that the swap server is charging for the swap. - SwapFeeSat int64 `protobuf:"varint,1,opt,name=swap_fee_sat,json=swapFeeSat,proto3" json:"swap_fee_sat,omitempty"` - // An estimate of the on-chain fee that needs to be paid to publish the HTLC - // If a miner fee of 0 is returned, it means the external_htlc flag was set for - // a loop in and the fee estimation was skipped. If a miner fee of -1 is - // returned, it means lnd's wallet tried to estimate the fee but was unable to - // create a sample estimation transaction because not enough funds are - // available. An information message should be shown to the user in this case. - HtlcPublishFeeSat int64 `protobuf:"varint,3,opt,name=htlc_publish_fee_sat,json=htlcPublishFeeSat,proto3" json:"htlc_publish_fee_sat,omitempty"` - // On-chain cltv expiry delta - CltvDelta int32 `protobuf:"varint,5,opt,name=cltv_delta,json=cltvDelta,proto3" json:"cltv_delta,omitempty"` - // The confirmation target to be used to publish the on-chain HTLC. - ConfTarget int32 `protobuf:"varint,6,opt,name=conf_target,json=confTarget,proto3" json:"conf_target,omitempty"` -} - -func (x *InQuoteResponse) Reset() { - *x = InQuoteResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InQuoteResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InQuoteResponse) ProtoMessage() {} - -func (x *InQuoteResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InQuoteResponse.ProtoReflect.Descriptor instead. -func (*InQuoteResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{12} -} - -func (x *InQuoteResponse) GetSwapFeeSat() int64 { - if x != nil { - return x.SwapFeeSat - } - return 0 -} - -func (x *InQuoteResponse) GetHtlcPublishFeeSat() int64 { - if x != nil { - return x.HtlcPublishFeeSat - } - return 0 -} - -func (x *InQuoteResponse) GetCltvDelta() int32 { - if x != nil { - return x.CltvDelta - } - return 0 -} - -func (x *InQuoteResponse) GetConfTarget() int32 { - if x != nil { - return x.ConfTarget - } - return 0 -} - -type OutQuoteResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The fee that the swap server is charging for the swap. - SwapFeeSat int64 `protobuf:"varint,1,opt,name=swap_fee_sat,json=swapFeeSat,proto3" json:"swap_fee_sat,omitempty"` - // The part of the swap fee that is requested as a prepayment. - PrepayAmtSat int64 `protobuf:"varint,2,opt,name=prepay_amt_sat,json=prepayAmtSat,proto3" json:"prepay_amt_sat,omitempty"` - // An estimate of the on-chain fee that needs to be paid to sweep the HTLC for - // a loop out. - HtlcSweepFeeSat int64 `protobuf:"varint,3,opt,name=htlc_sweep_fee_sat,json=htlcSweepFeeSat,proto3" json:"htlc_sweep_fee_sat,omitempty"` - // The node pubkey where the swap payment needs to be paid - // to. This can be used to test connectivity before initiating the swap. - SwapPaymentDest []byte `protobuf:"bytes,4,opt,name=swap_payment_dest,json=swapPaymentDest,proto3" json:"swap_payment_dest,omitempty"` - // On-chain cltv expiry delta - CltvDelta int32 `protobuf:"varint,5,opt,name=cltv_delta,json=cltvDelta,proto3" json:"cltv_delta,omitempty"` - // The confirmation target to be used for the sweep of the on-chain HTLC. - ConfTarget int32 `protobuf:"varint,6,opt,name=conf_target,json=confTarget,proto3" json:"conf_target,omitempty"` -} - -func (x *OutQuoteResponse) Reset() { - *x = OutQuoteResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OutQuoteResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OutQuoteResponse) ProtoMessage() {} - -func (x *OutQuoteResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OutQuoteResponse.ProtoReflect.Descriptor instead. -func (*OutQuoteResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{13} -} - -func (x *OutQuoteResponse) GetSwapFeeSat() int64 { - if x != nil { - return x.SwapFeeSat - } - return 0 -} - -func (x *OutQuoteResponse) GetPrepayAmtSat() int64 { - if x != nil { - return x.PrepayAmtSat - } - return 0 -} - -func (x *OutQuoteResponse) GetHtlcSweepFeeSat() int64 { - if x != nil { - return x.HtlcSweepFeeSat - } - return 0 -} - -func (x *OutQuoteResponse) GetSwapPaymentDest() []byte { - if x != nil { - return x.SwapPaymentDest - } - return nil -} - -func (x *OutQuoteResponse) GetCltvDelta() int32 { - if x != nil { - return x.CltvDelta - } - return 0 -} - -func (x *OutQuoteResponse) GetConfTarget() int32 { - if x != nil { - return x.ConfTarget - } - return 0 -} - -type ProbeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The amount to probe. - Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` - // Optional last hop of the route to probe. - LastHop []byte `protobuf:"bytes,2,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"` - // Optional route hints to reach the destination through private channels. - RouteHints []*swapserverrpc.RouteHint `protobuf:"bytes,3,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` -} - -func (x *ProbeRequest) Reset() { - *x = ProbeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProbeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProbeRequest) ProtoMessage() {} - -func (x *ProbeRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProbeRequest.ProtoReflect.Descriptor instead. -func (*ProbeRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{14} -} - -func (x *ProbeRequest) GetAmt() int64 { - if x != nil { - return x.Amt - } - return 0 -} - -func (x *ProbeRequest) GetLastHop() []byte { - if x != nil { - return x.LastHop - } - return nil -} - -func (x *ProbeRequest) GetRouteHints() []*swapserverrpc.RouteHint { - if x != nil { - return x.RouteHints - } - return nil -} - -type ProbeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ProbeResponse) Reset() { - *x = ProbeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProbeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProbeResponse) ProtoMessage() {} - -func (x *ProbeResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProbeResponse.ProtoReflect.Descriptor instead. -func (*ProbeResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{15} -} - -type TokensRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *TokensRequest) Reset() { - *x = TokensRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TokensRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TokensRequest) ProtoMessage() {} - -func (x *TokensRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TokensRequest.ProtoReflect.Descriptor instead. -func (*TokensRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{16} -} - -type TokensResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of all tokens the daemon knows of, including old/expired tokens. - Tokens []*LsatToken `protobuf:"bytes,1,rep,name=tokens,proto3" json:"tokens,omitempty"` -} - -func (x *TokensResponse) Reset() { - *x = TokensResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TokensResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TokensResponse) ProtoMessage() {} - -func (x *TokensResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TokensResponse.ProtoReflect.Descriptor instead. -func (*TokensResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{17} -} - -func (x *TokensResponse) GetTokens() []*LsatToken { - if x != nil { - return x.Tokens - } - return nil -} - -type LsatToken struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The base macaroon that was baked by the auth server. - BaseMacaroon []byte `protobuf:"bytes,1,opt,name=base_macaroon,json=baseMacaroon,proto3" json:"base_macaroon,omitempty"` - // The payment hash of the payment that was paid to obtain the token. - PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - // The preimage of the payment hash, knowledge of this is proof that the - // payment has been paid. If the preimage is set to all zeros, this means the - // payment is still pending and the token is not yet fully valid. - PaymentPreimage []byte `protobuf:"bytes,3,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` - // The amount of millisatoshis that was paid to get the token. - AmountPaidMsat int64 `protobuf:"varint,4,opt,name=amount_paid_msat,json=amountPaidMsat,proto3" json:"amount_paid_msat,omitempty"` - // The amount of millisatoshis paid in routing fee to pay for the token. - RoutingFeePaidMsat int64 `protobuf:"varint,5,opt,name=routing_fee_paid_msat,json=routingFeePaidMsat,proto3" json:"routing_fee_paid_msat,omitempty"` - // The creation time of the token as UNIX timestamp in seconds. - TimeCreated int64 `protobuf:"varint,6,opt,name=time_created,json=timeCreated,proto3" json:"time_created,omitempty"` - // Indicates whether the token is expired or still valid. - Expired bool `protobuf:"varint,7,opt,name=expired,proto3" json:"expired,omitempty"` - // Identifying attribute of this token in the store. Currently represents the - // file name of the token where it's stored on the file system. - StorageName string `protobuf:"bytes,8,opt,name=storage_name,json=storageName,proto3" json:"storage_name,omitempty"` - // The l402 ID of the token. - Id string `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *LsatToken) Reset() { - *x = LsatToken{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LsatToken) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LsatToken) ProtoMessage() {} - -func (x *LsatToken) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LsatToken.ProtoReflect.Descriptor instead. -func (*LsatToken) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{18} -} - -func (x *LsatToken) GetBaseMacaroon() []byte { - if x != nil { - return x.BaseMacaroon - } - return nil -} - -func (x *LsatToken) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} - -func (x *LsatToken) GetPaymentPreimage() []byte { - if x != nil { - return x.PaymentPreimage - } - return nil -} - -func (x *LsatToken) GetAmountPaidMsat() int64 { - if x != nil { - return x.AmountPaidMsat - } - return 0 -} - -func (x *LsatToken) GetRoutingFeePaidMsat() int64 { - if x != nil { - return x.RoutingFeePaidMsat - } - return 0 -} - -func (x *LsatToken) GetTimeCreated() int64 { - if x != nil { - return x.TimeCreated - } - return 0 -} - -func (x *LsatToken) GetExpired() bool { - if x != nil { - return x.Expired - } - return false -} - -func (x *LsatToken) GetStorageName() string { - if x != nil { - return x.StorageName - } - return "" -} - -func (x *LsatToken) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -type LoopStats struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Number of currently pending swaps. - PendingCount uint64 `protobuf:"varint,1,opt,name=pending_count,json=pendingCount,proto3" json:"pending_count,omitempty"` - // Number of succeeded swaps. - SuccessCount uint64 `protobuf:"varint,2,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"` - // Number failed swaps. - FailCount uint64 `protobuf:"varint,3,opt,name=fail_count,json=failCount,proto3" json:"fail_count,omitempty"` - // The sum of all pending swap amounts. - SumPendingAmt int64 `protobuf:"varint,4,opt,name=sum_pending_amt,json=sumPendingAmt,proto3" json:"sum_pending_amt,omitempty"` - // The sum of all succeeded swap amounts. - SumSucceededAmt int64 `protobuf:"varint,5,opt,name=sum_succeeded_amt,json=sumSucceededAmt,proto3" json:"sum_succeeded_amt,omitempty"` -} - -func (x *LoopStats) Reset() { - *x = LoopStats{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LoopStats) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LoopStats) ProtoMessage() {} - -func (x *LoopStats) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LoopStats.ProtoReflect.Descriptor instead. -func (*LoopStats) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{19} -} - -func (x *LoopStats) GetPendingCount() uint64 { - if x != nil { - return x.PendingCount - } - return 0 -} - -func (x *LoopStats) GetSuccessCount() uint64 { - if x != nil { - return x.SuccessCount - } - return 0 -} - -func (x *LoopStats) GetFailCount() uint64 { - if x != nil { - return x.FailCount - } - return 0 -} - -func (x *LoopStats) GetSumPendingAmt() int64 { - if x != nil { - return x.SumPendingAmt - } - return 0 -} - -func (x *LoopStats) GetSumSucceededAmt() int64 { - if x != nil { - return x.SumSucceededAmt - } - return 0 -} - -type GetInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetInfoRequest) Reset() { - *x = GetInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetInfoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetInfoRequest) ProtoMessage() {} - -func (x *GetInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetInfoRequest.ProtoReflect.Descriptor instead. -func (*GetInfoRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{20} -} - -type GetInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The current daemon version. - Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` - // The network the daemon is running on. - Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` - // Host and port of the loopd grpc server. - RpcListen string `protobuf:"bytes,3,opt,name=rpc_listen,json=rpcListen,proto3" json:"rpc_listen,omitempty"` - // Host and port of the loopd rest server. - RestListen string `protobuf:"bytes,4,opt,name=rest_listen,json=restListen,proto3" json:"rest_listen,omitempty"` - // Loop's macaroon path that clients use to talk to the daemon. - MacaroonPath string `protobuf:"bytes,5,opt,name=macaroon_path,json=macaroonPath,proto3" json:"macaroon_path,omitempty"` - // Loop's tls cert path - TlsCertPath string `protobuf:"bytes,6,opt,name=tls_cert_path,json=tlsCertPath,proto3" json:"tls_cert_path,omitempty"` - // Statistics about loop outs. - LoopOutStats *LoopStats `protobuf:"bytes,7,opt,name=loop_out_stats,json=loopOutStats,proto3" json:"loop_out_stats,omitempty"` - // Statistics about loop ins. - LoopInStats *LoopStats `protobuf:"bytes,8,opt,name=loop_in_stats,json=loopInStats,proto3" json:"loop_in_stats,omitempty"` -} - -func (x *GetInfoResponse) Reset() { - *x = GetInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetInfoResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetInfoResponse) ProtoMessage() {} - -func (x *GetInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetInfoResponse.ProtoReflect.Descriptor instead. -func (*GetInfoResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{21} -} - -func (x *GetInfoResponse) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -func (x *GetInfoResponse) GetNetwork() string { - if x != nil { - return x.Network - } - return "" -} - -func (x *GetInfoResponse) GetRpcListen() string { - if x != nil { - return x.RpcListen - } - return "" -} - -func (x *GetInfoResponse) GetRestListen() string { - if x != nil { - return x.RestListen - } - return "" -} - -func (x *GetInfoResponse) GetMacaroonPath() string { - if x != nil { - return x.MacaroonPath - } - return "" -} - -func (x *GetInfoResponse) GetTlsCertPath() string { - if x != nil { - return x.TlsCertPath - } - return "" -} - -func (x *GetInfoResponse) GetLoopOutStats() *LoopStats { - if x != nil { - return x.LoopOutStats - } - return nil -} - -func (x *GetInfoResponse) GetLoopInStats() *LoopStats { - if x != nil { - return x.LoopInStats - } - return nil -} - -type GetLiquidityParamsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetLiquidityParamsRequest) Reset() { - *x = GetLiquidityParamsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetLiquidityParamsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetLiquidityParamsRequest) ProtoMessage() {} - -func (x *GetLiquidityParamsRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetLiquidityParamsRequest.ProtoReflect.Descriptor instead. -func (*GetLiquidityParamsRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{22} -} - -type LiquidityParameters struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A set of liquidity rules that describe the desired liquidity balance. - Rules []*LiquidityRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` - // The parts per million of swap amount that is allowed to be allocated to swap - // fees. This value is applied across swap categories and may not be set in - // conjunction with sweep fee rate, swap fee ppm, routing fee ppm, prepay - // routing, max prepay and max miner fee. - FeePpm uint64 `protobuf:"varint,16,opt,name=fee_ppm,json=feePpm,proto3" json:"fee_ppm,omitempty"` - // The limit we place on our estimated sweep cost for a swap in sat/vByte. If - // the estimated fee for our sweep transaction within the specified - // confirmation target is above this value, we will not suggest any swaps. - SweepFeeRateSatPerVbyte uint64 `protobuf:"varint,2,opt,name=sweep_fee_rate_sat_per_vbyte,json=sweepFeeRateSatPerVbyte,proto3" json:"sweep_fee_rate_sat_per_vbyte,omitempty"` - // The maximum fee paid to the server for facilitating the swap, expressed - // as parts per million of the swap volume. - MaxSwapFeePpm uint64 `protobuf:"varint,3,opt,name=max_swap_fee_ppm,json=maxSwapFeePpm,proto3" json:"max_swap_fee_ppm,omitempty"` - // The maximum fee paid to route the swap invoice off chain, expressed as - // parts per million of the volume being routed. - MaxRoutingFeePpm uint64 `protobuf:"varint,4,opt,name=max_routing_fee_ppm,json=maxRoutingFeePpm,proto3" json:"max_routing_fee_ppm,omitempty"` - // The maximum fee paid to route the prepay invoice off chain, expressed as - // parts per million of the volume being routed. - MaxPrepayRoutingFeePpm uint64 `protobuf:"varint,5,opt,name=max_prepay_routing_fee_ppm,json=maxPrepayRoutingFeePpm,proto3" json:"max_prepay_routing_fee_ppm,omitempty"` - // The maximum no-show penalty in satoshis paid for a swap. - MaxPrepaySat uint64 `protobuf:"varint,6,opt,name=max_prepay_sat,json=maxPrepaySat,proto3" json:"max_prepay_sat,omitempty"` - // The maximum miner fee we will pay to sweep the swap on chain. Note that we - // will not suggest a swap if the estimate is above the sweep limit set by - // these parameters, and we use the current fee estimate to sweep on chain so - // this value is only a cap placed on the amount we spend on fees in the case - // where the swap needs to be claimed on chain, but fees have suddenly spiked. - MaxMinerFeeSat uint64 `protobuf:"varint,7,opt,name=max_miner_fee_sat,json=maxMinerFeeSat,proto3" json:"max_miner_fee_sat,omitempty"` - // The number of blocks from the on-chain HTLC's confirmation height that it - // should be swept within. - SweepConfTarget int32 `protobuf:"varint,8,opt,name=sweep_conf_target,json=sweepConfTarget,proto3" json:"sweep_conf_target,omitempty"` - // The amount of time we require pass since a channel was part of a failed - // swap due to off chain payment failure until it will be considered for swap - // suggestions again, expressed in seconds. - FailureBackoffSec uint64 `protobuf:"varint,9,opt,name=failure_backoff_sec,json=failureBackoffSec,proto3" json:"failure_backoff_sec,omitempty"` - // Set to true to enable automatic dispatch of swaps. All swaps will be limited - // to the fee categories set by these parameters, and total expenditure will - // be limited to the autoloop budget. - Autoloop bool `protobuf:"varint,10,opt,name=autoloop,proto3" json:"autoloop,omitempty"` - // The total budget for automatically dispatched swaps since the budget start - // time, expressed in satoshis. - AutoloopBudgetSat uint64 `protobuf:"varint,11,opt,name=autoloop_budget_sat,json=autoloopBudgetSat,proto3" json:"autoloop_budget_sat,omitempty"` - // Deprecated, use autoloop_budget_refresh_period_sec. The start time for - // autoloop budget, expressed as a unix timestamp in seconds. If this value is - // 0, the budget will be applied for all automatically dispatched swaps. Swaps - // that were completed before this date will not be included in budget - // calculations. - // - // Deprecated: Do not use. - AutoloopBudgetStartSec uint64 `protobuf:"varint,12,opt,name=autoloop_budget_start_sec,json=autoloopBudgetStartSec,proto3" json:"autoloop_budget_start_sec,omitempty"` - // The maximum number of automatically dispatched swaps that we allow to be in - // flight at any point in time. - AutoMaxInFlight uint64 `protobuf:"varint,13,opt,name=auto_max_in_flight,json=autoMaxInFlight,proto3" json:"auto_max_in_flight,omitempty"` - // The minimum amount, expressed in satoshis, that the autoloop client will - // dispatch a swap for. This value is subject to the server-side limits - // specified by the LoopOutTerms endpoint. - MinSwapAmount uint64 `protobuf:"varint,14,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"` - // The maximum amount, expressed in satoshis, that the autoloop client will - // dispatch a swap for. This value is subject to the server-side limits - // specified by the LoopOutTerms endpoint. - MaxSwapAmount uint64 `protobuf:"varint,15,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"` - // The confirmation target for loop in on-chain htlcs. - HtlcConfTarget int32 `protobuf:"varint,17,opt,name=htlc_conf_target,json=htlcConfTarget,proto3" json:"htlc_conf_target,omitempty"` - // The destination address to use for autoloop loop outs. Set to "default" in - // order to revert to default behavior. - AutoloopDestAddress string `protobuf:"bytes,18,opt,name=autoloop_dest_address,json=autoloopDestAddress,proto3" json:"autoloop_dest_address,omitempty"` - // The period over which the autoloop budget is refreshed, expressed in - // seconds. - AutoloopBudgetRefreshPeriodSec uint64 `protobuf:"varint,19,opt,name=autoloop_budget_refresh_period_sec,json=autoloopBudgetRefreshPeriodSec,proto3" json:"autoloop_budget_refresh_period_sec,omitempty"` - // The time at which the autoloop budget was last refreshed, expressed as a - // UNIX timestamp in seconds. - AutoloopBudgetLastRefresh uint64 `protobuf:"varint,20,opt,name=autoloop_budget_last_refresh,json=autoloopBudgetLastRefresh,proto3" json:"autoloop_budget_last_refresh,omitempty"` - // Set to true to enable easy autoloop. If set, all channel/peer rules will be - // overridden and the client will automatically dispatch swaps in order to meet - // the configured local balance target size. Currently only loop out is - // supported, meaning that easy autoloop can only reduce the funds that are - // held as balance in channels. - EasyAutoloop bool `protobuf:"varint,21,opt,name=easy_autoloop,json=easyAutoloop,proto3" json:"easy_autoloop,omitempty"` - // The local balance target size, expressed in satoshis. This is used by easy - // autoloop to determine how much liquidity should be maintained in channels. - EasyAutoloopLocalTargetSat uint64 `protobuf:"varint,22,opt,name=easy_autoloop_local_target_sat,json=easyAutoloopLocalTargetSat,proto3" json:"easy_autoloop_local_target_sat,omitempty"` -} - -func (x *LiquidityParameters) Reset() { - *x = LiquidityParameters{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LiquidityParameters) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LiquidityParameters) ProtoMessage() {} - -func (x *LiquidityParameters) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LiquidityParameters.ProtoReflect.Descriptor instead. -func (*LiquidityParameters) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{23} -} - -func (x *LiquidityParameters) GetRules() []*LiquidityRule { - if x != nil { - return x.Rules - } - return nil -} - -func (x *LiquidityParameters) GetFeePpm() uint64 { - if x != nil { - return x.FeePpm - } - return 0 -} - -func (x *LiquidityParameters) GetSweepFeeRateSatPerVbyte() uint64 { - if x != nil { - return x.SweepFeeRateSatPerVbyte - } - return 0 -} - -func (x *LiquidityParameters) GetMaxSwapFeePpm() uint64 { - if x != nil { - return x.MaxSwapFeePpm - } - return 0 -} - -func (x *LiquidityParameters) GetMaxRoutingFeePpm() uint64 { - if x != nil { - return x.MaxRoutingFeePpm - } - return 0 -} - -func (x *LiquidityParameters) GetMaxPrepayRoutingFeePpm() uint64 { - if x != nil { - return x.MaxPrepayRoutingFeePpm - } - return 0 -} - -func (x *LiquidityParameters) GetMaxPrepaySat() uint64 { - if x != nil { - return x.MaxPrepaySat - } - return 0 -} - -func (x *LiquidityParameters) GetMaxMinerFeeSat() uint64 { - if x != nil { - return x.MaxMinerFeeSat - } - return 0 -} - -func (x *LiquidityParameters) GetSweepConfTarget() int32 { - if x != nil { - return x.SweepConfTarget - } - return 0 -} - -func (x *LiquidityParameters) GetFailureBackoffSec() uint64 { - if x != nil { - return x.FailureBackoffSec - } - return 0 -} - -func (x *LiquidityParameters) GetAutoloop() bool { - if x != nil { - return x.Autoloop - } - return false -} - -func (x *LiquidityParameters) GetAutoloopBudgetSat() uint64 { - if x != nil { - return x.AutoloopBudgetSat - } - return 0 -} - -// Deprecated: Do not use. -func (x *LiquidityParameters) GetAutoloopBudgetStartSec() uint64 { - if x != nil { - return x.AutoloopBudgetStartSec - } - return 0 -} - -func (x *LiquidityParameters) GetAutoMaxInFlight() uint64 { - if x != nil { - return x.AutoMaxInFlight - } - return 0 -} - -func (x *LiquidityParameters) GetMinSwapAmount() uint64 { - if x != nil { - return x.MinSwapAmount - } - return 0 -} - -func (x *LiquidityParameters) GetMaxSwapAmount() uint64 { - if x != nil { - return x.MaxSwapAmount - } - return 0 -} - -func (x *LiquidityParameters) GetHtlcConfTarget() int32 { - if x != nil { - return x.HtlcConfTarget - } - return 0 -} - -func (x *LiquidityParameters) GetAutoloopDestAddress() string { - if x != nil { - return x.AutoloopDestAddress - } - return "" -} - -func (x *LiquidityParameters) GetAutoloopBudgetRefreshPeriodSec() uint64 { - if x != nil { - return x.AutoloopBudgetRefreshPeriodSec - } - return 0 -} - -func (x *LiquidityParameters) GetAutoloopBudgetLastRefresh() uint64 { - if x != nil { - return x.AutoloopBudgetLastRefresh - } - return 0 -} - -func (x *LiquidityParameters) GetEasyAutoloop() bool { - if x != nil { - return x.EasyAutoloop - } - return false -} - -func (x *LiquidityParameters) GetEasyAutoloopLocalTargetSat() uint64 { - if x != nil { - return x.EasyAutoloopLocalTargetSat - } - return 0 -} - -type LiquidityRule struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The short channel ID of the channel that this rule should be applied to. - // This field may not be set when the pubkey field is set. - ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` - // The type of swap that will be dispatched for this rule. - SwapType SwapType `protobuf:"varint,6,opt,name=swap_type,json=swapType,proto3,enum=looprpc.SwapType" json:"swap_type,omitempty"` - // The public key of the peer that this rule should be applied to. This field - // may not be set when the channel id field is set. - Pubkey []byte `protobuf:"bytes,5,opt,name=pubkey,proto3" json:"pubkey,omitempty"` - // Type indicates the type of rule that this message rule represents. Setting - // this value will determine which fields are used in the message. The comments - // on each field in this message will be prefixed with the LiquidityRuleType - // they belong to. - Type LiquidityRuleType `protobuf:"varint,2,opt,name=type,proto3,enum=looprpc.LiquidityRuleType" json:"type,omitempty"` - // THRESHOLD: The percentage of total capacity that incoming capacity should - // not drop beneath. - IncomingThreshold uint32 `protobuf:"varint,3,opt,name=incoming_threshold,json=incomingThreshold,proto3" json:"incoming_threshold,omitempty"` - // THRESHOLD: The percentage of total capacity that outgoing capacity should - // not drop beneath. - OutgoingThreshold uint32 `protobuf:"varint,4,opt,name=outgoing_threshold,json=outgoingThreshold,proto3" json:"outgoing_threshold,omitempty"` -} - -func (x *LiquidityRule) Reset() { - *x = LiquidityRule{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LiquidityRule) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LiquidityRule) ProtoMessage() {} - -func (x *LiquidityRule) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LiquidityRule.ProtoReflect.Descriptor instead. -func (*LiquidityRule) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{24} -} - -func (x *LiquidityRule) GetChannelId() uint64 { - if x != nil { - return x.ChannelId - } - return 0 -} - -func (x *LiquidityRule) GetSwapType() SwapType { - if x != nil { - return x.SwapType - } - return SwapType_LOOP_OUT -} - -func (x *LiquidityRule) GetPubkey() []byte { - if x != nil { - return x.Pubkey - } - return nil -} - -func (x *LiquidityRule) GetType() LiquidityRuleType { - if x != nil { - return x.Type - } - return LiquidityRuleType_UNKNOWN -} - -func (x *LiquidityRule) GetIncomingThreshold() uint32 { - if x != nil { - return x.IncomingThreshold - } - return 0 -} - -func (x *LiquidityRule) GetOutgoingThreshold() uint32 { - if x != nil { - return x.OutgoingThreshold - } - return 0 -} - -type SetLiquidityParamsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Parameters is the desired new set of parameters for the liquidity management - // subsystem. Note that the current set of parameters will be completely - // overwritten by the parameters provided (if they are valid), so the full set - // of parameters should be provided for each call. - Parameters *LiquidityParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` -} - -func (x *SetLiquidityParamsRequest) Reset() { - *x = SetLiquidityParamsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetLiquidityParamsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetLiquidityParamsRequest) ProtoMessage() {} - -func (x *SetLiquidityParamsRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetLiquidityParamsRequest.ProtoReflect.Descriptor instead. -func (*SetLiquidityParamsRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{25} -} - -func (x *SetLiquidityParamsRequest) GetParameters() *LiquidityParameters { - if x != nil { - return x.Parameters - } - return nil -} - -type SetLiquidityParamsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SetLiquidityParamsResponse) Reset() { - *x = SetLiquidityParamsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetLiquidityParamsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetLiquidityParamsResponse) ProtoMessage() {} - -func (x *SetLiquidityParamsResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetLiquidityParamsResponse.ProtoReflect.Descriptor instead. -func (*SetLiquidityParamsResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{26} -} - -type SuggestSwapsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SuggestSwapsRequest) Reset() { - *x = SuggestSwapsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SuggestSwapsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SuggestSwapsRequest) ProtoMessage() {} - -func (x *SuggestSwapsRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SuggestSwapsRequest.ProtoReflect.Descriptor instead. -func (*SuggestSwapsRequest) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{27} -} - -type Disqualified struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The short channel ID of the channel that was excluded from our suggestions. - ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` - // The public key of the peer that was excluded from our suggestions. - Pubkey []byte `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"` - // The reason that we excluded the channel from the our suggestions. - Reason AutoReason `protobuf:"varint,2,opt,name=reason,proto3,enum=looprpc.AutoReason" json:"reason,omitempty"` -} - -func (x *Disqualified) Reset() { - *x = Disqualified{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Disqualified) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Disqualified) ProtoMessage() {} - -func (x *Disqualified) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Disqualified.ProtoReflect.Descriptor instead. -func (*Disqualified) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{28} -} - -func (x *Disqualified) GetChannelId() uint64 { - if x != nil { - return x.ChannelId - } - return 0 -} - -func (x *Disqualified) GetPubkey() []byte { - if x != nil { - return x.Pubkey - } - return nil -} - -func (x *Disqualified) GetReason() AutoReason { - if x != nil { - return x.Reason - } - return AutoReason_AUTO_REASON_UNKNOWN -} - -type SuggestSwapsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The set of recommended loop outs. - LoopOut []*LoopOutRequest `protobuf:"bytes,1,rep,name=loop_out,json=loopOut,proto3" json:"loop_out,omitempty"` - // The set of recommended loop in swaps - LoopIn []*LoopInRequest `protobuf:"bytes,3,rep,name=loop_in,json=loopIn,proto3" json:"loop_in,omitempty"` - // Disqualified contains the set of channels that swaps are not recommended - // for. - Disqualified []*Disqualified `protobuf:"bytes,2,rep,name=disqualified,proto3" json:"disqualified,omitempty"` -} - -func (x *SuggestSwapsResponse) Reset() { - *x = SuggestSwapsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_client_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SuggestSwapsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SuggestSwapsResponse) ProtoMessage() {} - -func (x *SuggestSwapsResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_client_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SuggestSwapsResponse.ProtoReflect.Descriptor instead. -func (*SuggestSwapsResponse) Descriptor() ([]byte, []int) { - return file_looprpc_client_proto_rawDescGZIP(), []int{29} -} - -func (x *SuggestSwapsResponse) GetLoopOut() []*LoopOutRequest { - if x != nil { - return x.LoopOut - } - return nil -} - -func (x *SuggestSwapsResponse) GetLoopIn() []*LoopInRequest { - if x != nil { - return x.LoopIn - } - return nil -} - -func (x *SuggestSwapsResponse) GetDisqualified() []*Disqualified { - if x != nil { - return x.Disqualified - } - return nil -} - -var File_looprpc_client_proto protoreflect.FileDescriptor - -var file_looprpc_client_proto_rawDesc = []byte{ - 0x0a, 0x14, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x1a, - 0x1a, 0x73, 0x77, 0x61, 0x70, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x72, 0x70, 0x63, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x04, 0x0a, 0x0e, - 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, - 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x6d, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x64, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x11, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x52, 0x6f, 0x75, 0x74, 0x69, - 0x6e, 0x67, 0x46, 0x65, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x65, - 0x70, 0x61, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x70, 0x61, 0x79, - 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, - 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x12, 0x24, 0x0a, 0x0e, - 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x70, 0x61, 0x79, 0x41, - 0x6d, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x69, 0x6e, 0x65, 0x72, 0x5f, - 0x66, 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4d, 0x69, - 0x6e, 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x10, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x6f, - 0x75, 0x74, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x6c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x04, 0x52, - 0x0f, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x53, 0x65, 0x74, - 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x77, 0x65, - 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x12, - 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x73, - 0x77, 0x61, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, - 0x73, 0x77, 0x61, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1c, 0x0a, - 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x22, 0xd4, 0x02, 0x0a, 0x0d, - 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x61, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, - 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, 0x46, 0x65, - 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x66, - 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4d, 0x69, 0x6e, - 0x65, 0x72, 0x46, 0x65, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, - 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x6f, 0x70, - 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x68, 0x74, 0x6c, - 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x48, 0x74, 0x6c, 0x63, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0e, 0x68, 0x74, 0x6c, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, - 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x6e, - 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, - 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x72, 0x6f, - 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x0c, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x64, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x69, 0x64, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0c, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x68, 0x74, - 0x6c, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x68, 0x74, 0x6c, - 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x32, 0x77, 0x73, 0x68, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x68, 0x74, 0x6c, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x50, 0x32, 0x77, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x32, 0x74, 0x72, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, - 0x32, 0x74, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, - 0x22, 0x10, 0x0a, 0x0e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x22, 0xf7, 0x04, 0x0a, 0x0a, 0x53, 0x77, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, - 0x61, 0x6d, 0x74, 0x12, 0x12, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x64, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x69, 0x64, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x12, 0x25, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x11, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x77, 0x61, 0x70, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x77, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6c, 0x6f, - 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x0b, 0x68, 0x74, 0x6c, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x12, - 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x32, 0x77, - 0x73, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x68, 0x74, 0x6c, 0x63, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x50, 0x32, 0x77, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x74, - 0x6c, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x32, 0x74, 0x72, 0x18, - 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x50, 0x32, 0x74, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6f, 0x73, - 0x74, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x73, 0x74, 0x5f, - 0x6f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, - 0x6f, 0x73, 0x74, 0x4f, 0x6e, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, - 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x73, 0x74, 0x4f, 0x66, 0x66, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, - 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x12, 0x2a, 0x0a, 0x11, 0x6f, 0x75, - 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x73, 0x65, 0x74, 0x18, - 0x11, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0f, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x43, - 0x68, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x12, 0x0a, 0x10, - 0x4c, 0x69, 0x73, 0x74, 0x53, 0x77, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x3e, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x77, 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x77, 0x61, 0x70, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x77, 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x05, 0x73, 0x77, 0x61, 0x70, 0x73, - 0x22, 0x21, 0x0a, 0x0f, 0x53, 0x77, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x02, 0x69, 0x64, 0x22, 0x0e, 0x0a, 0x0c, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x7f, 0x0a, 0x0f, 0x49, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x77, - 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0d, 0x6d, 0x69, 0x6e, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, - 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, 0x77, 0x61, 0x70, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, - 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, - 0x08, 0x07, 0x10, 0x08, 0x22, 0xcc, 0x01, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x72, 0x6d, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x69, 0x6e, - 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x53, - 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, - 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x43, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, - 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, - 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x74, 0x76, - 0x44, 0x65, 0x6c, 0x74, 0x61, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, - 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, - 0x07, 0x10, 0x08, 0x22, 0xa8, 0x02, 0x0a, 0x0c, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x66, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x48, 0x74, 0x6c, 0x63, 0x12, 0x3a, 0x0a, 0x19, - 0x73, 0x77, 0x61, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x17, 0x73, 0x77, 0x61, 0x70, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x27, 0x0a, 0x10, 0x6c, 0x6f, 0x6f, 0x70, - 0x5f, 0x69, 0x6e, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0d, 0x6c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x4c, 0x61, 0x73, 0x74, 0x48, 0x6f, - 0x70, 0x12, 0x41, 0x0a, 0x13, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, - 0x6e, 0x74, 0x52, 0x10, 0x6c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x22, 0xb0, - 0x01, 0x0a, 0x0f, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, - 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x77, 0x61, 0x70, 0x46, 0x65, - 0x65, 0x53, 0x61, 0x74, 0x12, 0x2f, 0x0a, 0x14, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x46, - 0x65, 0x65, 0x53, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, - 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6c, 0x74, 0x76, 0x44, - 0x65, 0x6c, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x04, 0x10, - 0x05, 0x22, 0xf3, 0x01, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, - 0x65, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x77, - 0x61, 0x70, 0x46, 0x65, 0x65, 0x53, 0x61, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x70, - 0x61, 0x79, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0c, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x41, 0x6d, 0x74, 0x53, 0x61, 0x74, 0x12, 0x2b, - 0x0a, 0x12, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x66, 0x65, 0x65, - 0x5f, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x68, 0x74, 0x6c, 0x63, - 0x53, 0x77, 0x65, 0x65, 0x70, 0x46, 0x65, 0x65, 0x53, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x73, - 0x77, 0x61, 0x70, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x73, 0x77, 0x61, 0x70, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x44, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x5f, - 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x6c, 0x74, - 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x66, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x22, 0x70, 0x0a, 0x0c, 0x50, 0x72, 0x6f, 0x62, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6c, 0x61, 0x73, - 0x74, 0x48, 0x6f, 0x70, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x69, - 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x0f, 0x0a, 0x0d, 0x50, 0x72, 0x6f, - 0x62, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0f, 0x0a, 0x0d, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3c, 0x0a, 0x0e, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, - 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x73, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x52, 0x06, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0xcb, 0x02, 0x0a, 0x09, 0x4c, 0x73, - 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, - 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, - 0x62, 0x61, 0x73, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x69, 0x64, - 0x4d, 0x73, 0x61, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, - 0x66, 0x65, 0x65, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x50, - 0x61, 0x69, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, - 0x69, 0x6d, 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, - 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x78, 0x70, - 0x69, 0x72, 0x65, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x09, 0x4c, 0x6f, 0x6f, 0x70, - 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1d, 0x0a, 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, - 0x0a, 0x0f, 0x73, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6d, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x73, 0x75, 0x6d, 0x50, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x75, 0x6d, 0x5f, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0f, 0x73, 0x75, 0x6d, 0x53, 0x75, 0x63, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x41, - 0x6d, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0xc0, 0x02, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, - 0x72, 0x70, 0x63, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x72, 0x70, 0x63, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, - 0x65, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x72, 0x65, 0x73, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x12, 0x23, 0x0a, 0x0d, - 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x6c, 0x73, 0x43, 0x65, 0x72, - 0x74, 0x50, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x0e, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x6f, 0x75, - 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x6f, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x73, 0x52, 0x0c, 0x6c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x36, 0x0a, 0x0d, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, - 0x2e, 0x4c, 0x6f, 0x6f, 0x70, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0b, 0x6c, 0x6f, 0x6f, 0x70, - 0x49, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x1b, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4c, 0x69, - 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0xb8, 0x08, 0x0a, 0x13, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, - 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x05, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x6f, - 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x65, - 0x65, 0x5f, 0x70, 0x70, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x66, 0x65, 0x65, - 0x50, 0x70, 0x6d, 0x12, 0x3d, 0x0a, 0x1c, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x66, 0x65, 0x65, - 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x62, - 0x79, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x73, 0x77, 0x65, 0x65, 0x70, - 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x53, 0x61, 0x74, 0x50, 0x65, 0x72, 0x56, 0x62, 0x79, - 0x74, 0x65, 0x12, 0x27, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x66, - 0x65, 0x65, 0x5f, 0x70, 0x70, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, - 0x78, 0x53, 0x77, 0x61, 0x70, 0x46, 0x65, 0x65, 0x50, 0x70, 0x6d, 0x12, 0x2d, 0x0a, 0x13, 0x6d, - 0x61, 0x78, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, - 0x70, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x52, 0x6f, 0x75, - 0x74, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x50, 0x70, 0x6d, 0x12, 0x3a, 0x0a, 0x1a, 0x6d, 0x61, - 0x78, 0x5f, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x70, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x16, - 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x70, 0x61, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, - 0x46, 0x65, 0x65, 0x50, 0x70, 0x6d, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, - 0x65, 0x70, 0x61, 0x79, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, - 0x6d, 0x61, 0x78, 0x50, 0x72, 0x65, 0x70, 0x61, 0x79, 0x53, 0x61, 0x74, 0x12, 0x29, 0x0a, 0x11, - 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x61, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x4d, 0x69, 0x6e, 0x65, - 0x72, 0x46, 0x65, 0x65, 0x53, 0x61, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x77, 0x65, 0x65, 0x70, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0f, 0x73, 0x77, 0x65, 0x65, 0x70, 0x43, 0x6f, 0x6e, 0x66, 0x54, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x62, - 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, - 0x53, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x12, - 0x2e, 0x0a, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x62, 0x75, 0x64, 0x67, - 0x65, 0x74, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x61, 0x75, - 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x53, 0x61, 0x74, 0x12, - 0x3d, 0x0a, 0x19, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x62, 0x75, 0x64, 0x67, - 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x16, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, - 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x53, 0x65, 0x63, 0x12, 0x2b, - 0x0a, 0x12, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x61, 0x75, 0x74, 0x6f, - 0x4d, 0x61, 0x78, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6d, - 0x69, 0x6e, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x69, 0x6e, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, - 0x78, 0x53, 0x77, 0x61, 0x70, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x68, - 0x74, 0x6c, 0x63, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x68, 0x74, 0x6c, 0x63, 0x43, 0x6f, 0x6e, 0x66, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, - 0x70, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x12, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x44, 0x65, - 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4a, 0x0a, 0x22, 0x61, 0x75, 0x74, - 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x66, - 0x72, 0x65, 0x73, 0x68, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x73, 0x65, 0x63, 0x18, - 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1e, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x42, - 0x75, 0x64, 0x67, 0x65, 0x74, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x50, 0x65, 0x72, 0x69, - 0x6f, 0x64, 0x53, 0x65, 0x63, 0x12, 0x3f, 0x0a, 0x1c, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, - 0x70, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, - 0x66, 0x72, 0x65, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19, 0x61, 0x75, 0x74, - 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x4c, 0x61, 0x73, 0x74, 0x52, - 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x61, 0x73, 0x79, 0x5f, 0x61, - 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, - 0x61, 0x73, 0x79, 0x41, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x12, 0x42, 0x0a, 0x1e, 0x65, - 0x61, 0x73, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x1a, 0x65, 0x61, 0x73, 0x79, 0x41, 0x75, 0x74, 0x6f, 0x6c, 0x6f, 0x6f, - 0x70, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x61, 0x74, 0x22, - 0x84, 0x02, 0x0a, 0x0d, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, - 0x12, 0x2e, 0x0a, 0x09, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x77, - 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x77, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, - 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6f, - 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x68, - 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x2d, 0x0a, 0x12, 0x6f, 0x75, 0x74, 0x67, 0x6f, - 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x54, 0x68, 0x72, - 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x59, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x71, - 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, - 0x63, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x22, 0x1c, 0x0a, 0x1a, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x15, 0x0a, 0x13, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x53, 0x77, 0x61, 0x70, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x72, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x71, 0x75, 0x61, - 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x2b, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x13, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x14, 0x53, - 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x53, 0x77, 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, 0x6f, 0x75, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x07, - 0x6c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x6c, 0x6f, 0x6f, 0x70, 0x5f, - 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, - 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x06, 0x6c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x12, 0x39, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x71, - 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, - 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x71, 0x75, 0x61, 0x6c, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x2a, 0x25, 0x0a, 0x08, 0x53, 0x77, 0x61, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x0c, 0x0a, 0x08, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x00, 0x12, 0x0b, 0x0a, - 0x07, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x49, 0x4e, 0x10, 0x01, 0x2a, 0x73, 0x0a, 0x09, 0x53, 0x77, - 0x61, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x49, 0x54, 0x49, - 0x41, 0x54, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x52, 0x45, 0x49, 0x4d, 0x41, - 0x47, 0x45, 0x5f, 0x52, 0x45, 0x56, 0x45, 0x41, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, - 0x0e, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x0a, - 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, - 0x56, 0x4f, 0x49, 0x43, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x2a, - 0xed, 0x01, 0x0a, 0x0d, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x41, - 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4f, 0x46, 0x46, - 0x43, 0x48, 0x41, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x41, 0x49, 0x4c, 0x55, - 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, - 0x54, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, - 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x57, 0x45, 0x45, 0x50, 0x5f, 0x54, 0x49, 0x4d, 0x45, - 0x4f, 0x55, 0x54, 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, - 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x04, 0x12, 0x1c, 0x0a, 0x18, - 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, - 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x10, 0x05, 0x12, 0x23, 0x0a, 0x1f, 0x46, 0x41, - 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x43, - 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x06, 0x2a, - 0x2f, 0x0a, 0x11, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, - 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x48, 0x52, 0x45, 0x53, 0x48, 0x4f, 0x4c, 0x44, 0x10, 0x01, - 0x2a, 0xa6, 0x03, 0x0a, 0x0a, 0x41, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, - 0x17, 0x0a, 0x13, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x41, 0x55, 0x54, 0x4f, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x4e, - 0x4f, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, - 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x53, 0x57, 0x45, 0x45, - 0x50, 0x5f, 0x46, 0x45, 0x45, 0x53, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x55, 0x54, 0x4f, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x45, - 0x4c, 0x41, 0x50, 0x53, 0x45, 0x44, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x55, 0x54, 0x4f, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x5f, 0x46, 0x4c, 0x49, 0x47, 0x48, - 0x54, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x53, 0x57, 0x41, 0x50, 0x5f, 0x46, 0x45, 0x45, 0x10, 0x05, 0x12, 0x19, 0x0a, - 0x15, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4d, 0x49, 0x4e, - 0x45, 0x52, 0x5f, 0x46, 0x45, 0x45, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x55, 0x54, 0x4f, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x50, 0x41, 0x59, 0x10, 0x07, - 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x42, 0x41, 0x43, 0x4b, 0x4f, 0x46, 0x46, 0x10, - 0x08, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x41, - 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x4f, 0x4f, 0x50, 0x5f, - 0x49, 0x4e, 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x4c, 0x49, 0x51, 0x55, 0x49, 0x44, 0x49, 0x54, 0x59, 0x5f, 0x4f, 0x4b, - 0x10, 0x0b, 0x12, 0x23, 0x0a, 0x1f, 0x41, 0x55, 0x54, 0x4f, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x42, 0x55, 0x44, 0x47, 0x45, 0x54, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, - 0x43, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x0c, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x55, 0x54, 0x4f, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x46, 0x45, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, - 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x10, 0x0d, 0x32, 0x80, 0x08, 0x0a, 0x0a, 0x53, 0x77, - 0x61, 0x70, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x07, 0x4c, 0x6f, 0x6f, 0x70, - 0x4f, 0x75, 0x74, 0x12, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, - 0x6f, 0x70, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x6c, - 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x12, 0x16, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x77, 0x61, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x07, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, - 0x63, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x77, 0x61, 0x70, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x30, 0x01, 0x12, 0x42, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x53, - 0x77, 0x61, 0x70, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x77, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1a, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x77, - 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x08, 0x53, - 0x77, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x77, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x77, 0x61, 0x70, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x40, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x70, 0x4f, 0x75, - 0x74, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x15, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, - 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x54, 0x65, 0x72, 0x6d, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x4c, 0x6f, 0x6f, 0x70, - 0x4f, 0x75, 0x74, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, 0x15, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, - 0x70, 0x63, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x19, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x51, 0x75, 0x6f, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x47, 0x65, - 0x74, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x12, 0x15, 0x2e, 0x6c, - 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, - 0x54, 0x65, 0x72, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x4c, 0x6f, 0x6f, 0x70, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x12, - 0x15, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, - 0x2e, 0x49, 0x6e, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x36, 0x0a, 0x05, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x12, 0x15, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, - 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x62, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4c, - 0x73, 0x61, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x12, 0x16, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x47, 0x65, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x17, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, - 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x4c, - 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x22, - 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x71, 0x75, - 0x69, 0x64, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x71, - 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x12, 0x5d, 0x0a, 0x12, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x22, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6c, 0x6f, 0x6f, - 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x74, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, - 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4b, 0x0a, 0x0c, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x53, 0x77, 0x61, 0x70, 0x73, 0x12, - 0x1c, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, - 0x74, 0x53, 0x77, 0x61, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, - 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x53, - 0x77, 0x61, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x27, 0x5a, 0x25, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, - 0x6e, 0x69, 0x6e, 0x67, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x6c, 0x6f, - 0x6f, 0x70, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_looprpc_client_proto_rawDescOnce sync.Once - file_looprpc_client_proto_rawDescData = file_looprpc_client_proto_rawDesc -) - -func file_looprpc_client_proto_rawDescGZIP() []byte { - file_looprpc_client_proto_rawDescOnce.Do(func() { - file_looprpc_client_proto_rawDescData = protoimpl.X.CompressGZIP(file_looprpc_client_proto_rawDescData) - }) - return file_looprpc_client_proto_rawDescData -} - -var file_looprpc_client_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_looprpc_client_proto_msgTypes = make([]protoimpl.MessageInfo, 30) -var file_looprpc_client_proto_goTypes = []interface{}{ - (SwapType)(0), // 0: looprpc.SwapType - (SwapState)(0), // 1: looprpc.SwapState - (FailureReason)(0), // 2: looprpc.FailureReason - (LiquidityRuleType)(0), // 3: looprpc.LiquidityRuleType - (AutoReason)(0), // 4: looprpc.AutoReason - (*LoopOutRequest)(nil), // 5: looprpc.LoopOutRequest - (*LoopInRequest)(nil), // 6: looprpc.LoopInRequest - (*SwapResponse)(nil), // 7: looprpc.SwapResponse - (*MonitorRequest)(nil), // 8: looprpc.MonitorRequest - (*SwapStatus)(nil), // 9: looprpc.SwapStatus - (*ListSwapsRequest)(nil), // 10: looprpc.ListSwapsRequest - (*ListSwapsResponse)(nil), // 11: looprpc.ListSwapsResponse - (*SwapInfoRequest)(nil), // 12: looprpc.SwapInfoRequest - (*TermsRequest)(nil), // 13: looprpc.TermsRequest - (*InTermsResponse)(nil), // 14: looprpc.InTermsResponse - (*OutTermsResponse)(nil), // 15: looprpc.OutTermsResponse - (*QuoteRequest)(nil), // 16: looprpc.QuoteRequest - (*InQuoteResponse)(nil), // 17: looprpc.InQuoteResponse - (*OutQuoteResponse)(nil), // 18: looprpc.OutQuoteResponse - (*ProbeRequest)(nil), // 19: looprpc.ProbeRequest - (*ProbeResponse)(nil), // 20: looprpc.ProbeResponse - (*TokensRequest)(nil), // 21: looprpc.TokensRequest - (*TokensResponse)(nil), // 22: looprpc.TokensResponse - (*LsatToken)(nil), // 23: looprpc.LsatToken - (*LoopStats)(nil), // 24: looprpc.LoopStats - (*GetInfoRequest)(nil), // 25: looprpc.GetInfoRequest - (*GetInfoResponse)(nil), // 26: looprpc.GetInfoResponse - (*GetLiquidityParamsRequest)(nil), // 27: looprpc.GetLiquidityParamsRequest - (*LiquidityParameters)(nil), // 28: looprpc.LiquidityParameters - (*LiquidityRule)(nil), // 29: looprpc.LiquidityRule - (*SetLiquidityParamsRequest)(nil), // 30: looprpc.SetLiquidityParamsRequest - (*SetLiquidityParamsResponse)(nil), // 31: looprpc.SetLiquidityParamsResponse - (*SuggestSwapsRequest)(nil), // 32: looprpc.SuggestSwapsRequest - (*Disqualified)(nil), // 33: looprpc.Disqualified - (*SuggestSwapsResponse)(nil), // 34: looprpc.SuggestSwapsResponse - (*swapserverrpc.RouteHint)(nil), // 35: looprpc.RouteHint -} -var file_looprpc_client_proto_depIdxs = []int32{ - 35, // 0: looprpc.LoopInRequest.route_hints:type_name -> looprpc.RouteHint - 0, // 1: looprpc.SwapStatus.type:type_name -> looprpc.SwapType - 1, // 2: looprpc.SwapStatus.state:type_name -> looprpc.SwapState - 2, // 3: looprpc.SwapStatus.failure_reason:type_name -> looprpc.FailureReason - 9, // 4: looprpc.ListSwapsResponse.swaps:type_name -> looprpc.SwapStatus - 35, // 5: looprpc.QuoteRequest.loop_in_route_hints:type_name -> looprpc.RouteHint - 35, // 6: looprpc.ProbeRequest.route_hints:type_name -> looprpc.RouteHint - 23, // 7: looprpc.TokensResponse.tokens:type_name -> looprpc.LsatToken - 24, // 8: looprpc.GetInfoResponse.loop_out_stats:type_name -> looprpc.LoopStats - 24, // 9: looprpc.GetInfoResponse.loop_in_stats:type_name -> looprpc.LoopStats - 29, // 10: looprpc.LiquidityParameters.rules:type_name -> looprpc.LiquidityRule - 0, // 11: looprpc.LiquidityRule.swap_type:type_name -> looprpc.SwapType - 3, // 12: looprpc.LiquidityRule.type:type_name -> looprpc.LiquidityRuleType - 28, // 13: looprpc.SetLiquidityParamsRequest.parameters:type_name -> looprpc.LiquidityParameters - 4, // 14: looprpc.Disqualified.reason:type_name -> looprpc.AutoReason - 5, // 15: looprpc.SuggestSwapsResponse.loop_out:type_name -> looprpc.LoopOutRequest - 6, // 16: looprpc.SuggestSwapsResponse.loop_in:type_name -> looprpc.LoopInRequest - 33, // 17: looprpc.SuggestSwapsResponse.disqualified:type_name -> looprpc.Disqualified - 5, // 18: looprpc.SwapClient.LoopOut:input_type -> looprpc.LoopOutRequest - 6, // 19: looprpc.SwapClient.LoopIn:input_type -> looprpc.LoopInRequest - 8, // 20: looprpc.SwapClient.Monitor:input_type -> looprpc.MonitorRequest - 10, // 21: looprpc.SwapClient.ListSwaps:input_type -> looprpc.ListSwapsRequest - 12, // 22: looprpc.SwapClient.SwapInfo:input_type -> looprpc.SwapInfoRequest - 13, // 23: looprpc.SwapClient.LoopOutTerms:input_type -> looprpc.TermsRequest - 16, // 24: looprpc.SwapClient.LoopOutQuote:input_type -> looprpc.QuoteRequest - 13, // 25: looprpc.SwapClient.GetLoopInTerms:input_type -> looprpc.TermsRequest - 16, // 26: looprpc.SwapClient.GetLoopInQuote:input_type -> looprpc.QuoteRequest - 19, // 27: looprpc.SwapClient.Probe:input_type -> looprpc.ProbeRequest - 21, // 28: looprpc.SwapClient.GetLsatTokens:input_type -> looprpc.TokensRequest - 25, // 29: looprpc.SwapClient.GetInfo:input_type -> looprpc.GetInfoRequest - 27, // 30: looprpc.SwapClient.GetLiquidityParams:input_type -> looprpc.GetLiquidityParamsRequest - 30, // 31: looprpc.SwapClient.SetLiquidityParams:input_type -> looprpc.SetLiquidityParamsRequest - 32, // 32: looprpc.SwapClient.SuggestSwaps:input_type -> looprpc.SuggestSwapsRequest - 7, // 33: looprpc.SwapClient.LoopOut:output_type -> looprpc.SwapResponse - 7, // 34: looprpc.SwapClient.LoopIn:output_type -> looprpc.SwapResponse - 9, // 35: looprpc.SwapClient.Monitor:output_type -> looprpc.SwapStatus - 11, // 36: looprpc.SwapClient.ListSwaps:output_type -> looprpc.ListSwapsResponse - 9, // 37: looprpc.SwapClient.SwapInfo:output_type -> looprpc.SwapStatus - 15, // 38: looprpc.SwapClient.LoopOutTerms:output_type -> looprpc.OutTermsResponse - 18, // 39: looprpc.SwapClient.LoopOutQuote:output_type -> looprpc.OutQuoteResponse - 14, // 40: looprpc.SwapClient.GetLoopInTerms:output_type -> looprpc.InTermsResponse - 17, // 41: looprpc.SwapClient.GetLoopInQuote:output_type -> looprpc.InQuoteResponse - 20, // 42: looprpc.SwapClient.Probe:output_type -> looprpc.ProbeResponse - 22, // 43: looprpc.SwapClient.GetLsatTokens:output_type -> looprpc.TokensResponse - 26, // 44: looprpc.SwapClient.GetInfo:output_type -> looprpc.GetInfoResponse - 28, // 45: looprpc.SwapClient.GetLiquidityParams:output_type -> looprpc.LiquidityParameters - 31, // 46: looprpc.SwapClient.SetLiquidityParams:output_type -> looprpc.SetLiquidityParamsResponse - 34, // 47: looprpc.SwapClient.SuggestSwaps:output_type -> looprpc.SuggestSwapsResponse - 33, // [33:48] is the sub-list for method output_type - 18, // [18:33] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name -} - -func init() { file_looprpc_client_proto_init() } -func file_looprpc_client_proto_init() { - if File_looprpc_client_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_looprpc_client_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoopOutRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoopInRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SwapResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MonitorRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SwapStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSwapsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListSwapsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SwapInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TermsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InTermsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutTermsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QuoteRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InQuoteResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutQuoteResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProbeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProbeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokensRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TokensResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LsatToken); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoopStats); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetLiquidityParamsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LiquidityParameters); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LiquidityRule); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetLiquidityParamsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetLiquidityParamsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SuggestSwapsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Disqualified); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_client_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SuggestSwapsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_looprpc_client_proto_rawDesc, - NumEnums: 5, - NumMessages: 30, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_looprpc_client_proto_goTypes, - DependencyIndexes: file_looprpc_client_proto_depIdxs, - EnumInfos: file_looprpc_client_proto_enumTypes, - MessageInfos: file_looprpc_client_proto_msgTypes, - }.Build() - File_looprpc_client_proto = out.File - file_looprpc_client_proto_rawDesc = nil - file_looprpc_client_proto_goTypes = nil - file_looprpc_client_proto_depIdxs = nil -} diff --git a/github.com/lightninglabs/loop/looprpc/client_grpc.pb.go b/github.com/lightninglabs/loop/looprpc/client_grpc.pb.go deleted file mode 100644 index 1126b5b..0000000 --- a/github.com/lightninglabs/loop/looprpc/client_grpc.pb.go +++ /dev/null @@ -1,729 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.21.12 -// source: looprpc/client.proto - -package looprpc - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// SwapClientClient is the client API for SwapClient service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type SwapClientClient interface { - // loop: `out` - // LoopOut initiates an loop out swap with the given parameters. The call - // returns after the swap has been set up with the swap server. From that - // point onwards, progress can be tracked via the SwapStatus stream that is - // returned from Monitor(). - LoopOut(ctx context.Context, in *LoopOutRequest, opts ...grpc.CallOption) (*SwapResponse, error) - // loop: `in` - // LoopIn initiates a loop in swap with the given parameters. The call - // returns after the swap has been set up with the swap server. From that - // point onwards, progress can be tracked via the SwapStatus stream - // that is returned from Monitor(). - LoopIn(ctx context.Context, in *LoopInRequest, opts ...grpc.CallOption) (*SwapResponse, error) - // loop: `monitor` - // Monitor will return a stream of swap updates for currently active swaps. - Monitor(ctx context.Context, in *MonitorRequest, opts ...grpc.CallOption) (SwapClient_MonitorClient, error) - // loop: `listswaps` - // ListSwaps returns a list of all currently known swaps and their current - // status. - ListSwaps(ctx context.Context, in *ListSwapsRequest, opts ...grpc.CallOption) (*ListSwapsResponse, error) - // loop: `swapinfo` - // SwapInfo returns all known details about a single swap. - SwapInfo(ctx context.Context, in *SwapInfoRequest, opts ...grpc.CallOption) (*SwapStatus, error) - // loop: `terms` - // LoopOutTerms returns the terms that the server enforces for a loop out swap. - LoopOutTerms(ctx context.Context, in *TermsRequest, opts ...grpc.CallOption) (*OutTermsResponse, error) - // loop: `quote` - // LoopOutQuote returns a quote for a loop out swap with the provided - // parameters. - LoopOutQuote(ctx context.Context, in *QuoteRequest, opts ...grpc.CallOption) (*OutQuoteResponse, error) - // loop: `terms` - // GetTerms returns the terms that the server enforces for swaps. - GetLoopInTerms(ctx context.Context, in *TermsRequest, opts ...grpc.CallOption) (*InTermsResponse, error) - // loop: `quote` - // GetQuote returns a quote for a swap with the provided parameters. - GetLoopInQuote(ctx context.Context, in *QuoteRequest, opts ...grpc.CallOption) (*InQuoteResponse, error) - // Probe asks he sever to probe the route to us to have a better upfront - // estimate about routing fees when loopin-in. - Probe(ctx context.Context, in *ProbeRequest, opts ...grpc.CallOption) (*ProbeResponse, error) - // loop: `listauth` - // GetLsatTokens returns all LSAT tokens the daemon ever paid for. - GetLsatTokens(ctx context.Context, in *TokensRequest, opts ...grpc.CallOption) (*TokensResponse, error) - // loop: `getinfo` - // GetInfo gets basic information about the loop daemon. - GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error) - // loop: `getparams` - // GetLiquidityParams gets the parameters that the daemon's liquidity manager - // is currently configured with. This may be nil if nothing is configured. - // [EXPERIMENTAL]: endpoint is subject to change. - GetLiquidityParams(ctx context.Context, in *GetLiquidityParamsRequest, opts ...grpc.CallOption) (*LiquidityParameters, error) - // loop: `setparams` - // SetLiquidityParams sets a new set of parameters for the daemon's liquidity - // manager. Note that the full set of parameters must be provided, because - // this call fully overwrites our existing parameters. - // [EXPERIMENTAL]: endpoint is subject to change. - SetLiquidityParams(ctx context.Context, in *SetLiquidityParamsRequest, opts ...grpc.CallOption) (*SetLiquidityParamsResponse, error) - // loop: `suggestswaps` - // SuggestSwaps returns a list of recommended swaps based on the current - // state of your node's channels and it's liquidity manager parameters. - // Note that only loop out suggestions are currently supported. - // [EXPERIMENTAL]: endpoint is subject to change. - SuggestSwaps(ctx context.Context, in *SuggestSwapsRequest, opts ...grpc.CallOption) (*SuggestSwapsResponse, error) -} - -type swapClientClient struct { - cc grpc.ClientConnInterface -} - -func NewSwapClientClient(cc grpc.ClientConnInterface) SwapClientClient { - return &swapClientClient{cc} -} - -func (c *swapClientClient) LoopOut(ctx context.Context, in *LoopOutRequest, opts ...grpc.CallOption) (*SwapResponse, error) { - out := new(SwapResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/LoopOut", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) LoopIn(ctx context.Context, in *LoopInRequest, opts ...grpc.CallOption) (*SwapResponse, error) { - out := new(SwapResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/LoopIn", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) Monitor(ctx context.Context, in *MonitorRequest, opts ...grpc.CallOption) (SwapClient_MonitorClient, error) { - stream, err := c.cc.NewStream(ctx, &SwapClient_ServiceDesc.Streams[0], "/looprpc.SwapClient/Monitor", opts...) - if err != nil { - return nil, err - } - x := &swapClientMonitorClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type SwapClient_MonitorClient interface { - Recv() (*SwapStatus, error) - grpc.ClientStream -} - -type swapClientMonitorClient struct { - grpc.ClientStream -} - -func (x *swapClientMonitorClient) Recv() (*SwapStatus, error) { - m := new(SwapStatus) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *swapClientClient) ListSwaps(ctx context.Context, in *ListSwapsRequest, opts ...grpc.CallOption) (*ListSwapsResponse, error) { - out := new(ListSwapsResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/ListSwaps", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) SwapInfo(ctx context.Context, in *SwapInfoRequest, opts ...grpc.CallOption) (*SwapStatus, error) { - out := new(SwapStatus) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/SwapInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) LoopOutTerms(ctx context.Context, in *TermsRequest, opts ...grpc.CallOption) (*OutTermsResponse, error) { - out := new(OutTermsResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/LoopOutTerms", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) LoopOutQuote(ctx context.Context, in *QuoteRequest, opts ...grpc.CallOption) (*OutQuoteResponse, error) { - out := new(OutQuoteResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/LoopOutQuote", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) GetLoopInTerms(ctx context.Context, in *TermsRequest, opts ...grpc.CallOption) (*InTermsResponse, error) { - out := new(InTermsResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/GetLoopInTerms", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) GetLoopInQuote(ctx context.Context, in *QuoteRequest, opts ...grpc.CallOption) (*InQuoteResponse, error) { - out := new(InQuoteResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/GetLoopInQuote", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) Probe(ctx context.Context, in *ProbeRequest, opts ...grpc.CallOption) (*ProbeResponse, error) { - out := new(ProbeResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/Probe", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) GetLsatTokens(ctx context.Context, in *TokensRequest, opts ...grpc.CallOption) (*TokensResponse, error) { - out := new(TokensResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/GetLsatTokens", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error) { - out := new(GetInfoResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/GetInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) GetLiquidityParams(ctx context.Context, in *GetLiquidityParamsRequest, opts ...grpc.CallOption) (*LiquidityParameters, error) { - out := new(LiquidityParameters) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/GetLiquidityParams", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) SetLiquidityParams(ctx context.Context, in *SetLiquidityParamsRequest, opts ...grpc.CallOption) (*SetLiquidityParamsResponse, error) { - out := new(SetLiquidityParamsResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/SetLiquidityParams", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *swapClientClient) SuggestSwaps(ctx context.Context, in *SuggestSwapsRequest, opts ...grpc.CallOption) (*SuggestSwapsResponse, error) { - out := new(SuggestSwapsResponse) - err := c.cc.Invoke(ctx, "/looprpc.SwapClient/SuggestSwaps", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// SwapClientServer is the server API for SwapClient service. -// All implementations must embed UnimplementedSwapClientServer -// for forward compatibility -type SwapClientServer interface { - // loop: `out` - // LoopOut initiates an loop out swap with the given parameters. The call - // returns after the swap has been set up with the swap server. From that - // point onwards, progress can be tracked via the SwapStatus stream that is - // returned from Monitor(). - LoopOut(context.Context, *LoopOutRequest) (*SwapResponse, error) - // loop: `in` - // LoopIn initiates a loop in swap with the given parameters. The call - // returns after the swap has been set up with the swap server. From that - // point onwards, progress can be tracked via the SwapStatus stream - // that is returned from Monitor(). - LoopIn(context.Context, *LoopInRequest) (*SwapResponse, error) - // loop: `monitor` - // Monitor will return a stream of swap updates for currently active swaps. - Monitor(*MonitorRequest, SwapClient_MonitorServer) error - // loop: `listswaps` - // ListSwaps returns a list of all currently known swaps and their current - // status. - ListSwaps(context.Context, *ListSwapsRequest) (*ListSwapsResponse, error) - // loop: `swapinfo` - // SwapInfo returns all known details about a single swap. - SwapInfo(context.Context, *SwapInfoRequest) (*SwapStatus, error) - // loop: `terms` - // LoopOutTerms returns the terms that the server enforces for a loop out swap. - LoopOutTerms(context.Context, *TermsRequest) (*OutTermsResponse, error) - // loop: `quote` - // LoopOutQuote returns a quote for a loop out swap with the provided - // parameters. - LoopOutQuote(context.Context, *QuoteRequest) (*OutQuoteResponse, error) - // loop: `terms` - // GetTerms returns the terms that the server enforces for swaps. - GetLoopInTerms(context.Context, *TermsRequest) (*InTermsResponse, error) - // loop: `quote` - // GetQuote returns a quote for a swap with the provided parameters. - GetLoopInQuote(context.Context, *QuoteRequest) (*InQuoteResponse, error) - // Probe asks he sever to probe the route to us to have a better upfront - // estimate about routing fees when loopin-in. - Probe(context.Context, *ProbeRequest) (*ProbeResponse, error) - // loop: `listauth` - // GetLsatTokens returns all LSAT tokens the daemon ever paid for. - GetLsatTokens(context.Context, *TokensRequest) (*TokensResponse, error) - // loop: `getinfo` - // GetInfo gets basic information about the loop daemon. - GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error) - // loop: `getparams` - // GetLiquidityParams gets the parameters that the daemon's liquidity manager - // is currently configured with. This may be nil if nothing is configured. - // [EXPERIMENTAL]: endpoint is subject to change. - GetLiquidityParams(context.Context, *GetLiquidityParamsRequest) (*LiquidityParameters, error) - // loop: `setparams` - // SetLiquidityParams sets a new set of parameters for the daemon's liquidity - // manager. Note that the full set of parameters must be provided, because - // this call fully overwrites our existing parameters. - // [EXPERIMENTAL]: endpoint is subject to change. - SetLiquidityParams(context.Context, *SetLiquidityParamsRequest) (*SetLiquidityParamsResponse, error) - // loop: `suggestswaps` - // SuggestSwaps returns a list of recommended swaps based on the current - // state of your node's channels and it's liquidity manager parameters. - // Note that only loop out suggestions are currently supported. - // [EXPERIMENTAL]: endpoint is subject to change. - SuggestSwaps(context.Context, *SuggestSwapsRequest) (*SuggestSwapsResponse, error) - mustEmbedUnimplementedSwapClientServer() -} - -// UnimplementedSwapClientServer must be embedded to have forward compatible implementations. -type UnimplementedSwapClientServer struct { -} - -func (UnimplementedSwapClientServer) LoopOut(context.Context, *LoopOutRequest) (*SwapResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method LoopOut not implemented") -} -func (UnimplementedSwapClientServer) LoopIn(context.Context, *LoopInRequest) (*SwapResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method LoopIn not implemented") -} -func (UnimplementedSwapClientServer) Monitor(*MonitorRequest, SwapClient_MonitorServer) error { - return status.Errorf(codes.Unimplemented, "method Monitor not implemented") -} -func (UnimplementedSwapClientServer) ListSwaps(context.Context, *ListSwapsRequest) (*ListSwapsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListSwaps not implemented") -} -func (UnimplementedSwapClientServer) SwapInfo(context.Context, *SwapInfoRequest) (*SwapStatus, error) { - return nil, status.Errorf(codes.Unimplemented, "method SwapInfo not implemented") -} -func (UnimplementedSwapClientServer) LoopOutTerms(context.Context, *TermsRequest) (*OutTermsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method LoopOutTerms not implemented") -} -func (UnimplementedSwapClientServer) LoopOutQuote(context.Context, *QuoteRequest) (*OutQuoteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method LoopOutQuote not implemented") -} -func (UnimplementedSwapClientServer) GetLoopInTerms(context.Context, *TermsRequest) (*InTermsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLoopInTerms not implemented") -} -func (UnimplementedSwapClientServer) GetLoopInQuote(context.Context, *QuoteRequest) (*InQuoteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLoopInQuote not implemented") -} -func (UnimplementedSwapClientServer) Probe(context.Context, *ProbeRequest) (*ProbeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Probe not implemented") -} -func (UnimplementedSwapClientServer) GetLsatTokens(context.Context, *TokensRequest) (*TokensResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLsatTokens not implemented") -} -func (UnimplementedSwapClientServer) GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetInfo not implemented") -} -func (UnimplementedSwapClientServer) GetLiquidityParams(context.Context, *GetLiquidityParamsRequest) (*LiquidityParameters, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetLiquidityParams not implemented") -} -func (UnimplementedSwapClientServer) SetLiquidityParams(context.Context, *SetLiquidityParamsRequest) (*SetLiquidityParamsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetLiquidityParams not implemented") -} -func (UnimplementedSwapClientServer) SuggestSwaps(context.Context, *SuggestSwapsRequest) (*SuggestSwapsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SuggestSwaps not implemented") -} -func (UnimplementedSwapClientServer) mustEmbedUnimplementedSwapClientServer() {} - -// UnsafeSwapClientServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to SwapClientServer will -// result in compilation errors. -type UnsafeSwapClientServer interface { - mustEmbedUnimplementedSwapClientServer() -} - -func RegisterSwapClientServer(s grpc.ServiceRegistrar, srv SwapClientServer) { - s.RegisterService(&SwapClient_ServiceDesc, srv) -} - -func _SwapClient_LoopOut_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(LoopOutRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).LoopOut(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/LoopOut", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).LoopOut(ctx, req.(*LoopOutRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_LoopIn_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(LoopInRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).LoopIn(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/LoopIn", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).LoopIn(ctx, req.(*LoopInRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_Monitor_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(MonitorRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(SwapClientServer).Monitor(m, &swapClientMonitorServer{stream}) -} - -type SwapClient_MonitorServer interface { - Send(*SwapStatus) error - grpc.ServerStream -} - -type swapClientMonitorServer struct { - grpc.ServerStream -} - -func (x *swapClientMonitorServer) Send(m *SwapStatus) error { - return x.ServerStream.SendMsg(m) -} - -func _SwapClient_ListSwaps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListSwapsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).ListSwaps(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/ListSwaps", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).ListSwaps(ctx, req.(*ListSwapsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_SwapInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SwapInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).SwapInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/SwapInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).SwapInfo(ctx, req.(*SwapInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_LoopOutTerms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(TermsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).LoopOutTerms(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/LoopOutTerms", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).LoopOutTerms(ctx, req.(*TermsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_LoopOutQuote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QuoteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).LoopOutQuote(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/LoopOutQuote", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).LoopOutQuote(ctx, req.(*QuoteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_GetLoopInTerms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(TermsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).GetLoopInTerms(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/GetLoopInTerms", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).GetLoopInTerms(ctx, req.(*TermsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_GetLoopInQuote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QuoteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).GetLoopInQuote(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/GetLoopInQuote", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).GetLoopInQuote(ctx, req.(*QuoteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_Probe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ProbeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).Probe(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/Probe", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).Probe(ctx, req.(*ProbeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_GetLsatTokens_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(TokensRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).GetLsatTokens(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/GetLsatTokens", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).GetLsatTokens(ctx, req.(*TokensRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_GetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).GetInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/GetInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).GetInfo(ctx, req.(*GetInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_GetLiquidityParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetLiquidityParamsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).GetLiquidityParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/GetLiquidityParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).GetLiquidityParams(ctx, req.(*GetLiquidityParamsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_SetLiquidityParams_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetLiquidityParamsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).SetLiquidityParams(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/SetLiquidityParams", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).SetLiquidityParams(ctx, req.(*SetLiquidityParamsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SwapClient_SuggestSwaps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SuggestSwapsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SwapClientServer).SuggestSwaps(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.SwapClient/SuggestSwaps", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SwapClientServer).SuggestSwaps(ctx, req.(*SuggestSwapsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// SwapClient_ServiceDesc is the grpc.ServiceDesc for SwapClient service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var SwapClient_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "looprpc.SwapClient", - HandlerType: (*SwapClientServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "LoopOut", - Handler: _SwapClient_LoopOut_Handler, - }, - { - MethodName: "LoopIn", - Handler: _SwapClient_LoopIn_Handler, - }, - { - MethodName: "ListSwaps", - Handler: _SwapClient_ListSwaps_Handler, - }, - { - MethodName: "SwapInfo", - Handler: _SwapClient_SwapInfo_Handler, - }, - { - MethodName: "LoopOutTerms", - Handler: _SwapClient_LoopOutTerms_Handler, - }, - { - MethodName: "LoopOutQuote", - Handler: _SwapClient_LoopOutQuote_Handler, - }, - { - MethodName: "GetLoopInTerms", - Handler: _SwapClient_GetLoopInTerms_Handler, - }, - { - MethodName: "GetLoopInQuote", - Handler: _SwapClient_GetLoopInQuote_Handler, - }, - { - MethodName: "Probe", - Handler: _SwapClient_Probe_Handler, - }, - { - MethodName: "GetLsatTokens", - Handler: _SwapClient_GetLsatTokens_Handler, - }, - { - MethodName: "GetInfo", - Handler: _SwapClient_GetInfo_Handler, - }, - { - MethodName: "GetLiquidityParams", - Handler: _SwapClient_GetLiquidityParams_Handler, - }, - { - MethodName: "SetLiquidityParams", - Handler: _SwapClient_SetLiquidityParams_Handler, - }, - { - MethodName: "SuggestSwaps", - Handler: _SwapClient_SuggestSwaps_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "Monitor", - Handler: _SwapClient_Monitor_Handler, - ServerStreams: true, - }, - }, - Metadata: "looprpc/client.proto", -} diff --git a/github.com/lightninglabs/loop/looprpc/debug.pb.go b/github.com/lightninglabs/loop/looprpc/debug.pb.go deleted file mode 100644 index ba473bd..0000000 --- a/github.com/lightninglabs/loop/looprpc/debug.pb.go +++ /dev/null @@ -1,194 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.12 -// source: looprpc/debug.proto - -package looprpc - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type ForceAutoLoopRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ForceAutoLoopRequest) Reset() { - *x = ForceAutoLoopRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_debug_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ForceAutoLoopRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ForceAutoLoopRequest) ProtoMessage() {} - -func (x *ForceAutoLoopRequest) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_debug_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ForceAutoLoopRequest.ProtoReflect.Descriptor instead. -func (*ForceAutoLoopRequest) Descriptor() ([]byte, []int) { - return file_looprpc_debug_proto_rawDescGZIP(), []int{0} -} - -type ForceAutoLoopResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ForceAutoLoopResponse) Reset() { - *x = ForceAutoLoopResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_looprpc_debug_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ForceAutoLoopResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ForceAutoLoopResponse) ProtoMessage() {} - -func (x *ForceAutoLoopResponse) ProtoReflect() protoreflect.Message { - mi := &file_looprpc_debug_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ForceAutoLoopResponse.ProtoReflect.Descriptor instead. -func (*ForceAutoLoopResponse) Descriptor() ([]byte, []int) { - return file_looprpc_debug_proto_rawDescGZIP(), []int{1} -} - -var File_looprpc_debug_proto protoreflect.FileDescriptor - -var file_looprpc_debug_proto_rawDesc = []byte{ - 0x0a, 0x13, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x2f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, 0x63, 0x22, 0x16, - 0x0a, 0x14, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4c, 0x6f, 0x6f, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, - 0x75, 0x74, 0x6f, 0x4c, 0x6f, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, - 0x57, 0x0a, 0x05, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x4e, 0x0a, 0x0d, 0x46, 0x6f, 0x72, 0x63, - 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4c, 0x6f, 0x6f, 0x70, 0x12, 0x1d, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4c, 0x6f, 0x6f, - 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6f, 0x6f, 0x70, 0x72, - 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x4c, 0x6f, 0x6f, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, - 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x2f, 0x6c, 0x6f, 0x6f, 0x70, 0x72, 0x70, - 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_looprpc_debug_proto_rawDescOnce sync.Once - file_looprpc_debug_proto_rawDescData = file_looprpc_debug_proto_rawDesc -) - -func file_looprpc_debug_proto_rawDescGZIP() []byte { - file_looprpc_debug_proto_rawDescOnce.Do(func() { - file_looprpc_debug_proto_rawDescData = protoimpl.X.CompressGZIP(file_looprpc_debug_proto_rawDescData) - }) - return file_looprpc_debug_proto_rawDescData -} - -var file_looprpc_debug_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_looprpc_debug_proto_goTypes = []interface{}{ - (*ForceAutoLoopRequest)(nil), // 0: looprpc.ForceAutoLoopRequest - (*ForceAutoLoopResponse)(nil), // 1: looprpc.ForceAutoLoopResponse -} -var file_looprpc_debug_proto_depIdxs = []int32{ - 0, // 0: looprpc.Debug.ForceAutoLoop:input_type -> looprpc.ForceAutoLoopRequest - 1, // 1: looprpc.Debug.ForceAutoLoop:output_type -> looprpc.ForceAutoLoopResponse - 1, // [1:2] is the sub-list for method output_type - 0, // [0:1] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_looprpc_debug_proto_init() } -func file_looprpc_debug_proto_init() { - if File_looprpc_debug_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_looprpc_debug_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ForceAutoLoopRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_looprpc_debug_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ForceAutoLoopResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_looprpc_debug_proto_rawDesc, - NumEnums: 0, - NumMessages: 2, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_looprpc_debug_proto_goTypes, - DependencyIndexes: file_looprpc_debug_proto_depIdxs, - MessageInfos: file_looprpc_debug_proto_msgTypes, - }.Build() - File_looprpc_debug_proto = out.File - file_looprpc_debug_proto_rawDesc = nil - file_looprpc_debug_proto_goTypes = nil - file_looprpc_debug_proto_depIdxs = nil -} diff --git a/github.com/lightninglabs/loop/looprpc/debug_grpc.pb.go b/github.com/lightninglabs/loop/looprpc/debug_grpc.pb.go deleted file mode 100644 index 5371ec8..0000000 --- a/github.com/lightninglabs/loop/looprpc/debug_grpc.pb.go +++ /dev/null @@ -1,111 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.21.12 -// source: looprpc/debug.proto - -package looprpc - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// DebugClient is the client API for Debug service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type DebugClient interface { - // ForceAutoLoop is intended for *testing purposes only* and will not work on - // mainnet. This endpoint ticks our autoloop timer, triggering automated - // dispatch of a swap if one is suggested. - ForceAutoLoop(ctx context.Context, in *ForceAutoLoopRequest, opts ...grpc.CallOption) (*ForceAutoLoopResponse, error) -} - -type debugClient struct { - cc grpc.ClientConnInterface -} - -func NewDebugClient(cc grpc.ClientConnInterface) DebugClient { - return &debugClient{cc} -} - -func (c *debugClient) ForceAutoLoop(ctx context.Context, in *ForceAutoLoopRequest, opts ...grpc.CallOption) (*ForceAutoLoopResponse, error) { - out := new(ForceAutoLoopResponse) - err := c.cc.Invoke(ctx, "/looprpc.Debug/ForceAutoLoop", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// DebugServer is the server API for Debug service. -// All implementations must embed UnimplementedDebugServer -// for forward compatibility -type DebugServer interface { - // ForceAutoLoop is intended for *testing purposes only* and will not work on - // mainnet. This endpoint ticks our autoloop timer, triggering automated - // dispatch of a swap if one is suggested. - ForceAutoLoop(context.Context, *ForceAutoLoopRequest) (*ForceAutoLoopResponse, error) - mustEmbedUnimplementedDebugServer() -} - -// UnimplementedDebugServer must be embedded to have forward compatible implementations. -type UnimplementedDebugServer struct { -} - -func (UnimplementedDebugServer) ForceAutoLoop(context.Context, *ForceAutoLoopRequest) (*ForceAutoLoopResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ForceAutoLoop not implemented") -} -func (UnimplementedDebugServer) mustEmbedUnimplementedDebugServer() {} - -// UnsafeDebugServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to DebugServer will -// result in compilation errors. -type UnsafeDebugServer interface { - mustEmbedUnimplementedDebugServer() -} - -func RegisterDebugServer(s grpc.ServiceRegistrar, srv DebugServer) { - s.RegisterService(&Debug_ServiceDesc, srv) -} - -func _Debug_ForceAutoLoop_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ForceAutoLoopRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(DebugServer).ForceAutoLoop(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/looprpc.Debug/ForceAutoLoop", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(DebugServer).ForceAutoLoop(ctx, req.(*ForceAutoLoopRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// Debug_ServiceDesc is the grpc.ServiceDesc for Debug service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var Debug_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "looprpc.Debug", - HandlerType: (*DebugServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "ForceAutoLoop", - Handler: _Debug_ForceAutoLoop_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "looprpc/debug.proto", -} diff --git a/github.com/lightninglabs/loop/looprpc/go.mod b/github.com/lightninglabs/loop/looprpc/go.mod deleted file mode 100644 index d145af4..0000000 --- a/github.com/lightninglabs/loop/looprpc/go.mod +++ /dev/null @@ -1,3 +0,0 @@ -module looprpc - -go 1.19 diff --git a/github.com/lightningnetwork/lnd/lnrpc/go.mod b/github.com/lightningnetwork/lnd/lnrpc/go.mod deleted file mode 100644 index b4534d7..0000000 --- a/github.com/lightningnetwork/lnd/lnrpc/go.mod +++ /dev/null @@ -1,3 +0,0 @@ -module lnrpc - -go 1.19 diff --git a/github.com/lightningnetwork/lnd/lnrpc/lightning.pb.go b/github.com/lightningnetwork/lnd/lnrpc/lightning.pb.go deleted file mode 100644 index f2abece..0000000 --- a/github.com/lightningnetwork/lnd/lnrpc/lightning.pb.go +++ /dev/null @@ -1,22611 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.12 -// source: lightning.proto - -package lnrpc - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type OutputScriptType int32 - -const ( - OutputScriptType_SCRIPT_TYPE_PUBKEY_HASH OutputScriptType = 0 - OutputScriptType_SCRIPT_TYPE_SCRIPT_HASH OutputScriptType = 1 - OutputScriptType_SCRIPT_TYPE_WITNESS_V0_PUBKEY_HASH OutputScriptType = 2 - OutputScriptType_SCRIPT_TYPE_WITNESS_V0_SCRIPT_HASH OutputScriptType = 3 - OutputScriptType_SCRIPT_TYPE_PUBKEY OutputScriptType = 4 - OutputScriptType_SCRIPT_TYPE_MULTISIG OutputScriptType = 5 - OutputScriptType_SCRIPT_TYPE_NULLDATA OutputScriptType = 6 - OutputScriptType_SCRIPT_TYPE_NON_STANDARD OutputScriptType = 7 - OutputScriptType_SCRIPT_TYPE_WITNESS_UNKNOWN OutputScriptType = 8 - OutputScriptType_SCRIPT_TYPE_WITNESS_V1_TAPROOT OutputScriptType = 9 -) - -// Enum value maps for OutputScriptType. -var ( - OutputScriptType_name = map[int32]string{ - 0: "SCRIPT_TYPE_PUBKEY_HASH", - 1: "SCRIPT_TYPE_SCRIPT_HASH", - 2: "SCRIPT_TYPE_WITNESS_V0_PUBKEY_HASH", - 3: "SCRIPT_TYPE_WITNESS_V0_SCRIPT_HASH", - 4: "SCRIPT_TYPE_PUBKEY", - 5: "SCRIPT_TYPE_MULTISIG", - 6: "SCRIPT_TYPE_NULLDATA", - 7: "SCRIPT_TYPE_NON_STANDARD", - 8: "SCRIPT_TYPE_WITNESS_UNKNOWN", - 9: "SCRIPT_TYPE_WITNESS_V1_TAPROOT", - } - OutputScriptType_value = map[string]int32{ - "SCRIPT_TYPE_PUBKEY_HASH": 0, - "SCRIPT_TYPE_SCRIPT_HASH": 1, - "SCRIPT_TYPE_WITNESS_V0_PUBKEY_HASH": 2, - "SCRIPT_TYPE_WITNESS_V0_SCRIPT_HASH": 3, - "SCRIPT_TYPE_PUBKEY": 4, - "SCRIPT_TYPE_MULTISIG": 5, - "SCRIPT_TYPE_NULLDATA": 6, - "SCRIPT_TYPE_NON_STANDARD": 7, - "SCRIPT_TYPE_WITNESS_UNKNOWN": 8, - "SCRIPT_TYPE_WITNESS_V1_TAPROOT": 9, - } -) - -func (x OutputScriptType) Enum() *OutputScriptType { - p := new(OutputScriptType) - *p = x - return p -} - -func (x OutputScriptType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (OutputScriptType) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[0].Descriptor() -} - -func (OutputScriptType) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[0] -} - -func (x OutputScriptType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use OutputScriptType.Descriptor instead. -func (OutputScriptType) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{0} -} - -// `AddressType` has to be one of: -// -// - `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0) -// - `np2wkh`: Pay to nested witness key hash (`NESTED_PUBKEY_HASH` = 1) -// - `p2tr`: Pay to taproot pubkey (`TAPROOT_PUBKEY` = 4) -type AddressType int32 - -const ( - AddressType_WITNESS_PUBKEY_HASH AddressType = 0 - AddressType_NESTED_PUBKEY_HASH AddressType = 1 - AddressType_UNUSED_WITNESS_PUBKEY_HASH AddressType = 2 - AddressType_UNUSED_NESTED_PUBKEY_HASH AddressType = 3 - AddressType_TAPROOT_PUBKEY AddressType = 4 - AddressType_UNUSED_TAPROOT_PUBKEY AddressType = 5 -) - -// Enum value maps for AddressType. -var ( - AddressType_name = map[int32]string{ - 0: "WITNESS_PUBKEY_HASH", - 1: "NESTED_PUBKEY_HASH", - 2: "UNUSED_WITNESS_PUBKEY_HASH", - 3: "UNUSED_NESTED_PUBKEY_HASH", - 4: "TAPROOT_PUBKEY", - 5: "UNUSED_TAPROOT_PUBKEY", - } - AddressType_value = map[string]int32{ - "WITNESS_PUBKEY_HASH": 0, - "NESTED_PUBKEY_HASH": 1, - "UNUSED_WITNESS_PUBKEY_HASH": 2, - "UNUSED_NESTED_PUBKEY_HASH": 3, - "TAPROOT_PUBKEY": 4, - "UNUSED_TAPROOT_PUBKEY": 5, - } -) - -func (x AddressType) Enum() *AddressType { - p := new(AddressType) - *p = x - return p -} - -func (x AddressType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (AddressType) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[1].Descriptor() -} - -func (AddressType) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[1] -} - -func (x AddressType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use AddressType.Descriptor instead. -func (AddressType) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{1} -} - -type CommitmentType int32 - -const ( - // Returned when the commitment type isn't known or unavailable. - CommitmentType_UNKNOWN_COMMITMENT_TYPE CommitmentType = 0 - // A channel using the legacy commitment format having tweaked to_remote - // keys. - CommitmentType_LEGACY CommitmentType = 1 - // A channel that uses the modern commitment format where the key in the - // output of the remote party does not change each state. This makes back - // up and recovery easier as when the channel is closed, the funds go - // directly to that key. - CommitmentType_STATIC_REMOTE_KEY CommitmentType = 2 - // A channel that uses a commitment format that has anchor outputs on the - // commitments, allowing fee bumping after a force close transaction has - // been broadcast. - CommitmentType_ANCHORS CommitmentType = 3 - // A channel that uses a commitment type that builds upon the anchors - // commitment format, but in addition requires a CLTV clause to spend outputs - // paying to the channel initiator. This is intended for use on leased channels - // to guarantee that the channel initiator has no incentives to close a leased - // channel before its maturity date. - CommitmentType_SCRIPT_ENFORCED_LEASE CommitmentType = 4 -) - -// Enum value maps for CommitmentType. -var ( - CommitmentType_name = map[int32]string{ - 0: "UNKNOWN_COMMITMENT_TYPE", - 1: "LEGACY", - 2: "STATIC_REMOTE_KEY", - 3: "ANCHORS", - 4: "SCRIPT_ENFORCED_LEASE", - } - CommitmentType_value = map[string]int32{ - "UNKNOWN_COMMITMENT_TYPE": 0, - "LEGACY": 1, - "STATIC_REMOTE_KEY": 2, - "ANCHORS": 3, - "SCRIPT_ENFORCED_LEASE": 4, - } -) - -func (x CommitmentType) Enum() *CommitmentType { - p := new(CommitmentType) - *p = x - return p -} - -func (x CommitmentType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (CommitmentType) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[2].Descriptor() -} - -func (CommitmentType) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[2] -} - -func (x CommitmentType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use CommitmentType.Descriptor instead. -func (CommitmentType) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{2} -} - -type Initiator int32 - -const ( - Initiator_INITIATOR_UNKNOWN Initiator = 0 - Initiator_INITIATOR_LOCAL Initiator = 1 - Initiator_INITIATOR_REMOTE Initiator = 2 - Initiator_INITIATOR_BOTH Initiator = 3 -) - -// Enum value maps for Initiator. -var ( - Initiator_name = map[int32]string{ - 0: "INITIATOR_UNKNOWN", - 1: "INITIATOR_LOCAL", - 2: "INITIATOR_REMOTE", - 3: "INITIATOR_BOTH", - } - Initiator_value = map[string]int32{ - "INITIATOR_UNKNOWN": 0, - "INITIATOR_LOCAL": 1, - "INITIATOR_REMOTE": 2, - "INITIATOR_BOTH": 3, - } -) - -func (x Initiator) Enum() *Initiator { - p := new(Initiator) - *p = x - return p -} - -func (x Initiator) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Initiator) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[3].Descriptor() -} - -func (Initiator) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[3] -} - -func (x Initiator) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Initiator.Descriptor instead. -func (Initiator) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{3} -} - -type ResolutionType int32 - -const ( - ResolutionType_TYPE_UNKNOWN ResolutionType = 0 - // We resolved an anchor output. - ResolutionType_ANCHOR ResolutionType = 1 - // We are resolving an incoming htlc on chain. This if this htlc is - // claimed, we swept the incoming htlc with the preimage. If it is timed - // out, our peer swept the timeout path. - ResolutionType_INCOMING_HTLC ResolutionType = 2 - // We are resolving an outgoing htlc on chain. If this htlc is claimed, - // the remote party swept the htlc with the preimage. If it is timed out, - // we swept it with the timeout path. - ResolutionType_OUTGOING_HTLC ResolutionType = 3 - // We force closed and need to sweep our time locked commitment output. - ResolutionType_COMMIT ResolutionType = 4 -) - -// Enum value maps for ResolutionType. -var ( - ResolutionType_name = map[int32]string{ - 0: "TYPE_UNKNOWN", - 1: "ANCHOR", - 2: "INCOMING_HTLC", - 3: "OUTGOING_HTLC", - 4: "COMMIT", - } - ResolutionType_value = map[string]int32{ - "TYPE_UNKNOWN": 0, - "ANCHOR": 1, - "INCOMING_HTLC": 2, - "OUTGOING_HTLC": 3, - "COMMIT": 4, - } -) - -func (x ResolutionType) Enum() *ResolutionType { - p := new(ResolutionType) - *p = x - return p -} - -func (x ResolutionType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ResolutionType) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[4].Descriptor() -} - -func (ResolutionType) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[4] -} - -func (x ResolutionType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ResolutionType.Descriptor instead. -func (ResolutionType) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{4} -} - -type ResolutionOutcome int32 - -const ( - // Outcome unknown. - ResolutionOutcome_OUTCOME_UNKNOWN ResolutionOutcome = 0 - // An output was claimed on chain. - ResolutionOutcome_CLAIMED ResolutionOutcome = 1 - // An output was left unclaimed on chain. - ResolutionOutcome_UNCLAIMED ResolutionOutcome = 2 - // ResolverOutcomeAbandoned indicates that an output that we did not - // claim on chain, for example an anchor that we did not sweep and a - // third party claimed on chain, or a htlc that we could not decode - // so left unclaimed. - ResolutionOutcome_ABANDONED ResolutionOutcome = 3 - // If we force closed our channel, our htlcs need to be claimed in two - // stages. This outcome represents the broadcast of a timeout or success - // transaction for this two stage htlc claim. - ResolutionOutcome_FIRST_STAGE ResolutionOutcome = 4 - // A htlc was timed out on chain. - ResolutionOutcome_TIMEOUT ResolutionOutcome = 5 -) - -// Enum value maps for ResolutionOutcome. -var ( - ResolutionOutcome_name = map[int32]string{ - 0: "OUTCOME_UNKNOWN", - 1: "CLAIMED", - 2: "UNCLAIMED", - 3: "ABANDONED", - 4: "FIRST_STAGE", - 5: "TIMEOUT", - } - ResolutionOutcome_value = map[string]int32{ - "OUTCOME_UNKNOWN": 0, - "CLAIMED": 1, - "UNCLAIMED": 2, - "ABANDONED": 3, - "FIRST_STAGE": 4, - "TIMEOUT": 5, - } -) - -func (x ResolutionOutcome) Enum() *ResolutionOutcome { - p := new(ResolutionOutcome) - *p = x - return p -} - -func (x ResolutionOutcome) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ResolutionOutcome) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[5].Descriptor() -} - -func (ResolutionOutcome) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[5] -} - -func (x ResolutionOutcome) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ResolutionOutcome.Descriptor instead. -func (ResolutionOutcome) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{5} -} - -type NodeMetricType int32 - -const ( - NodeMetricType_UNKNOWN NodeMetricType = 0 - NodeMetricType_BETWEENNESS_CENTRALITY NodeMetricType = 1 -) - -// Enum value maps for NodeMetricType. -var ( - NodeMetricType_name = map[int32]string{ - 0: "UNKNOWN", - 1: "BETWEENNESS_CENTRALITY", - } - NodeMetricType_value = map[string]int32{ - "UNKNOWN": 0, - "BETWEENNESS_CENTRALITY": 1, - } -) - -func (x NodeMetricType) Enum() *NodeMetricType { - p := new(NodeMetricType) - *p = x - return p -} - -func (x NodeMetricType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (NodeMetricType) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[6].Descriptor() -} - -func (NodeMetricType) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[6] -} - -func (x NodeMetricType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use NodeMetricType.Descriptor instead. -func (NodeMetricType) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{6} -} - -type InvoiceHTLCState int32 - -const ( - InvoiceHTLCState_ACCEPTED InvoiceHTLCState = 0 - InvoiceHTLCState_SETTLED InvoiceHTLCState = 1 - InvoiceHTLCState_CANCELED InvoiceHTLCState = 2 -) - -// Enum value maps for InvoiceHTLCState. -var ( - InvoiceHTLCState_name = map[int32]string{ - 0: "ACCEPTED", - 1: "SETTLED", - 2: "CANCELED", - } - InvoiceHTLCState_value = map[string]int32{ - "ACCEPTED": 0, - "SETTLED": 1, - "CANCELED": 2, - } -) - -func (x InvoiceHTLCState) Enum() *InvoiceHTLCState { - p := new(InvoiceHTLCState) - *p = x - return p -} - -func (x InvoiceHTLCState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (InvoiceHTLCState) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[7].Descriptor() -} - -func (InvoiceHTLCState) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[7] -} - -func (x InvoiceHTLCState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use InvoiceHTLCState.Descriptor instead. -func (InvoiceHTLCState) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{7} -} - -type PaymentFailureReason int32 - -const ( - // Payment isn't failed (yet). - PaymentFailureReason_FAILURE_REASON_NONE PaymentFailureReason = 0 - // There are more routes to try, but the payment timeout was exceeded. - PaymentFailureReason_FAILURE_REASON_TIMEOUT PaymentFailureReason = 1 - // All possible routes were tried and failed permanently. Or were no - // routes to the destination at all. - PaymentFailureReason_FAILURE_REASON_NO_ROUTE PaymentFailureReason = 2 - // A non-recoverable error has occured. - PaymentFailureReason_FAILURE_REASON_ERROR PaymentFailureReason = 3 - // Payment details incorrect (unknown hash, invalid amt or - // invalid final cltv delta) - PaymentFailureReason_FAILURE_REASON_INCORRECT_PAYMENT_DETAILS PaymentFailureReason = 4 - // Insufficient local balance. - PaymentFailureReason_FAILURE_REASON_INSUFFICIENT_BALANCE PaymentFailureReason = 5 -) - -// Enum value maps for PaymentFailureReason. -var ( - PaymentFailureReason_name = map[int32]string{ - 0: "FAILURE_REASON_NONE", - 1: "FAILURE_REASON_TIMEOUT", - 2: "FAILURE_REASON_NO_ROUTE", - 3: "FAILURE_REASON_ERROR", - 4: "FAILURE_REASON_INCORRECT_PAYMENT_DETAILS", - 5: "FAILURE_REASON_INSUFFICIENT_BALANCE", - } - PaymentFailureReason_value = map[string]int32{ - "FAILURE_REASON_NONE": 0, - "FAILURE_REASON_TIMEOUT": 1, - "FAILURE_REASON_NO_ROUTE": 2, - "FAILURE_REASON_ERROR": 3, - "FAILURE_REASON_INCORRECT_PAYMENT_DETAILS": 4, - "FAILURE_REASON_INSUFFICIENT_BALANCE": 5, - } -) - -func (x PaymentFailureReason) Enum() *PaymentFailureReason { - p := new(PaymentFailureReason) - *p = x - return p -} - -func (x PaymentFailureReason) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PaymentFailureReason) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[8].Descriptor() -} - -func (PaymentFailureReason) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[8] -} - -func (x PaymentFailureReason) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PaymentFailureReason.Descriptor instead. -func (PaymentFailureReason) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{8} -} - -type FeatureBit int32 - -const ( - FeatureBit_DATALOSS_PROTECT_REQ FeatureBit = 0 - FeatureBit_DATALOSS_PROTECT_OPT FeatureBit = 1 - FeatureBit_INITIAL_ROUING_SYNC FeatureBit = 3 - FeatureBit_UPFRONT_SHUTDOWN_SCRIPT_REQ FeatureBit = 4 - FeatureBit_UPFRONT_SHUTDOWN_SCRIPT_OPT FeatureBit = 5 - FeatureBit_GOSSIP_QUERIES_REQ FeatureBit = 6 - FeatureBit_GOSSIP_QUERIES_OPT FeatureBit = 7 - FeatureBit_TLV_ONION_REQ FeatureBit = 8 - FeatureBit_TLV_ONION_OPT FeatureBit = 9 - FeatureBit_EXT_GOSSIP_QUERIES_REQ FeatureBit = 10 - FeatureBit_EXT_GOSSIP_QUERIES_OPT FeatureBit = 11 - FeatureBit_STATIC_REMOTE_KEY_REQ FeatureBit = 12 - FeatureBit_STATIC_REMOTE_KEY_OPT FeatureBit = 13 - FeatureBit_PAYMENT_ADDR_REQ FeatureBit = 14 - FeatureBit_PAYMENT_ADDR_OPT FeatureBit = 15 - FeatureBit_MPP_REQ FeatureBit = 16 - FeatureBit_MPP_OPT FeatureBit = 17 - FeatureBit_WUMBO_CHANNELS_REQ FeatureBit = 18 - FeatureBit_WUMBO_CHANNELS_OPT FeatureBit = 19 - FeatureBit_ANCHORS_REQ FeatureBit = 20 - FeatureBit_ANCHORS_OPT FeatureBit = 21 - FeatureBit_ANCHORS_ZERO_FEE_HTLC_REQ FeatureBit = 22 - FeatureBit_ANCHORS_ZERO_FEE_HTLC_OPT FeatureBit = 23 - FeatureBit_AMP_REQ FeatureBit = 30 - FeatureBit_AMP_OPT FeatureBit = 31 -) - -// Enum value maps for FeatureBit. -var ( - FeatureBit_name = map[int32]string{ - 0: "DATALOSS_PROTECT_REQ", - 1: "DATALOSS_PROTECT_OPT", - 3: "INITIAL_ROUING_SYNC", - 4: "UPFRONT_SHUTDOWN_SCRIPT_REQ", - 5: "UPFRONT_SHUTDOWN_SCRIPT_OPT", - 6: "GOSSIP_QUERIES_REQ", - 7: "GOSSIP_QUERIES_OPT", - 8: "TLV_ONION_REQ", - 9: "TLV_ONION_OPT", - 10: "EXT_GOSSIP_QUERIES_REQ", - 11: "EXT_GOSSIP_QUERIES_OPT", - 12: "STATIC_REMOTE_KEY_REQ", - 13: "STATIC_REMOTE_KEY_OPT", - 14: "PAYMENT_ADDR_REQ", - 15: "PAYMENT_ADDR_OPT", - 16: "MPP_REQ", - 17: "MPP_OPT", - 18: "WUMBO_CHANNELS_REQ", - 19: "WUMBO_CHANNELS_OPT", - 20: "ANCHORS_REQ", - 21: "ANCHORS_OPT", - 22: "ANCHORS_ZERO_FEE_HTLC_REQ", - 23: "ANCHORS_ZERO_FEE_HTLC_OPT", - 30: "AMP_REQ", - 31: "AMP_OPT", - } - FeatureBit_value = map[string]int32{ - "DATALOSS_PROTECT_REQ": 0, - "DATALOSS_PROTECT_OPT": 1, - "INITIAL_ROUING_SYNC": 3, - "UPFRONT_SHUTDOWN_SCRIPT_REQ": 4, - "UPFRONT_SHUTDOWN_SCRIPT_OPT": 5, - "GOSSIP_QUERIES_REQ": 6, - "GOSSIP_QUERIES_OPT": 7, - "TLV_ONION_REQ": 8, - "TLV_ONION_OPT": 9, - "EXT_GOSSIP_QUERIES_REQ": 10, - "EXT_GOSSIP_QUERIES_OPT": 11, - "STATIC_REMOTE_KEY_REQ": 12, - "STATIC_REMOTE_KEY_OPT": 13, - "PAYMENT_ADDR_REQ": 14, - "PAYMENT_ADDR_OPT": 15, - "MPP_REQ": 16, - "MPP_OPT": 17, - "WUMBO_CHANNELS_REQ": 18, - "WUMBO_CHANNELS_OPT": 19, - "ANCHORS_REQ": 20, - "ANCHORS_OPT": 21, - "ANCHORS_ZERO_FEE_HTLC_REQ": 22, - "ANCHORS_ZERO_FEE_HTLC_OPT": 23, - "AMP_REQ": 30, - "AMP_OPT": 31, - } -) - -func (x FeatureBit) Enum() *FeatureBit { - p := new(FeatureBit) - *p = x - return p -} - -func (x FeatureBit) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (FeatureBit) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[9].Descriptor() -} - -func (FeatureBit) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[9] -} - -func (x FeatureBit) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use FeatureBit.Descriptor instead. -func (FeatureBit) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{9} -} - -type UpdateFailure int32 - -const ( - UpdateFailure_UPDATE_FAILURE_UNKNOWN UpdateFailure = 0 - UpdateFailure_UPDATE_FAILURE_PENDING UpdateFailure = 1 - UpdateFailure_UPDATE_FAILURE_NOT_FOUND UpdateFailure = 2 - UpdateFailure_UPDATE_FAILURE_INTERNAL_ERR UpdateFailure = 3 - UpdateFailure_UPDATE_FAILURE_INVALID_PARAMETER UpdateFailure = 4 -) - -// Enum value maps for UpdateFailure. -var ( - UpdateFailure_name = map[int32]string{ - 0: "UPDATE_FAILURE_UNKNOWN", - 1: "UPDATE_FAILURE_PENDING", - 2: "UPDATE_FAILURE_NOT_FOUND", - 3: "UPDATE_FAILURE_INTERNAL_ERR", - 4: "UPDATE_FAILURE_INVALID_PARAMETER", - } - UpdateFailure_value = map[string]int32{ - "UPDATE_FAILURE_UNKNOWN": 0, - "UPDATE_FAILURE_PENDING": 1, - "UPDATE_FAILURE_NOT_FOUND": 2, - "UPDATE_FAILURE_INTERNAL_ERR": 3, - "UPDATE_FAILURE_INVALID_PARAMETER": 4, - } -) - -func (x UpdateFailure) Enum() *UpdateFailure { - p := new(UpdateFailure) - *p = x - return p -} - -func (x UpdateFailure) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (UpdateFailure) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[10].Descriptor() -} - -func (UpdateFailure) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[10] -} - -func (x UpdateFailure) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UpdateFailure.Descriptor instead. -func (UpdateFailure) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{10} -} - -type ChannelCloseSummary_ClosureType int32 - -const ( - ChannelCloseSummary_COOPERATIVE_CLOSE ChannelCloseSummary_ClosureType = 0 - ChannelCloseSummary_LOCAL_FORCE_CLOSE ChannelCloseSummary_ClosureType = 1 - ChannelCloseSummary_REMOTE_FORCE_CLOSE ChannelCloseSummary_ClosureType = 2 - ChannelCloseSummary_BREACH_CLOSE ChannelCloseSummary_ClosureType = 3 - ChannelCloseSummary_FUNDING_CANCELED ChannelCloseSummary_ClosureType = 4 - ChannelCloseSummary_ABANDONED ChannelCloseSummary_ClosureType = 5 -) - -// Enum value maps for ChannelCloseSummary_ClosureType. -var ( - ChannelCloseSummary_ClosureType_name = map[int32]string{ - 0: "COOPERATIVE_CLOSE", - 1: "LOCAL_FORCE_CLOSE", - 2: "REMOTE_FORCE_CLOSE", - 3: "BREACH_CLOSE", - 4: "FUNDING_CANCELED", - 5: "ABANDONED", - } - ChannelCloseSummary_ClosureType_value = map[string]int32{ - "COOPERATIVE_CLOSE": 0, - "LOCAL_FORCE_CLOSE": 1, - "REMOTE_FORCE_CLOSE": 2, - "BREACH_CLOSE": 3, - "FUNDING_CANCELED": 4, - "ABANDONED": 5, - } -) - -func (x ChannelCloseSummary_ClosureType) Enum() *ChannelCloseSummary_ClosureType { - p := new(ChannelCloseSummary_ClosureType) - *p = x - return p -} - -func (x ChannelCloseSummary_ClosureType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ChannelCloseSummary_ClosureType) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[11].Descriptor() -} - -func (ChannelCloseSummary_ClosureType) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[11] -} - -func (x ChannelCloseSummary_ClosureType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ChannelCloseSummary_ClosureType.Descriptor instead. -func (ChannelCloseSummary_ClosureType) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{45, 0} -} - -type Peer_SyncType int32 - -const ( - // Denotes that we cannot determine the peer's current sync type. - Peer_UNKNOWN_SYNC Peer_SyncType = 0 - // Denotes that we are actively receiving new graph updates from the peer. - Peer_ACTIVE_SYNC Peer_SyncType = 1 - // Denotes that we are not receiving new graph updates from the peer. - Peer_PASSIVE_SYNC Peer_SyncType = 2 - // Denotes that this peer is pinned into an active sync. - Peer_PINNED_SYNC Peer_SyncType = 3 -) - -// Enum value maps for Peer_SyncType. -var ( - Peer_SyncType_name = map[int32]string{ - 0: "UNKNOWN_SYNC", - 1: "ACTIVE_SYNC", - 2: "PASSIVE_SYNC", - 3: "PINNED_SYNC", - } - Peer_SyncType_value = map[string]int32{ - "UNKNOWN_SYNC": 0, - "ACTIVE_SYNC": 1, - "PASSIVE_SYNC": 2, - "PINNED_SYNC": 3, - } -) - -func (x Peer_SyncType) Enum() *Peer_SyncType { - p := new(Peer_SyncType) - *p = x - return p -} - -func (x Peer_SyncType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Peer_SyncType) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[12].Descriptor() -} - -func (Peer_SyncType) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[12] -} - -func (x Peer_SyncType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Peer_SyncType.Descriptor instead. -func (Peer_SyncType) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{49, 0} -} - -type PeerEvent_EventType int32 - -const ( - PeerEvent_PEER_ONLINE PeerEvent_EventType = 0 - PeerEvent_PEER_OFFLINE PeerEvent_EventType = 1 -) - -// Enum value maps for PeerEvent_EventType. -var ( - PeerEvent_EventType_name = map[int32]string{ - 0: "PEER_ONLINE", - 1: "PEER_OFFLINE", - } - PeerEvent_EventType_value = map[string]int32{ - "PEER_ONLINE": 0, - "PEER_OFFLINE": 1, - } -) - -func (x PeerEvent_EventType) Enum() *PeerEvent_EventType { - p := new(PeerEvent_EventType) - *p = x - return p -} - -func (x PeerEvent_EventType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PeerEvent_EventType) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[13].Descriptor() -} - -func (PeerEvent_EventType) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[13] -} - -func (x PeerEvent_EventType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PeerEvent_EventType.Descriptor instead. -func (PeerEvent_EventType) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{54, 0} -} - -type PendingChannelsResponse_ForceClosedChannel_AnchorState int32 - -const ( - PendingChannelsResponse_ForceClosedChannel_LIMBO PendingChannelsResponse_ForceClosedChannel_AnchorState = 0 - PendingChannelsResponse_ForceClosedChannel_RECOVERED PendingChannelsResponse_ForceClosedChannel_AnchorState = 1 - PendingChannelsResponse_ForceClosedChannel_LOST PendingChannelsResponse_ForceClosedChannel_AnchorState = 2 -) - -// Enum value maps for PendingChannelsResponse_ForceClosedChannel_AnchorState. -var ( - PendingChannelsResponse_ForceClosedChannel_AnchorState_name = map[int32]string{ - 0: "LIMBO", - 1: "RECOVERED", - 2: "LOST", - } - PendingChannelsResponse_ForceClosedChannel_AnchorState_value = map[string]int32{ - "LIMBO": 0, - "RECOVERED": 1, - "LOST": 2, - } -) - -func (x PendingChannelsResponse_ForceClosedChannel_AnchorState) Enum() *PendingChannelsResponse_ForceClosedChannel_AnchorState { - p := new(PendingChannelsResponse_ForceClosedChannel_AnchorState) - *p = x - return p -} - -func (x PendingChannelsResponse_ForceClosedChannel_AnchorState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PendingChannelsResponse_ForceClosedChannel_AnchorState) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[14].Descriptor() -} - -func (PendingChannelsResponse_ForceClosedChannel_AnchorState) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[14] -} - -func (x PendingChannelsResponse_ForceClosedChannel_AnchorState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PendingChannelsResponse_ForceClosedChannel_AnchorState.Descriptor instead. -func (PendingChannelsResponse_ForceClosedChannel_AnchorState) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{84, 5, 0} -} - -type ChannelEventUpdate_UpdateType int32 - -const ( - ChannelEventUpdate_OPEN_CHANNEL ChannelEventUpdate_UpdateType = 0 - ChannelEventUpdate_CLOSED_CHANNEL ChannelEventUpdate_UpdateType = 1 - ChannelEventUpdate_ACTIVE_CHANNEL ChannelEventUpdate_UpdateType = 2 - ChannelEventUpdate_INACTIVE_CHANNEL ChannelEventUpdate_UpdateType = 3 - ChannelEventUpdate_PENDING_OPEN_CHANNEL ChannelEventUpdate_UpdateType = 4 - ChannelEventUpdate_FULLY_RESOLVED_CHANNEL ChannelEventUpdate_UpdateType = 5 -) - -// Enum value maps for ChannelEventUpdate_UpdateType. -var ( - ChannelEventUpdate_UpdateType_name = map[int32]string{ - 0: "OPEN_CHANNEL", - 1: "CLOSED_CHANNEL", - 2: "ACTIVE_CHANNEL", - 3: "INACTIVE_CHANNEL", - 4: "PENDING_OPEN_CHANNEL", - 5: "FULLY_RESOLVED_CHANNEL", - } - ChannelEventUpdate_UpdateType_value = map[string]int32{ - "OPEN_CHANNEL": 0, - "CLOSED_CHANNEL": 1, - "ACTIVE_CHANNEL": 2, - "INACTIVE_CHANNEL": 3, - "PENDING_OPEN_CHANNEL": 4, - "FULLY_RESOLVED_CHANNEL": 5, - } -) - -func (x ChannelEventUpdate_UpdateType) Enum() *ChannelEventUpdate_UpdateType { - p := new(ChannelEventUpdate_UpdateType) - *p = x - return p -} - -func (x ChannelEventUpdate_UpdateType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ChannelEventUpdate_UpdateType) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[15].Descriptor() -} - -func (ChannelEventUpdate_UpdateType) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[15] -} - -func (x ChannelEventUpdate_UpdateType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ChannelEventUpdate_UpdateType.Descriptor instead. -func (ChannelEventUpdate_UpdateType) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{86, 0} -} - -type Invoice_InvoiceState int32 - -const ( - Invoice_OPEN Invoice_InvoiceState = 0 - Invoice_SETTLED Invoice_InvoiceState = 1 - Invoice_CANCELED Invoice_InvoiceState = 2 - Invoice_ACCEPTED Invoice_InvoiceState = 3 -) - -// Enum value maps for Invoice_InvoiceState. -var ( - Invoice_InvoiceState_name = map[int32]string{ - 0: "OPEN", - 1: "SETTLED", - 2: "CANCELED", - 3: "ACCEPTED", - } - Invoice_InvoiceState_value = map[string]int32{ - "OPEN": 0, - "SETTLED": 1, - "CANCELED": 2, - "ACCEPTED": 3, - } -) - -func (x Invoice_InvoiceState) Enum() *Invoice_InvoiceState { - p := new(Invoice_InvoiceState) - *p = x - return p -} - -func (x Invoice_InvoiceState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Invoice_InvoiceState) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[16].Descriptor() -} - -func (Invoice_InvoiceState) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[16] -} - -func (x Invoice_InvoiceState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Invoice_InvoiceState.Descriptor instead. -func (Invoice_InvoiceState) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{126, 0} -} - -type Payment_PaymentStatus int32 - -const ( - Payment_UNKNOWN Payment_PaymentStatus = 0 - Payment_IN_FLIGHT Payment_PaymentStatus = 1 - Payment_SUCCEEDED Payment_PaymentStatus = 2 - Payment_FAILED Payment_PaymentStatus = 3 -) - -// Enum value maps for Payment_PaymentStatus. -var ( - Payment_PaymentStatus_name = map[int32]string{ - 0: "UNKNOWN", - 1: "IN_FLIGHT", - 2: "SUCCEEDED", - 3: "FAILED", - } - Payment_PaymentStatus_value = map[string]int32{ - "UNKNOWN": 0, - "IN_FLIGHT": 1, - "SUCCEEDED": 2, - "FAILED": 3, - } -) - -func (x Payment_PaymentStatus) Enum() *Payment_PaymentStatus { - p := new(Payment_PaymentStatus) - *p = x - return p -} - -func (x Payment_PaymentStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Payment_PaymentStatus) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[17].Descriptor() -} - -func (Payment_PaymentStatus) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[17] -} - -func (x Payment_PaymentStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Payment_PaymentStatus.Descriptor instead. -func (Payment_PaymentStatus) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{134, 0} -} - -type HTLCAttempt_HTLCStatus int32 - -const ( - HTLCAttempt_IN_FLIGHT HTLCAttempt_HTLCStatus = 0 - HTLCAttempt_SUCCEEDED HTLCAttempt_HTLCStatus = 1 - HTLCAttempt_FAILED HTLCAttempt_HTLCStatus = 2 -) - -// Enum value maps for HTLCAttempt_HTLCStatus. -var ( - HTLCAttempt_HTLCStatus_name = map[int32]string{ - 0: "IN_FLIGHT", - 1: "SUCCEEDED", - 2: "FAILED", - } - HTLCAttempt_HTLCStatus_value = map[string]int32{ - "IN_FLIGHT": 0, - "SUCCEEDED": 1, - "FAILED": 2, - } -) - -func (x HTLCAttempt_HTLCStatus) Enum() *HTLCAttempt_HTLCStatus { - p := new(HTLCAttempt_HTLCStatus) - *p = x - return p -} - -func (x HTLCAttempt_HTLCStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (HTLCAttempt_HTLCStatus) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[18].Descriptor() -} - -func (HTLCAttempt_HTLCStatus) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[18] -} - -func (x HTLCAttempt_HTLCStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use HTLCAttempt_HTLCStatus.Descriptor instead. -func (HTLCAttempt_HTLCStatus) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{135, 0} -} - -type Failure_FailureCode int32 - -const ( - // The numbers assigned in this enumeration match the failure codes as - // defined in BOLT #4. Because protobuf 3 requires enums to start with 0, - // a RESERVED value is added. - Failure_RESERVED Failure_FailureCode = 0 - Failure_INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS Failure_FailureCode = 1 - Failure_INCORRECT_PAYMENT_AMOUNT Failure_FailureCode = 2 - Failure_FINAL_INCORRECT_CLTV_EXPIRY Failure_FailureCode = 3 - Failure_FINAL_INCORRECT_HTLC_AMOUNT Failure_FailureCode = 4 - Failure_FINAL_EXPIRY_TOO_SOON Failure_FailureCode = 5 - Failure_INVALID_REALM Failure_FailureCode = 6 - Failure_EXPIRY_TOO_SOON Failure_FailureCode = 7 - Failure_INVALID_ONION_VERSION Failure_FailureCode = 8 - Failure_INVALID_ONION_HMAC Failure_FailureCode = 9 - Failure_INVALID_ONION_KEY Failure_FailureCode = 10 - Failure_AMOUNT_BELOW_MINIMUM Failure_FailureCode = 11 - Failure_FEE_INSUFFICIENT Failure_FailureCode = 12 - Failure_INCORRECT_CLTV_EXPIRY Failure_FailureCode = 13 - Failure_CHANNEL_DISABLED Failure_FailureCode = 14 - Failure_TEMPORARY_CHANNEL_FAILURE Failure_FailureCode = 15 - Failure_REQUIRED_NODE_FEATURE_MISSING Failure_FailureCode = 16 - Failure_REQUIRED_CHANNEL_FEATURE_MISSING Failure_FailureCode = 17 - Failure_UNKNOWN_NEXT_PEER Failure_FailureCode = 18 - Failure_TEMPORARY_NODE_FAILURE Failure_FailureCode = 19 - Failure_PERMANENT_NODE_FAILURE Failure_FailureCode = 20 - Failure_PERMANENT_CHANNEL_FAILURE Failure_FailureCode = 21 - Failure_EXPIRY_TOO_FAR Failure_FailureCode = 22 - Failure_MPP_TIMEOUT Failure_FailureCode = 23 - Failure_INVALID_ONION_PAYLOAD Failure_FailureCode = 24 - // An internal error occurred. - Failure_INTERNAL_FAILURE Failure_FailureCode = 997 - // The error source is known, but the failure itself couldn't be decoded. - Failure_UNKNOWN_FAILURE Failure_FailureCode = 998 - // An unreadable failure result is returned if the received failure message - // cannot be decrypted. In that case the error source is unknown. - Failure_UNREADABLE_FAILURE Failure_FailureCode = 999 -) - -// Enum value maps for Failure_FailureCode. -var ( - Failure_FailureCode_name = map[int32]string{ - 0: "RESERVED", - 1: "INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS", - 2: "INCORRECT_PAYMENT_AMOUNT", - 3: "FINAL_INCORRECT_CLTV_EXPIRY", - 4: "FINAL_INCORRECT_HTLC_AMOUNT", - 5: "FINAL_EXPIRY_TOO_SOON", - 6: "INVALID_REALM", - 7: "EXPIRY_TOO_SOON", - 8: "INVALID_ONION_VERSION", - 9: "INVALID_ONION_HMAC", - 10: "INVALID_ONION_KEY", - 11: "AMOUNT_BELOW_MINIMUM", - 12: "FEE_INSUFFICIENT", - 13: "INCORRECT_CLTV_EXPIRY", - 14: "CHANNEL_DISABLED", - 15: "TEMPORARY_CHANNEL_FAILURE", - 16: "REQUIRED_NODE_FEATURE_MISSING", - 17: "REQUIRED_CHANNEL_FEATURE_MISSING", - 18: "UNKNOWN_NEXT_PEER", - 19: "TEMPORARY_NODE_FAILURE", - 20: "PERMANENT_NODE_FAILURE", - 21: "PERMANENT_CHANNEL_FAILURE", - 22: "EXPIRY_TOO_FAR", - 23: "MPP_TIMEOUT", - 24: "INVALID_ONION_PAYLOAD", - 997: "INTERNAL_FAILURE", - 998: "UNKNOWN_FAILURE", - 999: "UNREADABLE_FAILURE", - } - Failure_FailureCode_value = map[string]int32{ - "RESERVED": 0, - "INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS": 1, - "INCORRECT_PAYMENT_AMOUNT": 2, - "FINAL_INCORRECT_CLTV_EXPIRY": 3, - "FINAL_INCORRECT_HTLC_AMOUNT": 4, - "FINAL_EXPIRY_TOO_SOON": 5, - "INVALID_REALM": 6, - "EXPIRY_TOO_SOON": 7, - "INVALID_ONION_VERSION": 8, - "INVALID_ONION_HMAC": 9, - "INVALID_ONION_KEY": 10, - "AMOUNT_BELOW_MINIMUM": 11, - "FEE_INSUFFICIENT": 12, - "INCORRECT_CLTV_EXPIRY": 13, - "CHANNEL_DISABLED": 14, - "TEMPORARY_CHANNEL_FAILURE": 15, - "REQUIRED_NODE_FEATURE_MISSING": 16, - "REQUIRED_CHANNEL_FEATURE_MISSING": 17, - "UNKNOWN_NEXT_PEER": 18, - "TEMPORARY_NODE_FAILURE": 19, - "PERMANENT_NODE_FAILURE": 20, - "PERMANENT_CHANNEL_FAILURE": 21, - "EXPIRY_TOO_FAR": 22, - "MPP_TIMEOUT": 23, - "INVALID_ONION_PAYLOAD": 24, - "INTERNAL_FAILURE": 997, - "UNKNOWN_FAILURE": 998, - "UNREADABLE_FAILURE": 999, - } -) - -func (x Failure_FailureCode) Enum() *Failure_FailureCode { - p := new(Failure_FailureCode) - *p = x - return p -} - -func (x Failure_FailureCode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Failure_FailureCode) Descriptor() protoreflect.EnumDescriptor { - return file_lightning_proto_enumTypes[19].Descriptor() -} - -func (Failure_FailureCode) Type() protoreflect.EnumType { - return &file_lightning_proto_enumTypes[19] -} - -func (x Failure_FailureCode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Failure_FailureCode.Descriptor instead. -func (Failure_FailureCode) EnumDescriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{178, 0} -} - -type SubscribeCustomMessagesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SubscribeCustomMessagesRequest) Reset() { - *x = SubscribeCustomMessagesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeCustomMessagesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeCustomMessagesRequest) ProtoMessage() {} - -func (x *SubscribeCustomMessagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscribeCustomMessagesRequest.ProtoReflect.Descriptor instead. -func (*SubscribeCustomMessagesRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{0} -} - -type CustomMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Peer from which the message originates - Peer []byte `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` - // Message type. This value will be in the custom range (>= 32768). - Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` - // Raw message data - Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` -} - -func (x *CustomMessage) Reset() { - *x = CustomMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CustomMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CustomMessage) ProtoMessage() {} - -func (x *CustomMessage) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CustomMessage.ProtoReflect.Descriptor instead. -func (*CustomMessage) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{1} -} - -func (x *CustomMessage) GetPeer() []byte { - if x != nil { - return x.Peer - } - return nil -} - -func (x *CustomMessage) GetType() uint32 { - if x != nil { - return x.Type - } - return 0 -} - -func (x *CustomMessage) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - -type SendCustomMessageRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Peer to send the message to - Peer []byte `protobuf:"bytes,1,opt,name=peer,proto3" json:"peer,omitempty"` - // Message type. This value needs to be in the custom range (>= 32768). - Type uint32 `protobuf:"varint,2,opt,name=type,proto3" json:"type,omitempty"` - // Raw message data. - Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` -} - -func (x *SendCustomMessageRequest) Reset() { - *x = SendCustomMessageRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendCustomMessageRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendCustomMessageRequest) ProtoMessage() {} - -func (x *SendCustomMessageRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendCustomMessageRequest.ProtoReflect.Descriptor instead. -func (*SendCustomMessageRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{2} -} - -func (x *SendCustomMessageRequest) GetPeer() []byte { - if x != nil { - return x.Peer - } - return nil -} - -func (x *SendCustomMessageRequest) GetType() uint32 { - if x != nil { - return x.Type - } - return 0 -} - -func (x *SendCustomMessageRequest) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - -type SendCustomMessageResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SendCustomMessageResponse) Reset() { - *x = SendCustomMessageResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendCustomMessageResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendCustomMessageResponse) ProtoMessage() {} - -func (x *SendCustomMessageResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendCustomMessageResponse.ProtoReflect.Descriptor instead. -func (*SendCustomMessageResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{3} -} - -type Utxo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The type of address - AddressType AddressType `protobuf:"varint,1,opt,name=address_type,json=addressType,proto3,enum=lnrpc.AddressType" json:"address_type,omitempty"` - // The address - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - // The value of the unspent coin in satoshis - AmountSat int64 `protobuf:"varint,3,opt,name=amount_sat,json=amountSat,proto3" json:"amount_sat,omitempty"` - // The pkscript in hex - PkScript string `protobuf:"bytes,4,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"` - // The outpoint in format txid:n - Outpoint *OutPoint `protobuf:"bytes,5,opt,name=outpoint,proto3" json:"outpoint,omitempty"` - // The number of confirmations for the Utxo - Confirmations int64 `protobuf:"varint,6,opt,name=confirmations,proto3" json:"confirmations,omitempty"` -} - -func (x *Utxo) Reset() { - *x = Utxo{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Utxo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Utxo) ProtoMessage() {} - -func (x *Utxo) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Utxo.ProtoReflect.Descriptor instead. -func (*Utxo) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{4} -} - -func (x *Utxo) GetAddressType() AddressType { - if x != nil { - return x.AddressType - } - return AddressType_WITNESS_PUBKEY_HASH -} - -func (x *Utxo) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *Utxo) GetAmountSat() int64 { - if x != nil { - return x.AmountSat - } - return 0 -} - -func (x *Utxo) GetPkScript() string { - if x != nil { - return x.PkScript - } - return "" -} - -func (x *Utxo) GetOutpoint() *OutPoint { - if x != nil { - return x.Outpoint - } - return nil -} - -func (x *Utxo) GetConfirmations() int64 { - if x != nil { - return x.Confirmations - } - return 0 -} - -type OutputDetail struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The type of the output - OutputType OutputScriptType `protobuf:"varint,1,opt,name=output_type,json=outputType,proto3,enum=lnrpc.OutputScriptType" json:"output_type,omitempty"` - // The address - Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` - // The pkscript in hex - PkScript string `protobuf:"bytes,3,opt,name=pk_script,json=pkScript,proto3" json:"pk_script,omitempty"` - // The output index used in the raw transaction - OutputIndex int64 `protobuf:"varint,4,opt,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"` - // The value of the output coin in satoshis - Amount int64 `protobuf:"varint,5,opt,name=amount,proto3" json:"amount,omitempty"` - // Denotes if the output is controlled by the internal wallet - IsOurAddress bool `protobuf:"varint,6,opt,name=is_our_address,json=isOurAddress,proto3" json:"is_our_address,omitempty"` -} - -func (x *OutputDetail) Reset() { - *x = OutputDetail{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OutputDetail) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OutputDetail) ProtoMessage() {} - -func (x *OutputDetail) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OutputDetail.ProtoReflect.Descriptor instead. -func (*OutputDetail) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{5} -} - -func (x *OutputDetail) GetOutputType() OutputScriptType { - if x != nil { - return x.OutputType - } - return OutputScriptType_SCRIPT_TYPE_PUBKEY_HASH -} - -func (x *OutputDetail) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *OutputDetail) GetPkScript() string { - if x != nil { - return x.PkScript - } - return "" -} - -func (x *OutputDetail) GetOutputIndex() int64 { - if x != nil { - return x.OutputIndex - } - return 0 -} - -func (x *OutputDetail) GetAmount() int64 { - if x != nil { - return x.Amount - } - return 0 -} - -func (x *OutputDetail) GetIsOurAddress() bool { - if x != nil { - return x.IsOurAddress - } - return false -} - -type Transaction struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The transaction hash - TxHash string `protobuf:"bytes,1,opt,name=tx_hash,json=txHash,proto3" json:"tx_hash,omitempty"` - // The transaction amount, denominated in satoshis - Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` - // The number of confirmations - NumConfirmations int32 `protobuf:"varint,3,opt,name=num_confirmations,json=numConfirmations,proto3" json:"num_confirmations,omitempty"` - // The hash of the block this transaction was included in - BlockHash string `protobuf:"bytes,4,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` - // The height of the block this transaction was included in - BlockHeight int32 `protobuf:"varint,5,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - // Timestamp of this transaction - TimeStamp int64 `protobuf:"varint,6,opt,name=time_stamp,json=timeStamp,proto3" json:"time_stamp,omitempty"` - // Fees paid for this transaction - TotalFees int64 `protobuf:"varint,7,opt,name=total_fees,json=totalFees,proto3" json:"total_fees,omitempty"` - // Addresses that received funds for this transaction. Deprecated as it is - // now incorporated in the output_details field. - // - // Deprecated: Do not use. - DestAddresses []string `protobuf:"bytes,8,rep,name=dest_addresses,json=destAddresses,proto3" json:"dest_addresses,omitempty"` - // Outputs that received funds for this transaction - OutputDetails []*OutputDetail `protobuf:"bytes,11,rep,name=output_details,json=outputDetails,proto3" json:"output_details,omitempty"` - // The raw transaction hex. - RawTxHex string `protobuf:"bytes,9,opt,name=raw_tx_hex,json=rawTxHex,proto3" json:"raw_tx_hex,omitempty"` - // A label that was optionally set on transaction broadcast. - Label string `protobuf:"bytes,10,opt,name=label,proto3" json:"label,omitempty"` - // PreviousOutpoints/Inputs of this transaction. - PreviousOutpoints []*PreviousOutPoint `protobuf:"bytes,12,rep,name=previous_outpoints,json=previousOutpoints,proto3" json:"previous_outpoints,omitempty"` -} - -func (x *Transaction) Reset() { - *x = Transaction{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Transaction) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Transaction) ProtoMessage() {} - -func (x *Transaction) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Transaction.ProtoReflect.Descriptor instead. -func (*Transaction) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{6} -} - -func (x *Transaction) GetTxHash() string { - if x != nil { - return x.TxHash - } - return "" -} - -func (x *Transaction) GetAmount() int64 { - if x != nil { - return x.Amount - } - return 0 -} - -func (x *Transaction) GetNumConfirmations() int32 { - if x != nil { - return x.NumConfirmations - } - return 0 -} - -func (x *Transaction) GetBlockHash() string { - if x != nil { - return x.BlockHash - } - return "" -} - -func (x *Transaction) GetBlockHeight() int32 { - if x != nil { - return x.BlockHeight - } - return 0 -} - -func (x *Transaction) GetTimeStamp() int64 { - if x != nil { - return x.TimeStamp - } - return 0 -} - -func (x *Transaction) GetTotalFees() int64 { - if x != nil { - return x.TotalFees - } - return 0 -} - -// Deprecated: Do not use. -func (x *Transaction) GetDestAddresses() []string { - if x != nil { - return x.DestAddresses - } - return nil -} - -func (x *Transaction) GetOutputDetails() []*OutputDetail { - if x != nil { - return x.OutputDetails - } - return nil -} - -func (x *Transaction) GetRawTxHex() string { - if x != nil { - return x.RawTxHex - } - return "" -} - -func (x *Transaction) GetLabel() string { - if x != nil { - return x.Label - } - return "" -} - -func (x *Transaction) GetPreviousOutpoints() []*PreviousOutPoint { - if x != nil { - return x.PreviousOutpoints - } - return nil -} - -type GetTransactionsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The height from which to list transactions, inclusive. If this value is - // greater than end_height, transactions will be read in reverse. - StartHeight int32 `protobuf:"varint,1,opt,name=start_height,json=startHeight,proto3" json:"start_height,omitempty"` - // The height until which to list transactions, inclusive. To include - // unconfirmed transactions, this value should be set to -1, which will - // return transactions from start_height until the current chain tip and - // unconfirmed transactions. If no end_height is provided, the call will - // default to this option. - EndHeight int32 `protobuf:"varint,2,opt,name=end_height,json=endHeight,proto3" json:"end_height,omitempty"` - // An optional filter to only include transactions relevant to an account. - Account string `protobuf:"bytes,3,opt,name=account,proto3" json:"account,omitempty"` -} - -func (x *GetTransactionsRequest) Reset() { - *x = GetTransactionsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetTransactionsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetTransactionsRequest) ProtoMessage() {} - -func (x *GetTransactionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetTransactionsRequest.ProtoReflect.Descriptor instead. -func (*GetTransactionsRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{7} -} - -func (x *GetTransactionsRequest) GetStartHeight() int32 { - if x != nil { - return x.StartHeight - } - return 0 -} - -func (x *GetTransactionsRequest) GetEndHeight() int32 { - if x != nil { - return x.EndHeight - } - return 0 -} - -func (x *GetTransactionsRequest) GetAccount() string { - if x != nil { - return x.Account - } - return "" -} - -type TransactionDetails struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of transactions relevant to the wallet. - Transactions []*Transaction `protobuf:"bytes,1,rep,name=transactions,proto3" json:"transactions,omitempty"` -} - -func (x *TransactionDetails) Reset() { - *x = TransactionDetails{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TransactionDetails) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TransactionDetails) ProtoMessage() {} - -func (x *TransactionDetails) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TransactionDetails.ProtoReflect.Descriptor instead. -func (*TransactionDetails) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{8} -} - -func (x *TransactionDetails) GetTransactions() []*Transaction { - if x != nil { - return x.Transactions - } - return nil -} - -type FeeLimit struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Limit: - // - // *FeeLimit_Fixed - // *FeeLimit_FixedMsat - // *FeeLimit_Percent - Limit isFeeLimit_Limit `protobuf_oneof:"limit"` -} - -func (x *FeeLimit) Reset() { - *x = FeeLimit{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FeeLimit) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FeeLimit) ProtoMessage() {} - -func (x *FeeLimit) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FeeLimit.ProtoReflect.Descriptor instead. -func (*FeeLimit) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{9} -} - -func (m *FeeLimit) GetLimit() isFeeLimit_Limit { - if m != nil { - return m.Limit - } - return nil -} - -func (x *FeeLimit) GetFixed() int64 { - if x, ok := x.GetLimit().(*FeeLimit_Fixed); ok { - return x.Fixed - } - return 0 -} - -func (x *FeeLimit) GetFixedMsat() int64 { - if x, ok := x.GetLimit().(*FeeLimit_FixedMsat); ok { - return x.FixedMsat - } - return 0 -} - -func (x *FeeLimit) GetPercent() int64 { - if x, ok := x.GetLimit().(*FeeLimit_Percent); ok { - return x.Percent - } - return 0 -} - -type isFeeLimit_Limit interface { - isFeeLimit_Limit() -} - -type FeeLimit_Fixed struct { - // The fee limit expressed as a fixed amount of satoshis. - // - // The fields fixed and fixed_msat are mutually exclusive. - Fixed int64 `protobuf:"varint,1,opt,name=fixed,proto3,oneof"` -} - -type FeeLimit_FixedMsat struct { - // The fee limit expressed as a fixed amount of millisatoshis. - // - // The fields fixed and fixed_msat are mutually exclusive. - FixedMsat int64 `protobuf:"varint,3,opt,name=fixed_msat,json=fixedMsat,proto3,oneof"` -} - -type FeeLimit_Percent struct { - // The fee limit expressed as a percentage of the payment amount. - Percent int64 `protobuf:"varint,2,opt,name=percent,proto3,oneof"` -} - -func (*FeeLimit_Fixed) isFeeLimit_Limit() {} - -func (*FeeLimit_FixedMsat) isFeeLimit_Limit() {} - -func (*FeeLimit_Percent) isFeeLimit_Limit() {} - -type SendRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The identity pubkey of the payment recipient. When using REST, this field - // must be encoded as base64. - Dest []byte `protobuf:"bytes,1,opt,name=dest,proto3" json:"dest,omitempty"` - // The hex-encoded identity pubkey of the payment recipient. Deprecated now - // that the REST gateway supports base64 encoding of bytes fields. - // - // Deprecated: Do not use. - DestString string `protobuf:"bytes,2,opt,name=dest_string,json=destString,proto3" json:"dest_string,omitempty"` - // The amount to send expressed in satoshis. - // - // The fields amt and amt_msat are mutually exclusive. - Amt int64 `protobuf:"varint,3,opt,name=amt,proto3" json:"amt,omitempty"` - // The amount to send expressed in millisatoshis. - // - // The fields amt and amt_msat are mutually exclusive. - AmtMsat int64 `protobuf:"varint,12,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"` - // The hash to use within the payment's HTLC. When using REST, this field - // must be encoded as base64. - PaymentHash []byte `protobuf:"bytes,4,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - // The hex-encoded hash to use within the payment's HTLC. Deprecated now - // that the REST gateway supports base64 encoding of bytes fields. - // - // Deprecated: Do not use. - PaymentHashString string `protobuf:"bytes,5,opt,name=payment_hash_string,json=paymentHashString,proto3" json:"payment_hash_string,omitempty"` - // A bare-bones invoice for a payment within the Lightning Network. With the - // details of the invoice, the sender has all the data necessary to send a - // payment to the recipient. - PaymentRequest string `protobuf:"bytes,6,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"` - // The CLTV delta from the current height that should be used to set the - // timelock for the final hop. - FinalCltvDelta int32 `protobuf:"varint,7,opt,name=final_cltv_delta,json=finalCltvDelta,proto3" json:"final_cltv_delta,omitempty"` - // The maximum number of satoshis that will be paid as a fee of the payment. - // This value can be represented either as a percentage of the amount being - // sent, or as a fixed amount of the maximum fee the user is willing the pay to - // send the payment. If not specified, lnd will use a default value of 100% - // fees for small amounts (<=1k sat) or 5% fees for larger amounts. - FeeLimit *FeeLimit `protobuf:"bytes,8,opt,name=fee_limit,json=feeLimit,proto3" json:"fee_limit,omitempty"` - // The channel id of the channel that must be taken to the first hop. If zero, - // any channel may be used. - OutgoingChanId uint64 `protobuf:"varint,9,opt,name=outgoing_chan_id,json=outgoingChanId,proto3" json:"outgoing_chan_id,omitempty"` - // The pubkey of the last hop of the route. If empty, any hop may be used. - LastHopPubkey []byte `protobuf:"bytes,13,opt,name=last_hop_pubkey,json=lastHopPubkey,proto3" json:"last_hop_pubkey,omitempty"` - // An optional maximum total time lock for the route. This should not exceed - // lnd's `--max-cltv-expiry` setting. If zero, then the value of - // `--max-cltv-expiry` is enforced. - CltvLimit uint32 `protobuf:"varint,10,opt,name=cltv_limit,json=cltvLimit,proto3" json:"cltv_limit,omitempty"` - // An optional field that can be used to pass an arbitrary set of TLV records - // to a peer which understands the new records. This can be used to pass - // application specific data during the payment attempt. Record types are - // required to be in the custom range >= 65536. When using REST, the values - // must be encoded as base64. - DestCustomRecords map[uint64][]byte `protobuf:"bytes,11,rep,name=dest_custom_records,json=destCustomRecords,proto3" json:"dest_custom_records,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // If set, circular payments to self are permitted. - AllowSelfPayment bool `protobuf:"varint,14,opt,name=allow_self_payment,json=allowSelfPayment,proto3" json:"allow_self_payment,omitempty"` - // Features assumed to be supported by the final node. All transitive feature - // dependencies must also be set properly. For a given feature bit pair, either - // optional or remote may be set, but not both. If this field is nil or empty, - // the router will try to load destination features from the graph as a - // fallback. - DestFeatures []FeatureBit `protobuf:"varint,15,rep,packed,name=dest_features,json=destFeatures,proto3,enum=lnrpc.FeatureBit" json:"dest_features,omitempty"` - // The payment address of the generated invoice. - PaymentAddr []byte `protobuf:"bytes,16,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` -} - -func (x *SendRequest) Reset() { - *x = SendRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendRequest) ProtoMessage() {} - -func (x *SendRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendRequest.ProtoReflect.Descriptor instead. -func (*SendRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{10} -} - -func (x *SendRequest) GetDest() []byte { - if x != nil { - return x.Dest - } - return nil -} - -// Deprecated: Do not use. -func (x *SendRequest) GetDestString() string { - if x != nil { - return x.DestString - } - return "" -} - -func (x *SendRequest) GetAmt() int64 { - if x != nil { - return x.Amt - } - return 0 -} - -func (x *SendRequest) GetAmtMsat() int64 { - if x != nil { - return x.AmtMsat - } - return 0 -} - -func (x *SendRequest) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} - -// Deprecated: Do not use. -func (x *SendRequest) GetPaymentHashString() string { - if x != nil { - return x.PaymentHashString - } - return "" -} - -func (x *SendRequest) GetPaymentRequest() string { - if x != nil { - return x.PaymentRequest - } - return "" -} - -func (x *SendRequest) GetFinalCltvDelta() int32 { - if x != nil { - return x.FinalCltvDelta - } - return 0 -} - -func (x *SendRequest) GetFeeLimit() *FeeLimit { - if x != nil { - return x.FeeLimit - } - return nil -} - -func (x *SendRequest) GetOutgoingChanId() uint64 { - if x != nil { - return x.OutgoingChanId - } - return 0 -} - -func (x *SendRequest) GetLastHopPubkey() []byte { - if x != nil { - return x.LastHopPubkey - } - return nil -} - -func (x *SendRequest) GetCltvLimit() uint32 { - if x != nil { - return x.CltvLimit - } - return 0 -} - -func (x *SendRequest) GetDestCustomRecords() map[uint64][]byte { - if x != nil { - return x.DestCustomRecords - } - return nil -} - -func (x *SendRequest) GetAllowSelfPayment() bool { - if x != nil { - return x.AllowSelfPayment - } - return false -} - -func (x *SendRequest) GetDestFeatures() []FeatureBit { - if x != nil { - return x.DestFeatures - } - return nil -} - -func (x *SendRequest) GetPaymentAddr() []byte { - if x != nil { - return x.PaymentAddr - } - return nil -} - -type SendResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PaymentError string `protobuf:"bytes,1,opt,name=payment_error,json=paymentError,proto3" json:"payment_error,omitempty"` - PaymentPreimage []byte `protobuf:"bytes,2,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` - PaymentRoute *Route `protobuf:"bytes,3,opt,name=payment_route,json=paymentRoute,proto3" json:"payment_route,omitempty"` - PaymentHash []byte `protobuf:"bytes,4,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` -} - -func (x *SendResponse) Reset() { - *x = SendResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendResponse) ProtoMessage() {} - -func (x *SendResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendResponse.ProtoReflect.Descriptor instead. -func (*SendResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{11} -} - -func (x *SendResponse) GetPaymentError() string { - if x != nil { - return x.PaymentError - } - return "" -} - -func (x *SendResponse) GetPaymentPreimage() []byte { - if x != nil { - return x.PaymentPreimage - } - return nil -} - -func (x *SendResponse) GetPaymentRoute() *Route { - if x != nil { - return x.PaymentRoute - } - return nil -} - -func (x *SendResponse) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} - -type SendToRouteRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The payment hash to use for the HTLC. When using REST, this field must be - // encoded as base64. - PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - // An optional hex-encoded payment hash to be used for the HTLC. Deprecated now - // that the REST gateway supports base64 encoding of bytes fields. - // - // Deprecated: Do not use. - PaymentHashString string `protobuf:"bytes,2,opt,name=payment_hash_string,json=paymentHashString,proto3" json:"payment_hash_string,omitempty"` - // Route that should be used to attempt to complete the payment. - Route *Route `protobuf:"bytes,4,opt,name=route,proto3" json:"route,omitempty"` -} - -func (x *SendToRouteRequest) Reset() { - *x = SendToRouteRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendToRouteRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendToRouteRequest) ProtoMessage() {} - -func (x *SendToRouteRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendToRouteRequest.ProtoReflect.Descriptor instead. -func (*SendToRouteRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{12} -} - -func (x *SendToRouteRequest) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} - -// Deprecated: Do not use. -func (x *SendToRouteRequest) GetPaymentHashString() string { - if x != nil { - return x.PaymentHashString - } - return "" -} - -func (x *SendToRouteRequest) GetRoute() *Route { - if x != nil { - return x.Route - } - return nil -} - -type ChannelAcceptRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The pubkey of the node that wishes to open an inbound channel. - NodePubkey []byte `protobuf:"bytes,1,opt,name=node_pubkey,json=nodePubkey,proto3" json:"node_pubkey,omitempty"` - // The hash of the genesis block that the proposed channel resides in. - ChainHash []byte `protobuf:"bytes,2,opt,name=chain_hash,json=chainHash,proto3" json:"chain_hash,omitempty"` - // The pending channel id. - PendingChanId []byte `protobuf:"bytes,3,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` - // The funding amount in satoshis that initiator wishes to use in the - // channel. - FundingAmt uint64 `protobuf:"varint,4,opt,name=funding_amt,json=fundingAmt,proto3" json:"funding_amt,omitempty"` - // The push amount of the proposed channel in millisatoshis. - PushAmt uint64 `protobuf:"varint,5,opt,name=push_amt,json=pushAmt,proto3" json:"push_amt,omitempty"` - // The dust limit of the initiator's commitment tx. - DustLimit uint64 `protobuf:"varint,6,opt,name=dust_limit,json=dustLimit,proto3" json:"dust_limit,omitempty"` - // The maximum amount of coins in millisatoshis that can be pending in this - // channel. - MaxValueInFlight uint64 `protobuf:"varint,7,opt,name=max_value_in_flight,json=maxValueInFlight,proto3" json:"max_value_in_flight,omitempty"` - // The minimum amount of satoshis the initiator requires us to have at all - // times. - ChannelReserve uint64 `protobuf:"varint,8,opt,name=channel_reserve,json=channelReserve,proto3" json:"channel_reserve,omitempty"` - // The smallest HTLC in millisatoshis that the initiator will accept. - MinHtlc uint64 `protobuf:"varint,9,opt,name=min_htlc,json=minHtlc,proto3" json:"min_htlc,omitempty"` - // The initial fee rate that the initiator suggests for both commitment - // transactions. - FeePerKw uint64 `protobuf:"varint,10,opt,name=fee_per_kw,json=feePerKw,proto3" json:"fee_per_kw,omitempty"` - // The number of blocks to use for the relative time lock in the pay-to-self - // output of both commitment transactions. - CsvDelay uint32 `protobuf:"varint,11,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"` - // The total number of incoming HTLC's that the initiator will accept. - MaxAcceptedHtlcs uint32 `protobuf:"varint,12,opt,name=max_accepted_htlcs,json=maxAcceptedHtlcs,proto3" json:"max_accepted_htlcs,omitempty"` - // A bit-field which the initiator uses to specify proposed channel - // behavior. - ChannelFlags uint32 `protobuf:"varint,13,opt,name=channel_flags,json=channelFlags,proto3" json:"channel_flags,omitempty"` - // The commitment type the initiator wishes to use for the proposed channel. - CommitmentType CommitmentType `protobuf:"varint,14,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"` - // Whether the initiator wants to open a zero-conf channel via the channel - // type. - WantsZeroConf bool `protobuf:"varint,15,opt,name=wants_zero_conf,json=wantsZeroConf,proto3" json:"wants_zero_conf,omitempty"` - // Whether the initiator wants to use the scid-alias channel type. This is - // separate from the feature bit. - WantsScidAlias bool `protobuf:"varint,16,opt,name=wants_scid_alias,json=wantsScidAlias,proto3" json:"wants_scid_alias,omitempty"` -} - -func (x *ChannelAcceptRequest) Reset() { - *x = ChannelAcceptRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelAcceptRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelAcceptRequest) ProtoMessage() {} - -func (x *ChannelAcceptRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelAcceptRequest.ProtoReflect.Descriptor instead. -func (*ChannelAcceptRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{13} -} - -func (x *ChannelAcceptRequest) GetNodePubkey() []byte { - if x != nil { - return x.NodePubkey - } - return nil -} - -func (x *ChannelAcceptRequest) GetChainHash() []byte { - if x != nil { - return x.ChainHash - } - return nil -} - -func (x *ChannelAcceptRequest) GetPendingChanId() []byte { - if x != nil { - return x.PendingChanId - } - return nil -} - -func (x *ChannelAcceptRequest) GetFundingAmt() uint64 { - if x != nil { - return x.FundingAmt - } - return 0 -} - -func (x *ChannelAcceptRequest) GetPushAmt() uint64 { - if x != nil { - return x.PushAmt - } - return 0 -} - -func (x *ChannelAcceptRequest) GetDustLimit() uint64 { - if x != nil { - return x.DustLimit - } - return 0 -} - -func (x *ChannelAcceptRequest) GetMaxValueInFlight() uint64 { - if x != nil { - return x.MaxValueInFlight - } - return 0 -} - -func (x *ChannelAcceptRequest) GetChannelReserve() uint64 { - if x != nil { - return x.ChannelReserve - } - return 0 -} - -func (x *ChannelAcceptRequest) GetMinHtlc() uint64 { - if x != nil { - return x.MinHtlc - } - return 0 -} - -func (x *ChannelAcceptRequest) GetFeePerKw() uint64 { - if x != nil { - return x.FeePerKw - } - return 0 -} - -func (x *ChannelAcceptRequest) GetCsvDelay() uint32 { - if x != nil { - return x.CsvDelay - } - return 0 -} - -func (x *ChannelAcceptRequest) GetMaxAcceptedHtlcs() uint32 { - if x != nil { - return x.MaxAcceptedHtlcs - } - return 0 -} - -func (x *ChannelAcceptRequest) GetChannelFlags() uint32 { - if x != nil { - return x.ChannelFlags - } - return 0 -} - -func (x *ChannelAcceptRequest) GetCommitmentType() CommitmentType { - if x != nil { - return x.CommitmentType - } - return CommitmentType_UNKNOWN_COMMITMENT_TYPE -} - -func (x *ChannelAcceptRequest) GetWantsZeroConf() bool { - if x != nil { - return x.WantsZeroConf - } - return false -} - -func (x *ChannelAcceptRequest) GetWantsScidAlias() bool { - if x != nil { - return x.WantsScidAlias - } - return false -} - -type ChannelAcceptResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Whether or not the client accepts the channel. - Accept bool `protobuf:"varint,1,opt,name=accept,proto3" json:"accept,omitempty"` - // The pending channel id to which this response applies. - PendingChanId []byte `protobuf:"bytes,2,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` - // An optional error to send the initiating party to indicate why the channel - // was rejected. This field *should not* contain sensitive information, it will - // be sent to the initiating party. This field should only be set if accept is - // false, the channel will be rejected if an error is set with accept=true - // because the meaning of this response is ambiguous. Limited to 500 - // characters. - Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` - // The upfront shutdown address to use if the initiating peer supports option - // upfront shutdown script (see ListPeers for the features supported). Note - // that the channel open will fail if this value is set for a peer that does - // not support this feature bit. - UpfrontShutdown string `protobuf:"bytes,4,opt,name=upfront_shutdown,json=upfrontShutdown,proto3" json:"upfront_shutdown,omitempty"` - // The csv delay (in blocks) that we require for the remote party. - CsvDelay uint32 `protobuf:"varint,5,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"` - // The reserve amount in satoshis that we require the remote peer to adhere to. - // We require that the remote peer always have some reserve amount allocated to - // them so that there is always a disincentive to broadcast old state (if they - // hold 0 sats on their side of the channel, there is nothing to lose). - ReserveSat uint64 `protobuf:"varint,6,opt,name=reserve_sat,json=reserveSat,proto3" json:"reserve_sat,omitempty"` - // The maximum amount of funds in millisatoshis that we allow the remote peer - // to have in outstanding htlcs. - InFlightMaxMsat uint64 `protobuf:"varint,7,opt,name=in_flight_max_msat,json=inFlightMaxMsat,proto3" json:"in_flight_max_msat,omitempty"` - // The maximum number of htlcs that the remote peer can offer us. - MaxHtlcCount uint32 `protobuf:"varint,8,opt,name=max_htlc_count,json=maxHtlcCount,proto3" json:"max_htlc_count,omitempty"` - // The minimum value in millisatoshis for incoming htlcs on the channel. - MinHtlcIn uint64 `protobuf:"varint,9,opt,name=min_htlc_in,json=minHtlcIn,proto3" json:"min_htlc_in,omitempty"` - // The number of confirmations we require before we consider the channel open. - MinAcceptDepth uint32 `protobuf:"varint,10,opt,name=min_accept_depth,json=minAcceptDepth,proto3" json:"min_accept_depth,omitempty"` - // Whether the responder wants this to be a zero-conf channel. This will fail - // if either side does not have the scid-alias feature bit set. The minimum - // depth field must be zero if this is true. - ZeroConf bool `protobuf:"varint,11,opt,name=zero_conf,json=zeroConf,proto3" json:"zero_conf,omitempty"` -} - -func (x *ChannelAcceptResponse) Reset() { - *x = ChannelAcceptResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelAcceptResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelAcceptResponse) ProtoMessage() {} - -func (x *ChannelAcceptResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelAcceptResponse.ProtoReflect.Descriptor instead. -func (*ChannelAcceptResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{14} -} - -func (x *ChannelAcceptResponse) GetAccept() bool { - if x != nil { - return x.Accept - } - return false -} - -func (x *ChannelAcceptResponse) GetPendingChanId() []byte { - if x != nil { - return x.PendingChanId - } - return nil -} - -func (x *ChannelAcceptResponse) GetError() string { - if x != nil { - return x.Error - } - return "" -} - -func (x *ChannelAcceptResponse) GetUpfrontShutdown() string { - if x != nil { - return x.UpfrontShutdown - } - return "" -} - -func (x *ChannelAcceptResponse) GetCsvDelay() uint32 { - if x != nil { - return x.CsvDelay - } - return 0 -} - -func (x *ChannelAcceptResponse) GetReserveSat() uint64 { - if x != nil { - return x.ReserveSat - } - return 0 -} - -func (x *ChannelAcceptResponse) GetInFlightMaxMsat() uint64 { - if x != nil { - return x.InFlightMaxMsat - } - return 0 -} - -func (x *ChannelAcceptResponse) GetMaxHtlcCount() uint32 { - if x != nil { - return x.MaxHtlcCount - } - return 0 -} - -func (x *ChannelAcceptResponse) GetMinHtlcIn() uint64 { - if x != nil { - return x.MinHtlcIn - } - return 0 -} - -func (x *ChannelAcceptResponse) GetMinAcceptDepth() uint32 { - if x != nil { - return x.MinAcceptDepth - } - return 0 -} - -func (x *ChannelAcceptResponse) GetZeroConf() bool { - if x != nil { - return x.ZeroConf - } - return false -} - -type ChannelPoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to FundingTxid: - // - // *ChannelPoint_FundingTxidBytes - // *ChannelPoint_FundingTxidStr - FundingTxid isChannelPoint_FundingTxid `protobuf_oneof:"funding_txid"` - // The index of the output of the funding transaction - OutputIndex uint32 `protobuf:"varint,3,opt,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"` -} - -func (x *ChannelPoint) Reset() { - *x = ChannelPoint{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelPoint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelPoint) ProtoMessage() {} - -func (x *ChannelPoint) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelPoint.ProtoReflect.Descriptor instead. -func (*ChannelPoint) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{15} -} - -func (m *ChannelPoint) GetFundingTxid() isChannelPoint_FundingTxid { - if m != nil { - return m.FundingTxid - } - return nil -} - -func (x *ChannelPoint) GetFundingTxidBytes() []byte { - if x, ok := x.GetFundingTxid().(*ChannelPoint_FundingTxidBytes); ok { - return x.FundingTxidBytes - } - return nil -} - -func (x *ChannelPoint) GetFundingTxidStr() string { - if x, ok := x.GetFundingTxid().(*ChannelPoint_FundingTxidStr); ok { - return x.FundingTxidStr - } - return "" -} - -func (x *ChannelPoint) GetOutputIndex() uint32 { - if x != nil { - return x.OutputIndex - } - return 0 -} - -type isChannelPoint_FundingTxid interface { - isChannelPoint_FundingTxid() -} - -type ChannelPoint_FundingTxidBytes struct { - // Txid of the funding transaction. When using REST, this field must be - // encoded as base64. - FundingTxidBytes []byte `protobuf:"bytes,1,opt,name=funding_txid_bytes,json=fundingTxidBytes,proto3,oneof"` -} - -type ChannelPoint_FundingTxidStr struct { - // Hex-encoded string representing the byte-reversed hash of the funding - // transaction. - FundingTxidStr string `protobuf:"bytes,2,opt,name=funding_txid_str,json=fundingTxidStr,proto3,oneof"` -} - -func (*ChannelPoint_FundingTxidBytes) isChannelPoint_FundingTxid() {} - -func (*ChannelPoint_FundingTxidStr) isChannelPoint_FundingTxid() {} - -type OutPoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Raw bytes representing the transaction id. - TxidBytes []byte `protobuf:"bytes,1,opt,name=txid_bytes,json=txidBytes,proto3" json:"txid_bytes,omitempty"` - // Reversed, hex-encoded string representing the transaction id. - TxidStr string `protobuf:"bytes,2,opt,name=txid_str,json=txidStr,proto3" json:"txid_str,omitempty"` - // The index of the output on the transaction. - OutputIndex uint32 `protobuf:"varint,3,opt,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"` -} - -func (x *OutPoint) Reset() { - *x = OutPoint{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OutPoint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OutPoint) ProtoMessage() {} - -func (x *OutPoint) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OutPoint.ProtoReflect.Descriptor instead. -func (*OutPoint) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{16} -} - -func (x *OutPoint) GetTxidBytes() []byte { - if x != nil { - return x.TxidBytes - } - return nil -} - -func (x *OutPoint) GetTxidStr() string { - if x != nil { - return x.TxidStr - } - return "" -} - -func (x *OutPoint) GetOutputIndex() uint32 { - if x != nil { - return x.OutputIndex - } - return 0 -} - -type PreviousOutPoint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The outpoint in format txid:n. - Outpoint string `protobuf:"bytes,1,opt,name=outpoint,proto3" json:"outpoint,omitempty"` - // Denotes if the outpoint is controlled by the internal wallet. - // The flag will only detect p2wkh, np2wkh and p2tr inputs as its own. - IsOurOutput bool `protobuf:"varint,2,opt,name=is_our_output,json=isOurOutput,proto3" json:"is_our_output,omitempty"` -} - -func (x *PreviousOutPoint) Reset() { - *x = PreviousOutPoint{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PreviousOutPoint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PreviousOutPoint) ProtoMessage() {} - -func (x *PreviousOutPoint) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PreviousOutPoint.ProtoReflect.Descriptor instead. -func (*PreviousOutPoint) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{17} -} - -func (x *PreviousOutPoint) GetOutpoint() string { - if x != nil { - return x.Outpoint - } - return "" -} - -func (x *PreviousOutPoint) GetIsOurOutput() bool { - if x != nil { - return x.IsOurOutput - } - return false -} - -type LightningAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The identity pubkey of the Lightning node. - Pubkey string `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` - // The network location of the lightning node, e.g. `69.69.69.69:1337` or - // `localhost:10011`. - Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"` -} - -func (x *LightningAddress) Reset() { - *x = LightningAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LightningAddress) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LightningAddress) ProtoMessage() {} - -func (x *LightningAddress) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LightningAddress.ProtoReflect.Descriptor instead. -func (*LightningAddress) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{18} -} - -func (x *LightningAddress) GetPubkey() string { - if x != nil { - return x.Pubkey - } - return "" -} - -func (x *LightningAddress) GetHost() string { - if x != nil { - return x.Host - } - return "" -} - -type EstimateFeeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The map from addresses to amounts for the transaction. - 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"` - // The target number of blocks that this transaction should be confirmed - // by. - TargetConf int32 `protobuf:"varint,2,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` - // The minimum number of confirmations each one of your outputs used for - // the transaction must satisfy. - MinConfs int32 `protobuf:"varint,3,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` - // Whether unconfirmed outputs should be used as inputs for the transaction. - SpendUnconfirmed bool `protobuf:"varint,4,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"` -} - -func (x *EstimateFeeRequest) Reset() { - *x = EstimateFeeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EstimateFeeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EstimateFeeRequest) ProtoMessage() {} - -func (x *EstimateFeeRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EstimateFeeRequest.ProtoReflect.Descriptor instead. -func (*EstimateFeeRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{19} -} - -func (x *EstimateFeeRequest) GetAddrToAmount() map[string]int64 { - if x != nil { - return x.AddrToAmount - } - return nil -} - -func (x *EstimateFeeRequest) GetTargetConf() int32 { - if x != nil { - return x.TargetConf - } - return 0 -} - -func (x *EstimateFeeRequest) GetMinConfs() int32 { - if x != nil { - return x.MinConfs - } - return 0 -} - -func (x *EstimateFeeRequest) GetSpendUnconfirmed() bool { - if x != nil { - return x.SpendUnconfirmed - } - return false -} - -type EstimateFeeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The total fee in satoshis. - FeeSat int64 `protobuf:"varint,1,opt,name=fee_sat,json=feeSat,proto3" json:"fee_sat,omitempty"` - // Deprecated, use sat_per_vbyte. - // The fee rate in satoshi/vbyte. - // - // Deprecated: Do not use. - FeerateSatPerByte int64 `protobuf:"varint,2,opt,name=feerate_sat_per_byte,json=feerateSatPerByte,proto3" json:"feerate_sat_per_byte,omitempty"` - // The fee rate in satoshi/vbyte. - SatPerVbyte uint64 `protobuf:"varint,3,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` -} - -func (x *EstimateFeeResponse) Reset() { - *x = EstimateFeeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EstimateFeeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EstimateFeeResponse) ProtoMessage() {} - -func (x *EstimateFeeResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EstimateFeeResponse.ProtoReflect.Descriptor instead. -func (*EstimateFeeResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{20} -} - -func (x *EstimateFeeResponse) GetFeeSat() int64 { - if x != nil { - return x.FeeSat - } - return 0 -} - -// Deprecated: Do not use. -func (x *EstimateFeeResponse) GetFeerateSatPerByte() int64 { - if x != nil { - return x.FeerateSatPerByte - } - return 0 -} - -func (x *EstimateFeeResponse) GetSatPerVbyte() uint64 { - if x != nil { - return x.SatPerVbyte - } - return 0 -} - -type SendManyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The map from addresses to amounts - 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"` - // The target number of blocks that this transaction should be confirmed - // by. - TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` - // A manual fee rate set in sat/vbyte that should be used when crafting the - // transaction. - SatPerVbyte uint64 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` - // Deprecated, use sat_per_vbyte. - // A manual fee rate set in sat/vbyte that should be used when crafting the - // transaction. - // - // Deprecated: Do not use. - SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` - // An optional label for the transaction, limited to 500 characters. - Label string `protobuf:"bytes,6,opt,name=label,proto3" json:"label,omitempty"` - // The minimum number of confirmations each one of your outputs used for - // the transaction must satisfy. - MinConfs int32 `protobuf:"varint,7,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` - // Whether unconfirmed outputs should be used as inputs for the transaction. - SpendUnconfirmed bool `protobuf:"varint,8,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"` -} - -func (x *SendManyRequest) Reset() { - *x = SendManyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendManyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendManyRequest) ProtoMessage() {} - -func (x *SendManyRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendManyRequest.ProtoReflect.Descriptor instead. -func (*SendManyRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{21} -} - -func (x *SendManyRequest) GetAddrToAmount() map[string]int64 { - if x != nil { - return x.AddrToAmount - } - return nil -} - -func (x *SendManyRequest) GetTargetConf() int32 { - if x != nil { - return x.TargetConf - } - return 0 -} - -func (x *SendManyRequest) GetSatPerVbyte() uint64 { - if x != nil { - return x.SatPerVbyte - } - return 0 -} - -// Deprecated: Do not use. -func (x *SendManyRequest) GetSatPerByte() int64 { - if x != nil { - return x.SatPerByte - } - return 0 -} - -func (x *SendManyRequest) GetLabel() string { - if x != nil { - return x.Label - } - return "" -} - -func (x *SendManyRequest) GetMinConfs() int32 { - if x != nil { - return x.MinConfs - } - return 0 -} - -func (x *SendManyRequest) GetSpendUnconfirmed() bool { - if x != nil { - return x.SpendUnconfirmed - } - return false -} - -type SendManyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The id of the transaction - Txid string `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` -} - -func (x *SendManyResponse) Reset() { - *x = SendManyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendManyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendManyResponse) ProtoMessage() {} - -func (x *SendManyResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendManyResponse.ProtoReflect.Descriptor instead. -func (*SendManyResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{22} -} - -func (x *SendManyResponse) GetTxid() string { - if x != nil { - return x.Txid - } - return "" -} - -type SendCoinsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The address to send coins to - Addr string `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` - // The amount in satoshis to send - Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` - // The target number of blocks that this transaction should be confirmed - // by. - TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` - // A manual fee rate set in sat/vbyte that should be used when crafting the - // transaction. - SatPerVbyte uint64 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` - // Deprecated, use sat_per_vbyte. - // A manual fee rate set in sat/vbyte that should be used when crafting the - // transaction. - // - // Deprecated: Do not use. - SatPerByte int64 `protobuf:"varint,5,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` - // If set, then the amount field will be ignored, and lnd will attempt to - // send all the coins under control of the internal wallet to the specified - // address. - SendAll bool `protobuf:"varint,6,opt,name=send_all,json=sendAll,proto3" json:"send_all,omitempty"` - // An optional label for the transaction, limited to 500 characters. - Label string `protobuf:"bytes,7,opt,name=label,proto3" json:"label,omitempty"` - // The minimum number of confirmations each one of your outputs used for - // the transaction must satisfy. - MinConfs int32 `protobuf:"varint,8,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` - // Whether unconfirmed outputs should be used as inputs for the transaction. - SpendUnconfirmed bool `protobuf:"varint,9,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"` -} - -func (x *SendCoinsRequest) Reset() { - *x = SendCoinsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendCoinsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendCoinsRequest) ProtoMessage() {} - -func (x *SendCoinsRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendCoinsRequest.ProtoReflect.Descriptor instead. -func (*SendCoinsRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{23} -} - -func (x *SendCoinsRequest) GetAddr() string { - if x != nil { - return x.Addr - } - return "" -} - -func (x *SendCoinsRequest) GetAmount() int64 { - if x != nil { - return x.Amount - } - return 0 -} - -func (x *SendCoinsRequest) GetTargetConf() int32 { - if x != nil { - return x.TargetConf - } - return 0 -} - -func (x *SendCoinsRequest) GetSatPerVbyte() uint64 { - if x != nil { - return x.SatPerVbyte - } - return 0 -} - -// Deprecated: Do not use. -func (x *SendCoinsRequest) GetSatPerByte() int64 { - if x != nil { - return x.SatPerByte - } - return 0 -} - -func (x *SendCoinsRequest) GetSendAll() bool { - if x != nil { - return x.SendAll - } - return false -} - -func (x *SendCoinsRequest) GetLabel() string { - if x != nil { - return x.Label - } - return "" -} - -func (x *SendCoinsRequest) GetMinConfs() int32 { - if x != nil { - return x.MinConfs - } - return 0 -} - -func (x *SendCoinsRequest) GetSpendUnconfirmed() bool { - if x != nil { - return x.SpendUnconfirmed - } - return false -} - -type SendCoinsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The transaction ID of the transaction - Txid string `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` -} - -func (x *SendCoinsResponse) Reset() { - *x = SendCoinsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SendCoinsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SendCoinsResponse) ProtoMessage() {} - -func (x *SendCoinsResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SendCoinsResponse.ProtoReflect.Descriptor instead. -func (*SendCoinsResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{24} -} - -func (x *SendCoinsResponse) GetTxid() string { - if x != nil { - return x.Txid - } - return "" -} - -type ListUnspentRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The minimum number of confirmations to be included. - MinConfs int32 `protobuf:"varint,1,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` - // The maximum number of confirmations to be included. - MaxConfs int32 `protobuf:"varint,2,opt,name=max_confs,json=maxConfs,proto3" json:"max_confs,omitempty"` - // An optional filter to only include outputs belonging to an account. - Account string `protobuf:"bytes,3,opt,name=account,proto3" json:"account,omitempty"` -} - -func (x *ListUnspentRequest) Reset() { - *x = ListUnspentRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListUnspentRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListUnspentRequest) ProtoMessage() {} - -func (x *ListUnspentRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListUnspentRequest.ProtoReflect.Descriptor instead. -func (*ListUnspentRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{25} -} - -func (x *ListUnspentRequest) GetMinConfs() int32 { - if x != nil { - return x.MinConfs - } - return 0 -} - -func (x *ListUnspentRequest) GetMaxConfs() int32 { - if x != nil { - return x.MaxConfs - } - return 0 -} - -func (x *ListUnspentRequest) GetAccount() string { - if x != nil { - return x.Account - } - return "" -} - -type ListUnspentResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A list of utxos - Utxos []*Utxo `protobuf:"bytes,1,rep,name=utxos,proto3" json:"utxos,omitempty"` -} - -func (x *ListUnspentResponse) Reset() { - *x = ListUnspentResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListUnspentResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListUnspentResponse) ProtoMessage() {} - -func (x *ListUnspentResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[26] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListUnspentResponse.ProtoReflect.Descriptor instead. -func (*ListUnspentResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{26} -} - -func (x *ListUnspentResponse) GetUtxos() []*Utxo { - if x != nil { - return x.Utxos - } - return nil -} - -type NewAddressRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The type of address to generate. - Type AddressType `protobuf:"varint,1,opt,name=type,proto3,enum=lnrpc.AddressType" json:"type,omitempty"` - // The name of the account to generate a new address for. If empty, the - // default wallet account is used. - Account string `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"` -} - -func (x *NewAddressRequest) Reset() { - *x = NewAddressRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewAddressRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewAddressRequest) ProtoMessage() {} - -func (x *NewAddressRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[27] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewAddressRequest.ProtoReflect.Descriptor instead. -func (*NewAddressRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{27} -} - -func (x *NewAddressRequest) GetType() AddressType { - if x != nil { - return x.Type - } - return AddressType_WITNESS_PUBKEY_HASH -} - -func (x *NewAddressRequest) GetAccount() string { - if x != nil { - return x.Account - } - return "" -} - -type NewAddressResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The newly generated wallet address - Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` -} - -func (x *NewAddressResponse) Reset() { - *x = NewAddressResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NewAddressResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NewAddressResponse) ProtoMessage() {} - -func (x *NewAddressResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[28] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NewAddressResponse.ProtoReflect.Descriptor instead. -func (*NewAddressResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{28} -} - -func (x *NewAddressResponse) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -type SignMessageRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The message to be signed. When using REST, this field must be encoded as - // base64. - Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` - // Instead of the default double-SHA256 hashing of the message before signing, - // only use one round of hashing instead. - SingleHash bool `protobuf:"varint,2,opt,name=single_hash,json=singleHash,proto3" json:"single_hash,omitempty"` -} - -func (x *SignMessageRequest) Reset() { - *x = SignMessageRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SignMessageRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SignMessageRequest) ProtoMessage() {} - -func (x *SignMessageRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[29] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SignMessageRequest.ProtoReflect.Descriptor instead. -func (*SignMessageRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{29} -} - -func (x *SignMessageRequest) GetMsg() []byte { - if x != nil { - return x.Msg - } - return nil -} - -func (x *SignMessageRequest) GetSingleHash() bool { - if x != nil { - return x.SingleHash - } - return false -} - -type SignMessageResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The signature for the given message - Signature string `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` -} - -func (x *SignMessageResponse) Reset() { - *x = SignMessageResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SignMessageResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SignMessageResponse) ProtoMessage() {} - -func (x *SignMessageResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[30] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SignMessageResponse.ProtoReflect.Descriptor instead. -func (*SignMessageResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{30} -} - -func (x *SignMessageResponse) GetSignature() string { - if x != nil { - return x.Signature - } - return "" -} - -type VerifyMessageRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The message over which the signature is to be verified. When using REST, - // this field must be encoded as base64. - Msg []byte `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg,omitempty"` - // The signature to be verified over the given message - Signature string `protobuf:"bytes,2,opt,name=signature,proto3" json:"signature,omitempty"` -} - -func (x *VerifyMessageRequest) Reset() { - *x = VerifyMessageRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VerifyMessageRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VerifyMessageRequest) ProtoMessage() {} - -func (x *VerifyMessageRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[31] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VerifyMessageRequest.ProtoReflect.Descriptor instead. -func (*VerifyMessageRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{31} -} - -func (x *VerifyMessageRequest) GetMsg() []byte { - if x != nil { - return x.Msg - } - return nil -} - -func (x *VerifyMessageRequest) GetSignature() string { - if x != nil { - return x.Signature - } - return "" -} - -type VerifyMessageResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Whether the signature was valid over the given message - Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` - // The pubkey recovered from the signature - Pubkey string `protobuf:"bytes,2,opt,name=pubkey,proto3" json:"pubkey,omitempty"` -} - -func (x *VerifyMessageResponse) Reset() { - *x = VerifyMessageResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VerifyMessageResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VerifyMessageResponse) ProtoMessage() {} - -func (x *VerifyMessageResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[32] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VerifyMessageResponse.ProtoReflect.Descriptor instead. -func (*VerifyMessageResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{32} -} - -func (x *VerifyMessageResponse) GetValid() bool { - if x != nil { - return x.Valid - } - return false -} - -func (x *VerifyMessageResponse) GetPubkey() string { - if x != nil { - return x.Pubkey - } - return "" -} - -type ConnectPeerRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Lightning address of the peer to connect to. - Addr *LightningAddress `protobuf:"bytes,1,opt,name=addr,proto3" json:"addr,omitempty"` - // If set, the daemon will attempt to persistently connect to the target - // peer. Otherwise, the call will be synchronous. - Perm bool `protobuf:"varint,2,opt,name=perm,proto3" json:"perm,omitempty"` - // The connection timeout value (in seconds) for this request. It won't affect - // other requests. - Timeout uint64 `protobuf:"varint,3,opt,name=timeout,proto3" json:"timeout,omitempty"` -} - -func (x *ConnectPeerRequest) Reset() { - *x = ConnectPeerRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ConnectPeerRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConnectPeerRequest) ProtoMessage() {} - -func (x *ConnectPeerRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[33] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConnectPeerRequest.ProtoReflect.Descriptor instead. -func (*ConnectPeerRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{33} -} - -func (x *ConnectPeerRequest) GetAddr() *LightningAddress { - if x != nil { - return x.Addr - } - return nil -} - -func (x *ConnectPeerRequest) GetPerm() bool { - if x != nil { - return x.Perm - } - return false -} - -func (x *ConnectPeerRequest) GetTimeout() uint64 { - if x != nil { - return x.Timeout - } - return 0 -} - -type ConnectPeerResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ConnectPeerResponse) Reset() { - *x = ConnectPeerResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ConnectPeerResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConnectPeerResponse) ProtoMessage() {} - -func (x *ConnectPeerResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[34] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConnectPeerResponse.ProtoReflect.Descriptor instead. -func (*ConnectPeerResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{34} -} - -type DisconnectPeerRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The pubkey of the node to disconnect from - PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` -} - -func (x *DisconnectPeerRequest) Reset() { - *x = DisconnectPeerRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DisconnectPeerRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DisconnectPeerRequest) ProtoMessage() {} - -func (x *DisconnectPeerRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[35] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DisconnectPeerRequest.ProtoReflect.Descriptor instead. -func (*DisconnectPeerRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{35} -} - -func (x *DisconnectPeerRequest) GetPubKey() string { - if x != nil { - return x.PubKey - } - return "" -} - -type DisconnectPeerResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DisconnectPeerResponse) Reset() { - *x = DisconnectPeerResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DisconnectPeerResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DisconnectPeerResponse) ProtoMessage() {} - -func (x *DisconnectPeerResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[36] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DisconnectPeerResponse.ProtoReflect.Descriptor instead. -func (*DisconnectPeerResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{36} -} - -type HTLC struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Incoming bool `protobuf:"varint,1,opt,name=incoming,proto3" json:"incoming,omitempty"` - Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` - HashLock []byte `protobuf:"bytes,3,opt,name=hash_lock,json=hashLock,proto3" json:"hash_lock,omitempty"` - ExpirationHeight uint32 `protobuf:"varint,4,opt,name=expiration_height,json=expirationHeight,proto3" json:"expiration_height,omitempty"` - // Index identifying the htlc on the channel. - HtlcIndex uint64 `protobuf:"varint,5,opt,name=htlc_index,json=htlcIndex,proto3" json:"htlc_index,omitempty"` - // If this HTLC is involved in a forwarding operation, this field indicates - // the forwarding channel. For an outgoing htlc, it is the incoming channel. - // For an incoming htlc, it is the outgoing channel. When the htlc - // originates from this node or this node is the final destination, - // forwarding_channel will be zero. The forwarding channel will also be zero - // for htlcs that need to be forwarded but don't have a forwarding decision - // persisted yet. - ForwardingChannel uint64 `protobuf:"varint,6,opt,name=forwarding_channel,json=forwardingChannel,proto3" json:"forwarding_channel,omitempty"` - // Index identifying the htlc on the forwarding channel. - ForwardingHtlcIndex uint64 `protobuf:"varint,7,opt,name=forwarding_htlc_index,json=forwardingHtlcIndex,proto3" json:"forwarding_htlc_index,omitempty"` -} - -func (x *HTLC) Reset() { - *x = HTLC{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HTLC) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HTLC) ProtoMessage() {} - -func (x *HTLC) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HTLC.ProtoReflect.Descriptor instead. -func (*HTLC) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{37} -} - -func (x *HTLC) GetIncoming() bool { - if x != nil { - return x.Incoming - } - return false -} - -func (x *HTLC) GetAmount() int64 { - if x != nil { - return x.Amount - } - return 0 -} - -func (x *HTLC) GetHashLock() []byte { - if x != nil { - return x.HashLock - } - return nil -} - -func (x *HTLC) GetExpirationHeight() uint32 { - if x != nil { - return x.ExpirationHeight - } - return 0 -} - -func (x *HTLC) GetHtlcIndex() uint64 { - if x != nil { - return x.HtlcIndex - } - return 0 -} - -func (x *HTLC) GetForwardingChannel() uint64 { - if x != nil { - return x.ForwardingChannel - } - return 0 -} - -func (x *HTLC) GetForwardingHtlcIndex() uint64 { - if x != nil { - return x.ForwardingHtlcIndex - } - return 0 -} - -type ChannelConstraints struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The CSV delay expressed in relative blocks. If the channel is force closed, - // we will need to wait for this many blocks before we can regain our funds. - CsvDelay uint32 `protobuf:"varint,1,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"` - // The minimum satoshis this node is required to reserve in its balance. - ChanReserveSat uint64 `protobuf:"varint,2,opt,name=chan_reserve_sat,json=chanReserveSat,proto3" json:"chan_reserve_sat,omitempty"` - // The dust limit (in satoshis) of the initiator's commitment tx. - DustLimitSat uint64 `protobuf:"varint,3,opt,name=dust_limit_sat,json=dustLimitSat,proto3" json:"dust_limit_sat,omitempty"` - // The maximum amount of coins in millisatoshis that can be pending in this - // channel. - MaxPendingAmtMsat uint64 `protobuf:"varint,4,opt,name=max_pending_amt_msat,json=maxPendingAmtMsat,proto3" json:"max_pending_amt_msat,omitempty"` - // The smallest HTLC in millisatoshis that the initiator will accept. - MinHtlcMsat uint64 `protobuf:"varint,5,opt,name=min_htlc_msat,json=minHtlcMsat,proto3" json:"min_htlc_msat,omitempty"` - // The total number of incoming HTLC's that the initiator will accept. - MaxAcceptedHtlcs uint32 `protobuf:"varint,6,opt,name=max_accepted_htlcs,json=maxAcceptedHtlcs,proto3" json:"max_accepted_htlcs,omitempty"` -} - -func (x *ChannelConstraints) Reset() { - *x = ChannelConstraints{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelConstraints) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelConstraints) ProtoMessage() {} - -func (x *ChannelConstraints) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[38] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelConstraints.ProtoReflect.Descriptor instead. -func (*ChannelConstraints) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{38} -} - -func (x *ChannelConstraints) GetCsvDelay() uint32 { - if x != nil { - return x.CsvDelay - } - return 0 -} - -func (x *ChannelConstraints) GetChanReserveSat() uint64 { - if x != nil { - return x.ChanReserveSat - } - return 0 -} - -func (x *ChannelConstraints) GetDustLimitSat() uint64 { - if x != nil { - return x.DustLimitSat - } - return 0 -} - -func (x *ChannelConstraints) GetMaxPendingAmtMsat() uint64 { - if x != nil { - return x.MaxPendingAmtMsat - } - return 0 -} - -func (x *ChannelConstraints) GetMinHtlcMsat() uint64 { - if x != nil { - return x.MinHtlcMsat - } - return 0 -} - -func (x *ChannelConstraints) GetMaxAcceptedHtlcs() uint32 { - if x != nil { - return x.MaxAcceptedHtlcs - } - return 0 -} - -type Channel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Whether this channel is active or not - Active bool `protobuf:"varint,1,opt,name=active,proto3" json:"active,omitempty"` - // The identity pubkey of the remote node - RemotePubkey string `protobuf:"bytes,2,opt,name=remote_pubkey,json=remotePubkey,proto3" json:"remote_pubkey,omitempty"` - // The outpoint (txid:index) of the funding transaction. With this value, Bob - // will be able to generate a signature for Alice's version of the commitment - // transaction. - ChannelPoint string `protobuf:"bytes,3,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` - // The unique channel ID for the channel. The first 3 bytes are the block - // height, the next 3 the index within the block, and the last 2 bytes are the - // output index for the channel. - ChanId uint64 `protobuf:"varint,4,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` - // The total amount of funds held in this channel - Capacity int64 `protobuf:"varint,5,opt,name=capacity,proto3" json:"capacity,omitempty"` - // This node's current balance in this channel - LocalBalance int64 `protobuf:"varint,6,opt,name=local_balance,json=localBalance,proto3" json:"local_balance,omitempty"` - // The counterparty's current balance in this channel - RemoteBalance int64 `protobuf:"varint,7,opt,name=remote_balance,json=remoteBalance,proto3" json:"remote_balance,omitempty"` - // The amount calculated to be paid in fees for the current set of commitment - // transactions. The fee amount is persisted with the channel in order to - // allow the fee amount to be removed and recalculated with each channel state - // update, including updates that happen after a system restart. - CommitFee int64 `protobuf:"varint,8,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee,omitempty"` - // The weight of the commitment transaction - CommitWeight int64 `protobuf:"varint,9,opt,name=commit_weight,json=commitWeight,proto3" json:"commit_weight,omitempty"` - // The required number of satoshis per kilo-weight that the requester will pay - // at all times, for both the funding transaction and commitment transaction. - // This value can later be updated once the channel is open. - FeePerKw int64 `protobuf:"varint,10,opt,name=fee_per_kw,json=feePerKw,proto3" json:"fee_per_kw,omitempty"` - // The unsettled balance in this channel - UnsettledBalance int64 `protobuf:"varint,11,opt,name=unsettled_balance,json=unsettledBalance,proto3" json:"unsettled_balance,omitempty"` - // The total number of satoshis we've sent within this channel. - TotalSatoshisSent int64 `protobuf:"varint,12,opt,name=total_satoshis_sent,json=totalSatoshisSent,proto3" json:"total_satoshis_sent,omitempty"` - // The total number of satoshis we've received within this channel. - TotalSatoshisReceived int64 `protobuf:"varint,13,opt,name=total_satoshis_received,json=totalSatoshisReceived,proto3" json:"total_satoshis_received,omitempty"` - // The total number of updates conducted within this channel. - NumUpdates uint64 `protobuf:"varint,14,opt,name=num_updates,json=numUpdates,proto3" json:"num_updates,omitempty"` - // The list of active, uncleared HTLCs currently pending within the channel. - PendingHtlcs []*HTLC `protobuf:"bytes,15,rep,name=pending_htlcs,json=pendingHtlcs,proto3" json:"pending_htlcs,omitempty"` - // Deprecated. The CSV delay expressed in relative blocks. If the channel is - // force closed, we will need to wait for this many blocks before we can regain - // our funds. - // - // Deprecated: Do not use. - CsvDelay uint32 `protobuf:"varint,16,opt,name=csv_delay,json=csvDelay,proto3" json:"csv_delay,omitempty"` - // Whether this channel is advertised to the network or not. - Private bool `protobuf:"varint,17,opt,name=private,proto3" json:"private,omitempty"` - // True if we were the ones that created the channel. - Initiator bool `protobuf:"varint,18,opt,name=initiator,proto3" json:"initiator,omitempty"` - // A set of flags showing the current state of the channel. - ChanStatusFlags string `protobuf:"bytes,19,opt,name=chan_status_flags,json=chanStatusFlags,proto3" json:"chan_status_flags,omitempty"` - // Deprecated. The minimum satoshis this node is required to reserve in its - // balance. - // - // Deprecated: Do not use. - LocalChanReserveSat int64 `protobuf:"varint,20,opt,name=local_chan_reserve_sat,json=localChanReserveSat,proto3" json:"local_chan_reserve_sat,omitempty"` - // Deprecated. The minimum satoshis the other node is required to reserve in - // its balance. - // - // Deprecated: Do not use. - RemoteChanReserveSat int64 `protobuf:"varint,21,opt,name=remote_chan_reserve_sat,json=remoteChanReserveSat,proto3" json:"remote_chan_reserve_sat,omitempty"` - // Deprecated. Use commitment_type. - // - // Deprecated: Do not use. - StaticRemoteKey bool `protobuf:"varint,22,opt,name=static_remote_key,json=staticRemoteKey,proto3" json:"static_remote_key,omitempty"` - // The commitment type used by this channel. - CommitmentType CommitmentType `protobuf:"varint,26,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"` - // The number of seconds that the channel has been monitored by the channel - // scoring system. Scores are currently not persisted, so this value may be - // less than the lifetime of the channel [EXPERIMENTAL]. - Lifetime int64 `protobuf:"varint,23,opt,name=lifetime,proto3" json:"lifetime,omitempty"` - // The number of seconds that the remote peer has been observed as being online - // by the channel scoring system over the lifetime of the channel - // [EXPERIMENTAL]. - Uptime int64 `protobuf:"varint,24,opt,name=uptime,proto3" json:"uptime,omitempty"` - // Close address is the address that we will enforce payout to on cooperative - // close if the channel was opened utilizing option upfront shutdown. This - // value can be set on channel open by setting close_address in an open channel - // request. If this value is not set, you can still choose a payout address by - // cooperatively closing with the delivery_address field set. - CloseAddress string `protobuf:"bytes,25,opt,name=close_address,json=closeAddress,proto3" json:"close_address,omitempty"` - // The amount that the initiator of the channel optionally pushed to the remote - // party on channel open. This amount will be zero if the channel initiator did - // not push any funds to the remote peer. If the initiator field is true, we - // pushed this amount to our peer, if it is false, the remote peer pushed this - // amount to us. - PushAmountSat uint64 `protobuf:"varint,27,opt,name=push_amount_sat,json=pushAmountSat,proto3" json:"push_amount_sat,omitempty"` - // This uint32 indicates if this channel is to be considered 'frozen'. A - // frozen channel doest not allow a cooperative channel close by the - // initiator. The thaw_height is the height that this restriction stops - // applying to the channel. This field is optional, not setting it or using a - // value of zero will mean the channel has no additional restrictions. The - // height can be interpreted in two ways: as a relative height if the value is - // less than 500,000, or as an absolute height otherwise. - ThawHeight uint32 `protobuf:"varint,28,opt,name=thaw_height,json=thawHeight,proto3" json:"thaw_height,omitempty"` - // List constraints for the local node. - LocalConstraints *ChannelConstraints `protobuf:"bytes,29,opt,name=local_constraints,json=localConstraints,proto3" json:"local_constraints,omitempty"` - // List constraints for the remote node. - RemoteConstraints *ChannelConstraints `protobuf:"bytes,30,opt,name=remote_constraints,json=remoteConstraints,proto3" json:"remote_constraints,omitempty"` - // This lists out the set of alias short channel ids that exist for a channel. - // This may be empty. - AliasScids []uint64 `protobuf:"varint,31,rep,packed,name=alias_scids,json=aliasScids,proto3" json:"alias_scids,omitempty"` - // Whether or not this is a zero-conf channel. - ZeroConf bool `protobuf:"varint,32,opt,name=zero_conf,json=zeroConf,proto3" json:"zero_conf,omitempty"` - // This is the confirmed / on-chain zero-conf SCID. - ZeroConfConfirmedScid uint64 `protobuf:"varint,33,opt,name=zero_conf_confirmed_scid,json=zeroConfConfirmedScid,proto3" json:"zero_conf_confirmed_scid,omitempty"` -} - -func (x *Channel) Reset() { - *x = Channel{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Channel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Channel) ProtoMessage() {} - -func (x *Channel) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[39] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Channel.ProtoReflect.Descriptor instead. -func (*Channel) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{39} -} - -func (x *Channel) GetActive() bool { - if x != nil { - return x.Active - } - return false -} - -func (x *Channel) GetRemotePubkey() string { - if x != nil { - return x.RemotePubkey - } - return "" -} - -func (x *Channel) GetChannelPoint() string { - if x != nil { - return x.ChannelPoint - } - return "" -} - -func (x *Channel) GetChanId() uint64 { - if x != nil { - return x.ChanId - } - return 0 -} - -func (x *Channel) GetCapacity() int64 { - if x != nil { - return x.Capacity - } - return 0 -} - -func (x *Channel) GetLocalBalance() int64 { - if x != nil { - return x.LocalBalance - } - return 0 -} - -func (x *Channel) GetRemoteBalance() int64 { - if x != nil { - return x.RemoteBalance - } - return 0 -} - -func (x *Channel) GetCommitFee() int64 { - if x != nil { - return x.CommitFee - } - return 0 -} - -func (x *Channel) GetCommitWeight() int64 { - if x != nil { - return x.CommitWeight - } - return 0 -} - -func (x *Channel) GetFeePerKw() int64 { - if x != nil { - return x.FeePerKw - } - return 0 -} - -func (x *Channel) GetUnsettledBalance() int64 { - if x != nil { - return x.UnsettledBalance - } - return 0 -} - -func (x *Channel) GetTotalSatoshisSent() int64 { - if x != nil { - return x.TotalSatoshisSent - } - return 0 -} - -func (x *Channel) GetTotalSatoshisReceived() int64 { - if x != nil { - return x.TotalSatoshisReceived - } - return 0 -} - -func (x *Channel) GetNumUpdates() uint64 { - if x != nil { - return x.NumUpdates - } - return 0 -} - -func (x *Channel) GetPendingHtlcs() []*HTLC { - if x != nil { - return x.PendingHtlcs - } - return nil -} - -// Deprecated: Do not use. -func (x *Channel) GetCsvDelay() uint32 { - if x != nil { - return x.CsvDelay - } - return 0 -} - -func (x *Channel) GetPrivate() bool { - if x != nil { - return x.Private - } - return false -} - -func (x *Channel) GetInitiator() bool { - if x != nil { - return x.Initiator - } - return false -} - -func (x *Channel) GetChanStatusFlags() string { - if x != nil { - return x.ChanStatusFlags - } - return "" -} - -// Deprecated: Do not use. -func (x *Channel) GetLocalChanReserveSat() int64 { - if x != nil { - return x.LocalChanReserveSat - } - return 0 -} - -// Deprecated: Do not use. -func (x *Channel) GetRemoteChanReserveSat() int64 { - if x != nil { - return x.RemoteChanReserveSat - } - return 0 -} - -// Deprecated: Do not use. -func (x *Channel) GetStaticRemoteKey() bool { - if x != nil { - return x.StaticRemoteKey - } - return false -} - -func (x *Channel) GetCommitmentType() CommitmentType { - if x != nil { - return x.CommitmentType - } - return CommitmentType_UNKNOWN_COMMITMENT_TYPE -} - -func (x *Channel) GetLifetime() int64 { - if x != nil { - return x.Lifetime - } - return 0 -} - -func (x *Channel) GetUptime() int64 { - if x != nil { - return x.Uptime - } - return 0 -} - -func (x *Channel) GetCloseAddress() string { - if x != nil { - return x.CloseAddress - } - return "" -} - -func (x *Channel) GetPushAmountSat() uint64 { - if x != nil { - return x.PushAmountSat - } - return 0 -} - -func (x *Channel) GetThawHeight() uint32 { - if x != nil { - return x.ThawHeight - } - return 0 -} - -func (x *Channel) GetLocalConstraints() *ChannelConstraints { - if x != nil { - return x.LocalConstraints - } - return nil -} - -func (x *Channel) GetRemoteConstraints() *ChannelConstraints { - if x != nil { - return x.RemoteConstraints - } - return nil -} - -func (x *Channel) GetAliasScids() []uint64 { - if x != nil { - return x.AliasScids - } - return nil -} - -func (x *Channel) GetZeroConf() bool { - if x != nil { - return x.ZeroConf - } - return false -} - -func (x *Channel) GetZeroConfConfirmedScid() uint64 { - if x != nil { - return x.ZeroConfConfirmedScid - } - return 0 -} - -type ListChannelsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ActiveOnly bool `protobuf:"varint,1,opt,name=active_only,json=activeOnly,proto3" json:"active_only,omitempty"` - InactiveOnly bool `protobuf:"varint,2,opt,name=inactive_only,json=inactiveOnly,proto3" json:"inactive_only,omitempty"` - PublicOnly bool `protobuf:"varint,3,opt,name=public_only,json=publicOnly,proto3" json:"public_only,omitempty"` - PrivateOnly bool `protobuf:"varint,4,opt,name=private_only,json=privateOnly,proto3" json:"private_only,omitempty"` - // Filters the response for channels with a target peer's pubkey. If peer is - // empty, all channels will be returned. - Peer []byte `protobuf:"bytes,5,opt,name=peer,proto3" json:"peer,omitempty"` -} - -func (x *ListChannelsRequest) Reset() { - *x = ListChannelsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListChannelsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListChannelsRequest) ProtoMessage() {} - -func (x *ListChannelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[40] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListChannelsRequest.ProtoReflect.Descriptor instead. -func (*ListChannelsRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{40} -} - -func (x *ListChannelsRequest) GetActiveOnly() bool { - if x != nil { - return x.ActiveOnly - } - return false -} - -func (x *ListChannelsRequest) GetInactiveOnly() bool { - if x != nil { - return x.InactiveOnly - } - return false -} - -func (x *ListChannelsRequest) GetPublicOnly() bool { - if x != nil { - return x.PublicOnly - } - return false -} - -func (x *ListChannelsRequest) GetPrivateOnly() bool { - if x != nil { - return x.PrivateOnly - } - return false -} - -func (x *ListChannelsRequest) GetPeer() []byte { - if x != nil { - return x.Peer - } - return nil -} - -type ListChannelsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of active channels - Channels []*Channel `protobuf:"bytes,11,rep,name=channels,proto3" json:"channels,omitempty"` -} - -func (x *ListChannelsResponse) Reset() { - *x = ListChannelsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListChannelsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListChannelsResponse) ProtoMessage() {} - -func (x *ListChannelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[41] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListChannelsResponse.ProtoReflect.Descriptor instead. -func (*ListChannelsResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{41} -} - -func (x *ListChannelsResponse) GetChannels() []*Channel { - if x != nil { - return x.Channels - } - return nil -} - -type AliasMap struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // For non-zero-conf channels, this is the confirmed SCID. Otherwise, this is - // the first assigned "base" alias. - BaseScid uint64 `protobuf:"varint,1,opt,name=base_scid,json=baseScid,proto3" json:"base_scid,omitempty"` - // The set of all aliases stored for the base SCID. - Aliases []uint64 `protobuf:"varint,2,rep,packed,name=aliases,proto3" json:"aliases,omitempty"` -} - -func (x *AliasMap) Reset() { - *x = AliasMap{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AliasMap) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AliasMap) ProtoMessage() {} - -func (x *AliasMap) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[42] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AliasMap.ProtoReflect.Descriptor instead. -func (*AliasMap) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{42} -} - -func (x *AliasMap) GetBaseScid() uint64 { - if x != nil { - return x.BaseScid - } - return 0 -} - -func (x *AliasMap) GetAliases() []uint64 { - if x != nil { - return x.Aliases - } - return nil -} - -type ListAliasesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ListAliasesRequest) Reset() { - *x = ListAliasesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListAliasesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListAliasesRequest) ProtoMessage() {} - -func (x *ListAliasesRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[43] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListAliasesRequest.ProtoReflect.Descriptor instead. -func (*ListAliasesRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{43} -} - -type ListAliasesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AliasMaps []*AliasMap `protobuf:"bytes,1,rep,name=alias_maps,json=aliasMaps,proto3" json:"alias_maps,omitempty"` -} - -func (x *ListAliasesResponse) Reset() { - *x = ListAliasesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListAliasesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListAliasesResponse) ProtoMessage() {} - -func (x *ListAliasesResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[44] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListAliasesResponse.ProtoReflect.Descriptor instead. -func (*ListAliasesResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{44} -} - -func (x *ListAliasesResponse) GetAliasMaps() []*AliasMap { - if x != nil { - return x.AliasMaps - } - return nil -} - -type ChannelCloseSummary struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The outpoint (txid:index) of the funding transaction. - ChannelPoint string `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` - // The unique channel ID for the channel. - ChanId uint64 `protobuf:"varint,2,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` - // The hash of the genesis block that this channel resides within. - ChainHash string `protobuf:"bytes,3,opt,name=chain_hash,json=chainHash,proto3" json:"chain_hash,omitempty"` - // The txid of the transaction which ultimately closed this channel. - ClosingTxHash string `protobuf:"bytes,4,opt,name=closing_tx_hash,json=closingTxHash,proto3" json:"closing_tx_hash,omitempty"` - // Public key of the remote peer that we formerly had a channel with. - RemotePubkey string `protobuf:"bytes,5,opt,name=remote_pubkey,json=remotePubkey,proto3" json:"remote_pubkey,omitempty"` - // Total capacity of the channel. - Capacity int64 `protobuf:"varint,6,opt,name=capacity,proto3" json:"capacity,omitempty"` - // Height at which the funding transaction was spent. - CloseHeight uint32 `protobuf:"varint,7,opt,name=close_height,json=closeHeight,proto3" json:"close_height,omitempty"` - // Settled balance at the time of channel closure - SettledBalance int64 `protobuf:"varint,8,opt,name=settled_balance,json=settledBalance,proto3" json:"settled_balance,omitempty"` - // The sum of all the time-locked outputs at the time of channel closure - TimeLockedBalance int64 `protobuf:"varint,9,opt,name=time_locked_balance,json=timeLockedBalance,proto3" json:"time_locked_balance,omitempty"` - // Details on how the channel was closed. - CloseType ChannelCloseSummary_ClosureType `protobuf:"varint,10,opt,name=close_type,json=closeType,proto3,enum=lnrpc.ChannelCloseSummary_ClosureType" json:"close_type,omitempty"` - // Open initiator is the party that initiated opening the channel. Note that - // this value may be unknown if the channel was closed before we migrated to - // store open channel information after close. - OpenInitiator Initiator `protobuf:"varint,11,opt,name=open_initiator,json=openInitiator,proto3,enum=lnrpc.Initiator" json:"open_initiator,omitempty"` - // Close initiator indicates which party initiated the close. This value will - // be unknown for channels that were cooperatively closed before we started - // tracking cooperative close initiators. Note that this indicates which party - // initiated a close, and it is possible for both to initiate cooperative or - // force closes, although only one party's close will be confirmed on chain. - CloseInitiator Initiator `protobuf:"varint,12,opt,name=close_initiator,json=closeInitiator,proto3,enum=lnrpc.Initiator" json:"close_initiator,omitempty"` - Resolutions []*Resolution `protobuf:"bytes,13,rep,name=resolutions,proto3" json:"resolutions,omitempty"` - // This lists out the set of alias short channel ids that existed for the - // closed channel. This may be empty. - AliasScids []uint64 `protobuf:"varint,14,rep,packed,name=alias_scids,json=aliasScids,proto3" json:"alias_scids,omitempty"` - // The confirmed SCID for a zero-conf channel. - ZeroConfConfirmedScid uint64 `protobuf:"varint,15,opt,name=zero_conf_confirmed_scid,json=zeroConfConfirmedScid,proto3" json:"zero_conf_confirmed_scid,omitempty"` -} - -func (x *ChannelCloseSummary) Reset() { - *x = ChannelCloseSummary{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelCloseSummary) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelCloseSummary) ProtoMessage() {} - -func (x *ChannelCloseSummary) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[45] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelCloseSummary.ProtoReflect.Descriptor instead. -func (*ChannelCloseSummary) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{45} -} - -func (x *ChannelCloseSummary) GetChannelPoint() string { - if x != nil { - return x.ChannelPoint - } - return "" -} - -func (x *ChannelCloseSummary) GetChanId() uint64 { - if x != nil { - return x.ChanId - } - return 0 -} - -func (x *ChannelCloseSummary) GetChainHash() string { - if x != nil { - return x.ChainHash - } - return "" -} - -func (x *ChannelCloseSummary) GetClosingTxHash() string { - if x != nil { - return x.ClosingTxHash - } - return "" -} - -func (x *ChannelCloseSummary) GetRemotePubkey() string { - if x != nil { - return x.RemotePubkey - } - return "" -} - -func (x *ChannelCloseSummary) GetCapacity() int64 { - if x != nil { - return x.Capacity - } - return 0 -} - -func (x *ChannelCloseSummary) GetCloseHeight() uint32 { - if x != nil { - return x.CloseHeight - } - return 0 -} - -func (x *ChannelCloseSummary) GetSettledBalance() int64 { - if x != nil { - return x.SettledBalance - } - return 0 -} - -func (x *ChannelCloseSummary) GetTimeLockedBalance() int64 { - if x != nil { - return x.TimeLockedBalance - } - return 0 -} - -func (x *ChannelCloseSummary) GetCloseType() ChannelCloseSummary_ClosureType { - if x != nil { - return x.CloseType - } - return ChannelCloseSummary_COOPERATIVE_CLOSE -} - -func (x *ChannelCloseSummary) GetOpenInitiator() Initiator { - if x != nil { - return x.OpenInitiator - } - return Initiator_INITIATOR_UNKNOWN -} - -func (x *ChannelCloseSummary) GetCloseInitiator() Initiator { - if x != nil { - return x.CloseInitiator - } - return Initiator_INITIATOR_UNKNOWN -} - -func (x *ChannelCloseSummary) GetResolutions() []*Resolution { - if x != nil { - return x.Resolutions - } - return nil -} - -func (x *ChannelCloseSummary) GetAliasScids() []uint64 { - if x != nil { - return x.AliasScids - } - return nil -} - -func (x *ChannelCloseSummary) GetZeroConfConfirmedScid() uint64 { - if x != nil { - return x.ZeroConfConfirmedScid - } - return 0 -} - -type Resolution struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The type of output we are resolving. - ResolutionType ResolutionType `protobuf:"varint,1,opt,name=resolution_type,json=resolutionType,proto3,enum=lnrpc.ResolutionType" json:"resolution_type,omitempty"` - // The outcome of our on chain action that resolved the outpoint. - Outcome ResolutionOutcome `protobuf:"varint,2,opt,name=outcome,proto3,enum=lnrpc.ResolutionOutcome" json:"outcome,omitempty"` - // The outpoint that was spent by the resolution. - Outpoint *OutPoint `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"` - // The amount that was claimed by the resolution. - AmountSat uint64 `protobuf:"varint,4,opt,name=amount_sat,json=amountSat,proto3" json:"amount_sat,omitempty"` - // The hex-encoded transaction ID of the sweep transaction that spent the - // output. - SweepTxid string `protobuf:"bytes,5,opt,name=sweep_txid,json=sweepTxid,proto3" json:"sweep_txid,omitempty"` -} - -func (x *Resolution) Reset() { - *x = Resolution{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Resolution) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Resolution) ProtoMessage() {} - -func (x *Resolution) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[46] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Resolution.ProtoReflect.Descriptor instead. -func (*Resolution) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{46} -} - -func (x *Resolution) GetResolutionType() ResolutionType { - if x != nil { - return x.ResolutionType - } - return ResolutionType_TYPE_UNKNOWN -} - -func (x *Resolution) GetOutcome() ResolutionOutcome { - if x != nil { - return x.Outcome - } - return ResolutionOutcome_OUTCOME_UNKNOWN -} - -func (x *Resolution) GetOutpoint() *OutPoint { - if x != nil { - return x.Outpoint - } - return nil -} - -func (x *Resolution) GetAmountSat() uint64 { - if x != nil { - return x.AmountSat - } - return 0 -} - -func (x *Resolution) GetSweepTxid() string { - if x != nil { - return x.SweepTxid - } - return "" -} - -type ClosedChannelsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Cooperative bool `protobuf:"varint,1,opt,name=cooperative,proto3" json:"cooperative,omitempty"` - LocalForce bool `protobuf:"varint,2,opt,name=local_force,json=localForce,proto3" json:"local_force,omitempty"` - RemoteForce bool `protobuf:"varint,3,opt,name=remote_force,json=remoteForce,proto3" json:"remote_force,omitempty"` - Breach bool `protobuf:"varint,4,opt,name=breach,proto3" json:"breach,omitempty"` - FundingCanceled bool `protobuf:"varint,5,opt,name=funding_canceled,json=fundingCanceled,proto3" json:"funding_canceled,omitempty"` - Abandoned bool `protobuf:"varint,6,opt,name=abandoned,proto3" json:"abandoned,omitempty"` -} - -func (x *ClosedChannelsRequest) Reset() { - *x = ClosedChannelsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClosedChannelsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClosedChannelsRequest) ProtoMessage() {} - -func (x *ClosedChannelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[47] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClosedChannelsRequest.ProtoReflect.Descriptor instead. -func (*ClosedChannelsRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{47} -} - -func (x *ClosedChannelsRequest) GetCooperative() bool { - if x != nil { - return x.Cooperative - } - return false -} - -func (x *ClosedChannelsRequest) GetLocalForce() bool { - if x != nil { - return x.LocalForce - } - return false -} - -func (x *ClosedChannelsRequest) GetRemoteForce() bool { - if x != nil { - return x.RemoteForce - } - return false -} - -func (x *ClosedChannelsRequest) GetBreach() bool { - if x != nil { - return x.Breach - } - return false -} - -func (x *ClosedChannelsRequest) GetFundingCanceled() bool { - if x != nil { - return x.FundingCanceled - } - return false -} - -func (x *ClosedChannelsRequest) GetAbandoned() bool { - if x != nil { - return x.Abandoned - } - return false -} - -type ClosedChannelsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Channels []*ChannelCloseSummary `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` -} - -func (x *ClosedChannelsResponse) Reset() { - *x = ClosedChannelsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClosedChannelsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClosedChannelsResponse) ProtoMessage() {} - -func (x *ClosedChannelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[48] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClosedChannelsResponse.ProtoReflect.Descriptor instead. -func (*ClosedChannelsResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{48} -} - -func (x *ClosedChannelsResponse) GetChannels() []*ChannelCloseSummary { - if x != nil { - return x.Channels - } - return nil -} - -type Peer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The identity pubkey of the peer - PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` - // Network address of the peer; eg `127.0.0.1:10011` - Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` - // Bytes of data transmitted to this peer - BytesSent uint64 `protobuf:"varint,4,opt,name=bytes_sent,json=bytesSent,proto3" json:"bytes_sent,omitempty"` - // Bytes of data transmitted from this peer - BytesRecv uint64 `protobuf:"varint,5,opt,name=bytes_recv,json=bytesRecv,proto3" json:"bytes_recv,omitempty"` - // Satoshis sent to this peer - SatSent int64 `protobuf:"varint,6,opt,name=sat_sent,json=satSent,proto3" json:"sat_sent,omitempty"` - // Satoshis received from this peer - SatRecv int64 `protobuf:"varint,7,opt,name=sat_recv,json=satRecv,proto3" json:"sat_recv,omitempty"` - // A channel is inbound if the counterparty initiated the channel - Inbound bool `protobuf:"varint,8,opt,name=inbound,proto3" json:"inbound,omitempty"` - // Ping time to this peer - PingTime int64 `protobuf:"varint,9,opt,name=ping_time,json=pingTime,proto3" json:"ping_time,omitempty"` - // The type of sync we are currently performing with this peer. - SyncType Peer_SyncType `protobuf:"varint,10,opt,name=sync_type,json=syncType,proto3,enum=lnrpc.Peer_SyncType" json:"sync_type,omitempty"` - // Features advertised by the remote peer in their init message. - 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"` - // The latest errors received from our peer with timestamps, limited to the 10 - // most recent errors. These errors are tracked across peer connections, but - // are not persisted across lnd restarts. Note that these errors are only - // stored for peers that we have channels open with, to prevent peers from - // spamming us with errors at no cost. - Errors []*TimestampedError `protobuf:"bytes,12,rep,name=errors,proto3" json:"errors,omitempty"` - // The number of times we have recorded this peer going offline or coming - // online, recorded across restarts. Note that this value is decreased over - // time if the peer has not recently flapped, so that we can forgive peers - // with historically high flap counts. - FlapCount int32 `protobuf:"varint,13,opt,name=flap_count,json=flapCount,proto3" json:"flap_count,omitempty"` - // The timestamp of the last flap we observed for this peer. If this value is - // zero, we have not observed any flaps for this peer. - LastFlapNs int64 `protobuf:"varint,14,opt,name=last_flap_ns,json=lastFlapNs,proto3" json:"last_flap_ns,omitempty"` - // The last ping payload the peer has sent to us. - LastPingPayload []byte `protobuf:"bytes,15,opt,name=last_ping_payload,json=lastPingPayload,proto3" json:"last_ping_payload,omitempty"` -} - -func (x *Peer) Reset() { - *x = Peer{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Peer) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Peer) ProtoMessage() {} - -func (x *Peer) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[49] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Peer.ProtoReflect.Descriptor instead. -func (*Peer) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{49} -} - -func (x *Peer) GetPubKey() string { - if x != nil { - return x.PubKey - } - return "" -} - -func (x *Peer) GetAddress() string { - if x != nil { - return x.Address - } - return "" -} - -func (x *Peer) GetBytesSent() uint64 { - if x != nil { - return x.BytesSent - } - return 0 -} - -func (x *Peer) GetBytesRecv() uint64 { - if x != nil { - return x.BytesRecv - } - return 0 -} - -func (x *Peer) GetSatSent() int64 { - if x != nil { - return x.SatSent - } - return 0 -} - -func (x *Peer) GetSatRecv() int64 { - if x != nil { - return x.SatRecv - } - return 0 -} - -func (x *Peer) GetInbound() bool { - if x != nil { - return x.Inbound - } - return false -} - -func (x *Peer) GetPingTime() int64 { - if x != nil { - return x.PingTime - } - return 0 -} - -func (x *Peer) GetSyncType() Peer_SyncType { - if x != nil { - return x.SyncType - } - return Peer_UNKNOWN_SYNC -} - -func (x *Peer) GetFeatures() map[uint32]*Feature { - if x != nil { - return x.Features - } - return nil -} - -func (x *Peer) GetErrors() []*TimestampedError { - if x != nil { - return x.Errors - } - return nil -} - -func (x *Peer) GetFlapCount() int32 { - if x != nil { - return x.FlapCount - } - return 0 -} - -func (x *Peer) GetLastFlapNs() int64 { - if x != nil { - return x.LastFlapNs - } - return 0 -} - -func (x *Peer) GetLastPingPayload() []byte { - if x != nil { - return x.LastPingPayload - } - return nil -} - -type TimestampedError struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The unix timestamp in seconds when the error occurred. - Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // The string representation of the error sent by our peer. - Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` -} - -func (x *TimestampedError) Reset() { - *x = TimestampedError{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TimestampedError) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TimestampedError) ProtoMessage() {} - -func (x *TimestampedError) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[50] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TimestampedError.ProtoReflect.Descriptor instead. -func (*TimestampedError) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{50} -} - -func (x *TimestampedError) GetTimestamp() uint64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *TimestampedError) GetError() string { - if x != nil { - return x.Error - } - return "" -} - -type ListPeersRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If true, only the last error that our peer sent us will be returned with - // the peer's information, rather than the full set of historic errors we have - // stored. - LatestError bool `protobuf:"varint,1,opt,name=latest_error,json=latestError,proto3" json:"latest_error,omitempty"` -} - -func (x *ListPeersRequest) Reset() { - *x = ListPeersRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListPeersRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPeersRequest) ProtoMessage() {} - -func (x *ListPeersRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[51] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListPeersRequest.ProtoReflect.Descriptor instead. -func (*ListPeersRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{51} -} - -func (x *ListPeersRequest) GetLatestError() bool { - if x != nil { - return x.LatestError - } - return false -} - -type ListPeersResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of currently connected peers - Peers []*Peer `protobuf:"bytes,1,rep,name=peers,proto3" json:"peers,omitempty"` -} - -func (x *ListPeersResponse) Reset() { - *x = ListPeersResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListPeersResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPeersResponse) ProtoMessage() {} - -func (x *ListPeersResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[52] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListPeersResponse.ProtoReflect.Descriptor instead. -func (*ListPeersResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{52} -} - -func (x *ListPeersResponse) GetPeers() []*Peer { - if x != nil { - return x.Peers - } - return nil -} - -type PeerEventSubscription struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PeerEventSubscription) Reset() { - *x = PeerEventSubscription{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerEventSubscription) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerEventSubscription) ProtoMessage() {} - -func (x *PeerEventSubscription) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[53] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerEventSubscription.ProtoReflect.Descriptor instead. -func (*PeerEventSubscription) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{53} -} - -type PeerEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The identity pubkey of the peer. - PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` - Type PeerEvent_EventType `protobuf:"varint,2,opt,name=type,proto3,enum=lnrpc.PeerEvent_EventType" json:"type,omitempty"` -} - -func (x *PeerEvent) Reset() { - *x = PeerEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PeerEvent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PeerEvent) ProtoMessage() {} - -func (x *PeerEvent) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[54] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PeerEvent.ProtoReflect.Descriptor instead. -func (*PeerEvent) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{54} -} - -func (x *PeerEvent) GetPubKey() string { - if x != nil { - return x.PubKey - } - return "" -} - -func (x *PeerEvent) GetType() PeerEvent_EventType { - if x != nil { - return x.Type - } - return PeerEvent_PEER_ONLINE -} - -type GetInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetInfoRequest) Reset() { - *x = GetInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetInfoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetInfoRequest) ProtoMessage() {} - -func (x *GetInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[55] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetInfoRequest.ProtoReflect.Descriptor instead. -func (*GetInfoRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{55} -} - -type GetInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The version of the LND software that the node is running. - Version string `protobuf:"bytes,14,opt,name=version,proto3" json:"version,omitempty"` - // The SHA1 commit hash that the daemon is compiled with. - CommitHash string `protobuf:"bytes,20,opt,name=commit_hash,json=commitHash,proto3" json:"commit_hash,omitempty"` - // The identity pubkey of the current node. - IdentityPubkey string `protobuf:"bytes,1,opt,name=identity_pubkey,json=identityPubkey,proto3" json:"identity_pubkey,omitempty"` - // If applicable, the alias of the current node, e.g. "bob" - Alias string `protobuf:"bytes,2,opt,name=alias,proto3" json:"alias,omitempty"` - // The color of the current node in hex code format - Color string `protobuf:"bytes,17,opt,name=color,proto3" json:"color,omitempty"` - // Number of pending channels - NumPendingChannels uint32 `protobuf:"varint,3,opt,name=num_pending_channels,json=numPendingChannels,proto3" json:"num_pending_channels,omitempty"` - // Number of active channels - NumActiveChannels uint32 `protobuf:"varint,4,opt,name=num_active_channels,json=numActiveChannels,proto3" json:"num_active_channels,omitempty"` - // Number of inactive channels - NumInactiveChannels uint32 `protobuf:"varint,15,opt,name=num_inactive_channels,json=numInactiveChannels,proto3" json:"num_inactive_channels,omitempty"` - // Number of peers - NumPeers uint32 `protobuf:"varint,5,opt,name=num_peers,json=numPeers,proto3" json:"num_peers,omitempty"` - // The node's current view of the height of the best block - BlockHeight uint32 `protobuf:"varint,6,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - // The node's current view of the hash of the best block - BlockHash string `protobuf:"bytes,8,opt,name=block_hash,json=blockHash,proto3" json:"block_hash,omitempty"` - // Timestamp of the block best known to the wallet - BestHeaderTimestamp int64 `protobuf:"varint,13,opt,name=best_header_timestamp,json=bestHeaderTimestamp,proto3" json:"best_header_timestamp,omitempty"` - // Whether the wallet's view is synced to the main chain - SyncedToChain bool `protobuf:"varint,9,opt,name=synced_to_chain,json=syncedToChain,proto3" json:"synced_to_chain,omitempty"` - // Whether we consider ourselves synced with the public channel graph. - SyncedToGraph bool `protobuf:"varint,18,opt,name=synced_to_graph,json=syncedToGraph,proto3" json:"synced_to_graph,omitempty"` - // Whether the current node is connected to testnet. This field is - // deprecated and the network field should be used instead - // - // Deprecated: Do not use. - Testnet bool `protobuf:"varint,10,opt,name=testnet,proto3" json:"testnet,omitempty"` - // A list of active chains the node is connected to - Chains []*Chain `protobuf:"bytes,16,rep,name=chains,proto3" json:"chains,omitempty"` - // The URIs of the current node. - Uris []string `protobuf:"bytes,12,rep,name=uris,proto3" json:"uris,omitempty"` - // Features that our node has advertised in our init message, node - // announcements and invoices. - 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"` - // Indicates whether the HTLC interceptor API is in always-on mode. - RequireHtlcInterceptor bool `protobuf:"varint,21,opt,name=require_htlc_interceptor,json=requireHtlcInterceptor,proto3" json:"require_htlc_interceptor,omitempty"` -} - -func (x *GetInfoResponse) Reset() { - *x = GetInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[56] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetInfoResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetInfoResponse) ProtoMessage() {} - -func (x *GetInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[56] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetInfoResponse.ProtoReflect.Descriptor instead. -func (*GetInfoResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{56} -} - -func (x *GetInfoResponse) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -func (x *GetInfoResponse) GetCommitHash() string { - if x != nil { - return x.CommitHash - } - return "" -} - -func (x *GetInfoResponse) GetIdentityPubkey() string { - if x != nil { - return x.IdentityPubkey - } - return "" -} - -func (x *GetInfoResponse) GetAlias() string { - if x != nil { - return x.Alias - } - return "" -} - -func (x *GetInfoResponse) GetColor() string { - if x != nil { - return x.Color - } - return "" -} - -func (x *GetInfoResponse) GetNumPendingChannels() uint32 { - if x != nil { - return x.NumPendingChannels - } - return 0 -} - -func (x *GetInfoResponse) GetNumActiveChannels() uint32 { - if x != nil { - return x.NumActiveChannels - } - return 0 -} - -func (x *GetInfoResponse) GetNumInactiveChannels() uint32 { - if x != nil { - return x.NumInactiveChannels - } - return 0 -} - -func (x *GetInfoResponse) GetNumPeers() uint32 { - if x != nil { - return x.NumPeers - } - return 0 -} - -func (x *GetInfoResponse) GetBlockHeight() uint32 { - if x != nil { - return x.BlockHeight - } - return 0 -} - -func (x *GetInfoResponse) GetBlockHash() string { - if x != nil { - return x.BlockHash - } - return "" -} - -func (x *GetInfoResponse) GetBestHeaderTimestamp() int64 { - if x != nil { - return x.BestHeaderTimestamp - } - return 0 -} - -func (x *GetInfoResponse) GetSyncedToChain() bool { - if x != nil { - return x.SyncedToChain - } - return false -} - -func (x *GetInfoResponse) GetSyncedToGraph() bool { - if x != nil { - return x.SyncedToGraph - } - return false -} - -// Deprecated: Do not use. -func (x *GetInfoResponse) GetTestnet() bool { - if x != nil { - return x.Testnet - } - return false -} - -func (x *GetInfoResponse) GetChains() []*Chain { - if x != nil { - return x.Chains - } - return nil -} - -func (x *GetInfoResponse) GetUris() []string { - if x != nil { - return x.Uris - } - return nil -} - -func (x *GetInfoResponse) GetFeatures() map[uint32]*Feature { - if x != nil { - return x.Features - } - return nil -} - -func (x *GetInfoResponse) GetRequireHtlcInterceptor() bool { - if x != nil { - return x.RequireHtlcInterceptor - } - return false -} - -type GetRecoveryInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetRecoveryInfoRequest) Reset() { - *x = GetRecoveryInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[57] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetRecoveryInfoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetRecoveryInfoRequest) ProtoMessage() {} - -func (x *GetRecoveryInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[57] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetRecoveryInfoRequest.ProtoReflect.Descriptor instead. -func (*GetRecoveryInfoRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{57} -} - -type GetRecoveryInfoResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Whether the wallet is in recovery mode - RecoveryMode bool `protobuf:"varint,1,opt,name=recovery_mode,json=recoveryMode,proto3" json:"recovery_mode,omitempty"` - // Whether the wallet recovery progress is finished - RecoveryFinished bool `protobuf:"varint,2,opt,name=recovery_finished,json=recoveryFinished,proto3" json:"recovery_finished,omitempty"` - // The recovery progress, ranging from 0 to 1. - Progress float64 `protobuf:"fixed64,3,opt,name=progress,proto3" json:"progress,omitempty"` -} - -func (x *GetRecoveryInfoResponse) Reset() { - *x = GetRecoveryInfoResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[58] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetRecoveryInfoResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetRecoveryInfoResponse) ProtoMessage() {} - -func (x *GetRecoveryInfoResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[58] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetRecoveryInfoResponse.ProtoReflect.Descriptor instead. -func (*GetRecoveryInfoResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{58} -} - -func (x *GetRecoveryInfoResponse) GetRecoveryMode() bool { - if x != nil { - return x.RecoveryMode - } - return false -} - -func (x *GetRecoveryInfoResponse) GetRecoveryFinished() bool { - if x != nil { - return x.RecoveryFinished - } - return false -} - -func (x *GetRecoveryInfoResponse) GetProgress() float64 { - if x != nil { - return x.Progress - } - return 0 -} - -type Chain struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The blockchain the node is on (eg bitcoin, litecoin) - Chain string `protobuf:"bytes,1,opt,name=chain,proto3" json:"chain,omitempty"` - // The network the node is on (eg regtest, testnet, mainnet) - Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` -} - -func (x *Chain) Reset() { - *x = Chain{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[59] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Chain) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Chain) ProtoMessage() {} - -func (x *Chain) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[59] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Chain.ProtoReflect.Descriptor instead. -func (*Chain) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{59} -} - -func (x *Chain) GetChain() string { - if x != nil { - return x.Chain - } - return "" -} - -func (x *Chain) GetNetwork() string { - if x != nil { - return x.Network - } - return "" -} - -type ConfirmationUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BlockSha []byte `protobuf:"bytes,1,opt,name=block_sha,json=blockSha,proto3" json:"block_sha,omitempty"` - BlockHeight int32 `protobuf:"varint,2,opt,name=block_height,json=blockHeight,proto3" json:"block_height,omitempty"` - NumConfsLeft uint32 `protobuf:"varint,3,opt,name=num_confs_left,json=numConfsLeft,proto3" json:"num_confs_left,omitempty"` -} - -func (x *ConfirmationUpdate) Reset() { - *x = ConfirmationUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[60] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ConfirmationUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ConfirmationUpdate) ProtoMessage() {} - -func (x *ConfirmationUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[60] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ConfirmationUpdate.ProtoReflect.Descriptor instead. -func (*ConfirmationUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{60} -} - -func (x *ConfirmationUpdate) GetBlockSha() []byte { - if x != nil { - return x.BlockSha - } - return nil -} - -func (x *ConfirmationUpdate) GetBlockHeight() int32 { - if x != nil { - return x.BlockHeight - } - return 0 -} - -func (x *ConfirmationUpdate) GetNumConfsLeft() uint32 { - if x != nil { - return x.NumConfsLeft - } - return 0 -} - -type ChannelOpenUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` -} - -func (x *ChannelOpenUpdate) Reset() { - *x = ChannelOpenUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[61] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelOpenUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelOpenUpdate) ProtoMessage() {} - -func (x *ChannelOpenUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[61] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelOpenUpdate.ProtoReflect.Descriptor instead. -func (*ChannelOpenUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{61} -} - -func (x *ChannelOpenUpdate) GetChannelPoint() *ChannelPoint { - if x != nil { - return x.ChannelPoint - } - return nil -} - -type ChannelCloseUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClosingTxid []byte `protobuf:"bytes,1,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"` - Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` -} - -func (x *ChannelCloseUpdate) Reset() { - *x = ChannelCloseUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[62] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelCloseUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelCloseUpdate) ProtoMessage() {} - -func (x *ChannelCloseUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[62] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelCloseUpdate.ProtoReflect.Descriptor instead. -func (*ChannelCloseUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{62} -} - -func (x *ChannelCloseUpdate) GetClosingTxid() []byte { - if x != nil { - return x.ClosingTxid - } - return nil -} - -func (x *ChannelCloseUpdate) GetSuccess() bool { - if x != nil { - return x.Success - } - return false -} - -type CloseChannelRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The outpoint (txid:index) of the funding transaction. With this value, Bob - // will be able to generate a signature for Alice's version of the commitment - // transaction. - ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` - // If true, then the channel will be closed forcibly. This means the - // current commitment transaction will be signed and broadcast. - Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` - // The target number of blocks that the closure transaction should be - // confirmed by. - TargetConf int32 `protobuf:"varint,3,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` - // Deprecated, use sat_per_vbyte. - // A manual fee rate set in sat/vbyte that should be used when crafting the - // closure transaction. - // - // Deprecated: Do not use. - SatPerByte int64 `protobuf:"varint,4,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` - // An optional address to send funds to in the case of a cooperative close. - // If the channel was opened with an upfront shutdown script and this field - // is set, the request to close will fail because the channel must pay out - // to the upfront shutdown addresss. - DeliveryAddress string `protobuf:"bytes,5,opt,name=delivery_address,json=deliveryAddress,proto3" json:"delivery_address,omitempty"` - // A manual fee rate set in sat/vbyte that should be used when crafting the - // closure transaction. - SatPerVbyte uint64 `protobuf:"varint,6,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` - // The maximum fee rate the closer is willing to pay. - // - // NOTE: This field is only respected if we're the initiator of the channel. - MaxFeePerVbyte uint64 `protobuf:"varint,7,opt,name=max_fee_per_vbyte,json=maxFeePerVbyte,proto3" json:"max_fee_per_vbyte,omitempty"` -} - -func (x *CloseChannelRequest) Reset() { - *x = CloseChannelRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[63] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CloseChannelRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CloseChannelRequest) ProtoMessage() {} - -func (x *CloseChannelRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[63] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CloseChannelRequest.ProtoReflect.Descriptor instead. -func (*CloseChannelRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{63} -} - -func (x *CloseChannelRequest) GetChannelPoint() *ChannelPoint { - if x != nil { - return x.ChannelPoint - } - return nil -} - -func (x *CloseChannelRequest) GetForce() bool { - if x != nil { - return x.Force - } - return false -} - -func (x *CloseChannelRequest) GetTargetConf() int32 { - if x != nil { - return x.TargetConf - } - return 0 -} - -// Deprecated: Do not use. -func (x *CloseChannelRequest) GetSatPerByte() int64 { - if x != nil { - return x.SatPerByte - } - return 0 -} - -func (x *CloseChannelRequest) GetDeliveryAddress() string { - if x != nil { - return x.DeliveryAddress - } - return "" -} - -func (x *CloseChannelRequest) GetSatPerVbyte() uint64 { - if x != nil { - return x.SatPerVbyte - } - return 0 -} - -func (x *CloseChannelRequest) GetMaxFeePerVbyte() uint64 { - if x != nil { - return x.MaxFeePerVbyte - } - return 0 -} - -type CloseStatusUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Update: - // - // *CloseStatusUpdate_ClosePending - // *CloseStatusUpdate_ChanClose - Update isCloseStatusUpdate_Update `protobuf_oneof:"update"` -} - -func (x *CloseStatusUpdate) Reset() { - *x = CloseStatusUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[64] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CloseStatusUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CloseStatusUpdate) ProtoMessage() {} - -func (x *CloseStatusUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[64] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CloseStatusUpdate.ProtoReflect.Descriptor instead. -func (*CloseStatusUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{64} -} - -func (m *CloseStatusUpdate) GetUpdate() isCloseStatusUpdate_Update { - if m != nil { - return m.Update - } - return nil -} - -func (x *CloseStatusUpdate) GetClosePending() *PendingUpdate { - if x, ok := x.GetUpdate().(*CloseStatusUpdate_ClosePending); ok { - return x.ClosePending - } - return nil -} - -func (x *CloseStatusUpdate) GetChanClose() *ChannelCloseUpdate { - if x, ok := x.GetUpdate().(*CloseStatusUpdate_ChanClose); ok { - return x.ChanClose - } - return nil -} - -type isCloseStatusUpdate_Update interface { - isCloseStatusUpdate_Update() -} - -type CloseStatusUpdate_ClosePending struct { - ClosePending *PendingUpdate `protobuf:"bytes,1,opt,name=close_pending,json=closePending,proto3,oneof"` -} - -type CloseStatusUpdate_ChanClose struct { - ChanClose *ChannelCloseUpdate `protobuf:"bytes,3,opt,name=chan_close,json=chanClose,proto3,oneof"` -} - -func (*CloseStatusUpdate_ClosePending) isCloseStatusUpdate_Update() {} - -func (*CloseStatusUpdate_ChanClose) isCloseStatusUpdate_Update() {} - -type PendingUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"` - OutputIndex uint32 `protobuf:"varint,2,opt,name=output_index,json=outputIndex,proto3" json:"output_index,omitempty"` -} - -func (x *PendingUpdate) Reset() { - *x = PendingUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[65] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PendingUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PendingUpdate) ProtoMessage() {} - -func (x *PendingUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[65] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PendingUpdate.ProtoReflect.Descriptor instead. -func (*PendingUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{65} -} - -func (x *PendingUpdate) GetTxid() []byte { - if x != nil { - return x.Txid - } - return nil -} - -func (x *PendingUpdate) GetOutputIndex() uint32 { - if x != nil { - return x.OutputIndex - } - return 0 -} - -type ReadyForPsbtFunding struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The P2WSH address of the channel funding multisig address that the below - // specified amount in satoshis needs to be sent to. - FundingAddress string `protobuf:"bytes,1,opt,name=funding_address,json=fundingAddress,proto3" json:"funding_address,omitempty"` - // The exact amount in satoshis that needs to be sent to the above address to - // fund the pending channel. - FundingAmount int64 `protobuf:"varint,2,opt,name=funding_amount,json=fundingAmount,proto3" json:"funding_amount,omitempty"` - // A raw PSBT that contains the pending channel output. If a base PSBT was - // provided in the PsbtShim, this is the base PSBT with one additional output. - // If no base PSBT was specified, this is an otherwise empty PSBT with exactly - // one output. - Psbt []byte `protobuf:"bytes,3,opt,name=psbt,proto3" json:"psbt,omitempty"` -} - -func (x *ReadyForPsbtFunding) Reset() { - *x = ReadyForPsbtFunding{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[66] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ReadyForPsbtFunding) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ReadyForPsbtFunding) ProtoMessage() {} - -func (x *ReadyForPsbtFunding) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[66] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ReadyForPsbtFunding.ProtoReflect.Descriptor instead. -func (*ReadyForPsbtFunding) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{66} -} - -func (x *ReadyForPsbtFunding) GetFundingAddress() string { - if x != nil { - return x.FundingAddress - } - return "" -} - -func (x *ReadyForPsbtFunding) GetFundingAmount() int64 { - if x != nil { - return x.FundingAmount - } - return 0 -} - -func (x *ReadyForPsbtFunding) GetPsbt() []byte { - if x != nil { - return x.Psbt - } - return nil -} - -type BatchOpenChannelRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of channels to open. - Channels []*BatchOpenChannel `protobuf:"bytes,1,rep,name=channels,proto3" json:"channels,omitempty"` - // The target number of blocks that the funding transaction should be - // confirmed by. - TargetConf int32 `protobuf:"varint,2,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` - // A manual fee rate set in sat/vByte that should be used when crafting the - // funding transaction. - SatPerVbyte int64 `protobuf:"varint,3,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` - // The minimum number of confirmations each one of your outputs used for - // the funding transaction must satisfy. - MinConfs int32 `protobuf:"varint,4,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` - // Whether unconfirmed outputs should be used as inputs for the funding - // transaction. - SpendUnconfirmed bool `protobuf:"varint,5,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"` - // An optional label for the batch transaction, limited to 500 characters. - Label string `protobuf:"bytes,6,opt,name=label,proto3" json:"label,omitempty"` -} - -func (x *BatchOpenChannelRequest) Reset() { - *x = BatchOpenChannelRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[67] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchOpenChannelRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchOpenChannelRequest) ProtoMessage() {} - -func (x *BatchOpenChannelRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[67] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BatchOpenChannelRequest.ProtoReflect.Descriptor instead. -func (*BatchOpenChannelRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{67} -} - -func (x *BatchOpenChannelRequest) GetChannels() []*BatchOpenChannel { - if x != nil { - return x.Channels - } - return nil -} - -func (x *BatchOpenChannelRequest) GetTargetConf() int32 { - if x != nil { - return x.TargetConf - } - return 0 -} - -func (x *BatchOpenChannelRequest) GetSatPerVbyte() int64 { - if x != nil { - return x.SatPerVbyte - } - return 0 -} - -func (x *BatchOpenChannelRequest) GetMinConfs() int32 { - if x != nil { - return x.MinConfs - } - return 0 -} - -func (x *BatchOpenChannelRequest) GetSpendUnconfirmed() bool { - if x != nil { - return x.SpendUnconfirmed - } - return false -} - -func (x *BatchOpenChannelRequest) GetLabel() string { - if x != nil { - return x.Label - } - return "" -} - -type BatchOpenChannel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The pubkey of the node to open a channel with. When using REST, this - // field must be encoded as base64. - NodePubkey []byte `protobuf:"bytes,1,opt,name=node_pubkey,json=nodePubkey,proto3" json:"node_pubkey,omitempty"` - // The number of satoshis the wallet should commit to the channel. - LocalFundingAmount int64 `protobuf:"varint,2,opt,name=local_funding_amount,json=localFundingAmount,proto3" json:"local_funding_amount,omitempty"` - // The number of satoshis to push to the remote side as part of the initial - // commitment state. - PushSat int64 `protobuf:"varint,3,opt,name=push_sat,json=pushSat,proto3" json:"push_sat,omitempty"` - // Whether this channel should be private, not announced to the greater - // network. - Private bool `protobuf:"varint,4,opt,name=private,proto3" json:"private,omitempty"` - // The minimum value in millisatoshi we will require for incoming HTLCs on - // the channel. - MinHtlcMsat int64 `protobuf:"varint,5,opt,name=min_htlc_msat,json=minHtlcMsat,proto3" json:"min_htlc_msat,omitempty"` - // The delay we require on the remote's commitment transaction. If this is - // not set, it will be scaled automatically with the channel size. - RemoteCsvDelay uint32 `protobuf:"varint,6,opt,name=remote_csv_delay,json=remoteCsvDelay,proto3" json:"remote_csv_delay,omitempty"` - // Close address is an optional address which specifies the address to which - // funds should be paid out to upon cooperative close. This field may only be - // set if the peer supports the option upfront feature bit (call listpeers - // to check). The remote peer will only accept cooperative closes to this - // address if it is set. - // - // Note: If this value is set on channel creation, you will *not* be able to - // cooperatively close out to a different address. - CloseAddress string `protobuf:"bytes,7,opt,name=close_address,json=closeAddress,proto3" json:"close_address,omitempty"` - // An optional, unique identifier of 32 random bytes that will be used as the - // pending channel ID to identify the channel while it is in the pre-pending - // state. - PendingChanId []byte `protobuf:"bytes,8,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` - // The explicit commitment type to use. Note this field will only be used if - // the remote peer supports explicit channel negotiation. - CommitmentType CommitmentType `protobuf:"varint,9,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"` -} - -func (x *BatchOpenChannel) Reset() { - *x = BatchOpenChannel{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[68] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchOpenChannel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchOpenChannel) ProtoMessage() {} - -func (x *BatchOpenChannel) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[68] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BatchOpenChannel.ProtoReflect.Descriptor instead. -func (*BatchOpenChannel) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{68} -} - -func (x *BatchOpenChannel) GetNodePubkey() []byte { - if x != nil { - return x.NodePubkey - } - return nil -} - -func (x *BatchOpenChannel) GetLocalFundingAmount() int64 { - if x != nil { - return x.LocalFundingAmount - } - return 0 -} - -func (x *BatchOpenChannel) GetPushSat() int64 { - if x != nil { - return x.PushSat - } - return 0 -} - -func (x *BatchOpenChannel) GetPrivate() bool { - if x != nil { - return x.Private - } - return false -} - -func (x *BatchOpenChannel) GetMinHtlcMsat() int64 { - if x != nil { - return x.MinHtlcMsat - } - return 0 -} - -func (x *BatchOpenChannel) GetRemoteCsvDelay() uint32 { - if x != nil { - return x.RemoteCsvDelay - } - return 0 -} - -func (x *BatchOpenChannel) GetCloseAddress() string { - if x != nil { - return x.CloseAddress - } - return "" -} - -func (x *BatchOpenChannel) GetPendingChanId() []byte { - if x != nil { - return x.PendingChanId - } - return nil -} - -func (x *BatchOpenChannel) GetCommitmentType() CommitmentType { - if x != nil { - return x.CommitmentType - } - return CommitmentType_UNKNOWN_COMMITMENT_TYPE -} - -type BatchOpenChannelResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PendingChannels []*PendingUpdate `protobuf:"bytes,1,rep,name=pending_channels,json=pendingChannels,proto3" json:"pending_channels,omitempty"` -} - -func (x *BatchOpenChannelResponse) Reset() { - *x = BatchOpenChannelResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[69] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchOpenChannelResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchOpenChannelResponse) ProtoMessage() {} - -func (x *BatchOpenChannelResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[69] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BatchOpenChannelResponse.ProtoReflect.Descriptor instead. -func (*BatchOpenChannelResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{69} -} - -func (x *BatchOpenChannelResponse) GetPendingChannels() []*PendingUpdate { - if x != nil { - return x.PendingChannels - } - return nil -} - -type OpenChannelRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A manual fee rate set in sat/vbyte that should be used when crafting the - // funding transaction. - SatPerVbyte uint64 `protobuf:"varint,1,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` - // The pubkey of the node to open a channel with. When using REST, this field - // must be encoded as base64. - NodePubkey []byte `protobuf:"bytes,2,opt,name=node_pubkey,json=nodePubkey,proto3" json:"node_pubkey,omitempty"` - // The hex encoded pubkey of the node to open a channel with. Deprecated now - // that the REST gateway supports base64 encoding of bytes fields. - // - // Deprecated: Do not use. - NodePubkeyString string `protobuf:"bytes,3,opt,name=node_pubkey_string,json=nodePubkeyString,proto3" json:"node_pubkey_string,omitempty"` - // The number of satoshis the wallet should commit to the channel - LocalFundingAmount int64 `protobuf:"varint,4,opt,name=local_funding_amount,json=localFundingAmount,proto3" json:"local_funding_amount,omitempty"` - // The number of satoshis to push to the remote side as part of the initial - // commitment state - PushSat int64 `protobuf:"varint,5,opt,name=push_sat,json=pushSat,proto3" json:"push_sat,omitempty"` - // The target number of blocks that the funding transaction should be - // confirmed by. - TargetConf int32 `protobuf:"varint,6,opt,name=target_conf,json=targetConf,proto3" json:"target_conf,omitempty"` - // Deprecated, use sat_per_vbyte. - // A manual fee rate set in sat/vbyte that should be used when crafting the - // funding transaction. - // - // Deprecated: Do not use. - SatPerByte int64 `protobuf:"varint,7,opt,name=sat_per_byte,json=satPerByte,proto3" json:"sat_per_byte,omitempty"` - // Whether this channel should be private, not announced to the greater - // network. - Private bool `protobuf:"varint,8,opt,name=private,proto3" json:"private,omitempty"` - // The minimum value in millisatoshi we will require for incoming HTLCs on - // the channel. - MinHtlcMsat int64 `protobuf:"varint,9,opt,name=min_htlc_msat,json=minHtlcMsat,proto3" json:"min_htlc_msat,omitempty"` - // The delay we require on the remote's commitment transaction. If this is - // not set, it will be scaled automatically with the channel size. - RemoteCsvDelay uint32 `protobuf:"varint,10,opt,name=remote_csv_delay,json=remoteCsvDelay,proto3" json:"remote_csv_delay,omitempty"` - // The minimum number of confirmations each one of your outputs used for - // the funding transaction must satisfy. - MinConfs int32 `protobuf:"varint,11,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` - // Whether unconfirmed outputs should be used as inputs for the funding - // transaction. - SpendUnconfirmed bool `protobuf:"varint,12,opt,name=spend_unconfirmed,json=spendUnconfirmed,proto3" json:"spend_unconfirmed,omitempty"` - // Close address is an optional address which specifies the address to which - // funds should be paid out to upon cooperative close. This field may only be - // set if the peer supports the option upfront feature bit (call listpeers - // to check). The remote peer will only accept cooperative closes to this - // address if it is set. - // - // Note: If this value is set on channel creation, you will *not* be able to - // cooperatively close out to a different address. - CloseAddress string `protobuf:"bytes,13,opt,name=close_address,json=closeAddress,proto3" json:"close_address,omitempty"` - // Funding shims are an optional argument that allow the caller to intercept - // certain funding functionality. For example, a shim can be provided to use a - // particular key for the commitment key (ideally cold) rather than use one - // that is generated by the wallet as normal, or signal that signing will be - // carried out in an interactive manner (PSBT based). - FundingShim *FundingShim `protobuf:"bytes,14,opt,name=funding_shim,json=fundingShim,proto3" json:"funding_shim,omitempty"` - // The maximum amount of coins in millisatoshi that can be pending within - // the channel. It only applies to the remote party. - RemoteMaxValueInFlightMsat uint64 `protobuf:"varint,15,opt,name=remote_max_value_in_flight_msat,json=remoteMaxValueInFlightMsat,proto3" json:"remote_max_value_in_flight_msat,omitempty"` - // The maximum number of concurrent HTLCs we will allow the remote party to add - // to the commitment transaction. - RemoteMaxHtlcs uint32 `protobuf:"varint,16,opt,name=remote_max_htlcs,json=remoteMaxHtlcs,proto3" json:"remote_max_htlcs,omitempty"` - // Max local csv is the maximum csv delay we will allow for our own commitment - // transaction. - MaxLocalCsv uint32 `protobuf:"varint,17,opt,name=max_local_csv,json=maxLocalCsv,proto3" json:"max_local_csv,omitempty"` - // The explicit commitment type to use. Note this field will only be used if - // the remote peer supports explicit channel negotiation. - CommitmentType CommitmentType `protobuf:"varint,18,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"` - // If this is true, then a zero-conf channel open will be attempted. - ZeroConf bool `protobuf:"varint,19,opt,name=zero_conf,json=zeroConf,proto3" json:"zero_conf,omitempty"` - // If this is true, then an option-scid-alias channel-type open will be - // attempted. - ScidAlias bool `protobuf:"varint,20,opt,name=scid_alias,json=scidAlias,proto3" json:"scid_alias,omitempty"` -} - -func (x *OpenChannelRequest) Reset() { - *x = OpenChannelRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[70] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OpenChannelRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OpenChannelRequest) ProtoMessage() {} - -func (x *OpenChannelRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[70] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OpenChannelRequest.ProtoReflect.Descriptor instead. -func (*OpenChannelRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{70} -} - -func (x *OpenChannelRequest) GetSatPerVbyte() uint64 { - if x != nil { - return x.SatPerVbyte - } - return 0 -} - -func (x *OpenChannelRequest) GetNodePubkey() []byte { - if x != nil { - return x.NodePubkey - } - return nil -} - -// Deprecated: Do not use. -func (x *OpenChannelRequest) GetNodePubkeyString() string { - if x != nil { - return x.NodePubkeyString - } - return "" -} - -func (x *OpenChannelRequest) GetLocalFundingAmount() int64 { - if x != nil { - return x.LocalFundingAmount - } - return 0 -} - -func (x *OpenChannelRequest) GetPushSat() int64 { - if x != nil { - return x.PushSat - } - return 0 -} - -func (x *OpenChannelRequest) GetTargetConf() int32 { - if x != nil { - return x.TargetConf - } - return 0 -} - -// Deprecated: Do not use. -func (x *OpenChannelRequest) GetSatPerByte() int64 { - if x != nil { - return x.SatPerByte - } - return 0 -} - -func (x *OpenChannelRequest) GetPrivate() bool { - if x != nil { - return x.Private - } - return false -} - -func (x *OpenChannelRequest) GetMinHtlcMsat() int64 { - if x != nil { - return x.MinHtlcMsat - } - return 0 -} - -func (x *OpenChannelRequest) GetRemoteCsvDelay() uint32 { - if x != nil { - return x.RemoteCsvDelay - } - return 0 -} - -func (x *OpenChannelRequest) GetMinConfs() int32 { - if x != nil { - return x.MinConfs - } - return 0 -} - -func (x *OpenChannelRequest) GetSpendUnconfirmed() bool { - if x != nil { - return x.SpendUnconfirmed - } - return false -} - -func (x *OpenChannelRequest) GetCloseAddress() string { - if x != nil { - return x.CloseAddress - } - return "" -} - -func (x *OpenChannelRequest) GetFundingShim() *FundingShim { - if x != nil { - return x.FundingShim - } - return nil -} - -func (x *OpenChannelRequest) GetRemoteMaxValueInFlightMsat() uint64 { - if x != nil { - return x.RemoteMaxValueInFlightMsat - } - return 0 -} - -func (x *OpenChannelRequest) GetRemoteMaxHtlcs() uint32 { - if x != nil { - return x.RemoteMaxHtlcs - } - return 0 -} - -func (x *OpenChannelRequest) GetMaxLocalCsv() uint32 { - if x != nil { - return x.MaxLocalCsv - } - return 0 -} - -func (x *OpenChannelRequest) GetCommitmentType() CommitmentType { - if x != nil { - return x.CommitmentType - } - return CommitmentType_UNKNOWN_COMMITMENT_TYPE -} - -func (x *OpenChannelRequest) GetZeroConf() bool { - if x != nil { - return x.ZeroConf - } - return false -} - -func (x *OpenChannelRequest) GetScidAlias() bool { - if x != nil { - return x.ScidAlias - } - return false -} - -type OpenStatusUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Update: - // - // *OpenStatusUpdate_ChanPending - // *OpenStatusUpdate_ChanOpen - // *OpenStatusUpdate_PsbtFund - Update isOpenStatusUpdate_Update `protobuf_oneof:"update"` - // The pending channel ID of the created channel. This value may be used to - // further the funding flow manually via the FundingStateStep method. - PendingChanId []byte `protobuf:"bytes,4,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` -} - -func (x *OpenStatusUpdate) Reset() { - *x = OpenStatusUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[71] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OpenStatusUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OpenStatusUpdate) ProtoMessage() {} - -func (x *OpenStatusUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[71] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OpenStatusUpdate.ProtoReflect.Descriptor instead. -func (*OpenStatusUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{71} -} - -func (m *OpenStatusUpdate) GetUpdate() isOpenStatusUpdate_Update { - if m != nil { - return m.Update - } - return nil -} - -func (x *OpenStatusUpdate) GetChanPending() *PendingUpdate { - if x, ok := x.GetUpdate().(*OpenStatusUpdate_ChanPending); ok { - return x.ChanPending - } - return nil -} - -func (x *OpenStatusUpdate) GetChanOpen() *ChannelOpenUpdate { - if x, ok := x.GetUpdate().(*OpenStatusUpdate_ChanOpen); ok { - return x.ChanOpen - } - return nil -} - -func (x *OpenStatusUpdate) GetPsbtFund() *ReadyForPsbtFunding { - if x, ok := x.GetUpdate().(*OpenStatusUpdate_PsbtFund); ok { - return x.PsbtFund - } - return nil -} - -func (x *OpenStatusUpdate) GetPendingChanId() []byte { - if x != nil { - return x.PendingChanId - } - return nil -} - -type isOpenStatusUpdate_Update interface { - isOpenStatusUpdate_Update() -} - -type OpenStatusUpdate_ChanPending struct { - // Signals that the channel is now fully negotiated and the funding - // transaction published. - ChanPending *PendingUpdate `protobuf:"bytes,1,opt,name=chan_pending,json=chanPending,proto3,oneof"` -} - -type OpenStatusUpdate_ChanOpen struct { - // Signals that the channel's funding transaction has now reached the - // required number of confirmations on chain and can be used. - ChanOpen *ChannelOpenUpdate `protobuf:"bytes,3,opt,name=chan_open,json=chanOpen,proto3,oneof"` -} - -type OpenStatusUpdate_PsbtFund struct { - // Signals that the funding process has been suspended and the construction - // of a PSBT that funds the channel PK script is now required. - PsbtFund *ReadyForPsbtFunding `protobuf:"bytes,5,opt,name=psbt_fund,json=psbtFund,proto3,oneof"` -} - -func (*OpenStatusUpdate_ChanPending) isOpenStatusUpdate_Update() {} - -func (*OpenStatusUpdate_ChanOpen) isOpenStatusUpdate_Update() {} - -func (*OpenStatusUpdate_PsbtFund) isOpenStatusUpdate_Update() {} - -type KeyLocator struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The family of key being identified. - KeyFamily int32 `protobuf:"varint,1,opt,name=key_family,json=keyFamily,proto3" json:"key_family,omitempty"` - // The precise index of the key being identified. - KeyIndex int32 `protobuf:"varint,2,opt,name=key_index,json=keyIndex,proto3" json:"key_index,omitempty"` -} - -func (x *KeyLocator) Reset() { - *x = KeyLocator{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[72] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KeyLocator) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KeyLocator) ProtoMessage() {} - -func (x *KeyLocator) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[72] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KeyLocator.ProtoReflect.Descriptor instead. -func (*KeyLocator) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{72} -} - -func (x *KeyLocator) GetKeyFamily() int32 { - if x != nil { - return x.KeyFamily - } - return 0 -} - -func (x *KeyLocator) GetKeyIndex() int32 { - if x != nil { - return x.KeyIndex - } - return 0 -} - -type KeyDescriptor struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The raw bytes of the key being identified. - RawKeyBytes []byte `protobuf:"bytes,1,opt,name=raw_key_bytes,json=rawKeyBytes,proto3" json:"raw_key_bytes,omitempty"` - // The key locator that identifies which key to use for signing. - KeyLoc *KeyLocator `protobuf:"bytes,2,opt,name=key_loc,json=keyLoc,proto3" json:"key_loc,omitempty"` -} - -func (x *KeyDescriptor) Reset() { - *x = KeyDescriptor{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[73] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *KeyDescriptor) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*KeyDescriptor) ProtoMessage() {} - -func (x *KeyDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[73] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use KeyDescriptor.ProtoReflect.Descriptor instead. -func (*KeyDescriptor) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{73} -} - -func (x *KeyDescriptor) GetRawKeyBytes() []byte { - if x != nil { - return x.RawKeyBytes - } - return nil -} - -func (x *KeyDescriptor) GetKeyLoc() *KeyLocator { - if x != nil { - return x.KeyLoc - } - return nil -} - -type ChanPointShim struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The size of the pre-crafted output to be used as the channel point for this - // channel funding. - Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` - // The target channel point to refrence in created commitment transactions. - ChanPoint *ChannelPoint `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` - // Our local key to use when creating the multi-sig output. - LocalKey *KeyDescriptor `protobuf:"bytes,3,opt,name=local_key,json=localKey,proto3" json:"local_key,omitempty"` - // The key of the remote party to use when creating the multi-sig output. - RemoteKey []byte `protobuf:"bytes,4,opt,name=remote_key,json=remoteKey,proto3" json:"remote_key,omitempty"` - // If non-zero, then this will be used as the pending channel ID on the wire - // protocol to initate the funding request. This is an optional field, and - // should only be set if the responder is already expecting a specific pending - // channel ID. - PendingChanId []byte `protobuf:"bytes,5,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` - // This uint32 indicates if this channel is to be considered 'frozen'. A frozen - // channel does not allow a cooperative channel close by the initiator. The - // thaw_height is the height that this restriction stops applying to the - // channel. The height can be interpreted in two ways: as a relative height if - // the value is less than 500,000, or as an absolute height otherwise. - ThawHeight uint32 `protobuf:"varint,6,opt,name=thaw_height,json=thawHeight,proto3" json:"thaw_height,omitempty"` -} - -func (x *ChanPointShim) Reset() { - *x = ChanPointShim{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[74] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChanPointShim) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChanPointShim) ProtoMessage() {} - -func (x *ChanPointShim) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[74] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChanPointShim.ProtoReflect.Descriptor instead. -func (*ChanPointShim) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{74} -} - -func (x *ChanPointShim) GetAmt() int64 { - if x != nil { - return x.Amt - } - return 0 -} - -func (x *ChanPointShim) GetChanPoint() *ChannelPoint { - if x != nil { - return x.ChanPoint - } - return nil -} - -func (x *ChanPointShim) GetLocalKey() *KeyDescriptor { - if x != nil { - return x.LocalKey - } - return nil -} - -func (x *ChanPointShim) GetRemoteKey() []byte { - if x != nil { - return x.RemoteKey - } - return nil -} - -func (x *ChanPointShim) GetPendingChanId() []byte { - if x != nil { - return x.PendingChanId - } - return nil -} - -func (x *ChanPointShim) GetThawHeight() uint32 { - if x != nil { - return x.ThawHeight - } - return 0 -} - -type PsbtShim struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A unique identifier of 32 random bytes that will be used as the pending - // channel ID to identify the PSBT state machine when interacting with it and - // on the wire protocol to initiate the funding request. - PendingChanId []byte `protobuf:"bytes,1,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` - // An optional base PSBT the new channel output will be added to. If this is - // non-empty, it must be a binary serialized PSBT. - BasePsbt []byte `protobuf:"bytes,2,opt,name=base_psbt,json=basePsbt,proto3" json:"base_psbt,omitempty"` - // If a channel should be part of a batch (multiple channel openings in one - // transaction), it can be dangerous if the whole batch transaction is - // published too early before all channel opening negotiations are completed. - // This flag prevents this particular channel from broadcasting the transaction - // after the negotiation with the remote peer. In a batch of channel openings - // this flag should be set to true for every channel but the very last. - NoPublish bool `protobuf:"varint,3,opt,name=no_publish,json=noPublish,proto3" json:"no_publish,omitempty"` -} - -func (x *PsbtShim) Reset() { - *x = PsbtShim{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[75] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PsbtShim) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PsbtShim) ProtoMessage() {} - -func (x *PsbtShim) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[75] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PsbtShim.ProtoReflect.Descriptor instead. -func (*PsbtShim) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{75} -} - -func (x *PsbtShim) GetPendingChanId() []byte { - if x != nil { - return x.PendingChanId - } - return nil -} - -func (x *PsbtShim) GetBasePsbt() []byte { - if x != nil { - return x.BasePsbt - } - return nil -} - -func (x *PsbtShim) GetNoPublish() bool { - if x != nil { - return x.NoPublish - } - return false -} - -type FundingShim struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Shim: - // - // *FundingShim_ChanPointShim - // *FundingShim_PsbtShim - Shim isFundingShim_Shim `protobuf_oneof:"shim"` -} - -func (x *FundingShim) Reset() { - *x = FundingShim{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[76] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FundingShim) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FundingShim) ProtoMessage() {} - -func (x *FundingShim) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[76] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FundingShim.ProtoReflect.Descriptor instead. -func (*FundingShim) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{76} -} - -func (m *FundingShim) GetShim() isFundingShim_Shim { - if m != nil { - return m.Shim - } - return nil -} - -func (x *FundingShim) GetChanPointShim() *ChanPointShim { - if x, ok := x.GetShim().(*FundingShim_ChanPointShim); ok { - return x.ChanPointShim - } - return nil -} - -func (x *FundingShim) GetPsbtShim() *PsbtShim { - if x, ok := x.GetShim().(*FundingShim_PsbtShim); ok { - return x.PsbtShim - } - return nil -} - -type isFundingShim_Shim interface { - isFundingShim_Shim() -} - -type FundingShim_ChanPointShim struct { - // A channel shim where the channel point was fully constructed outside - // of lnd's wallet and the transaction might already be published. - ChanPointShim *ChanPointShim `protobuf:"bytes,1,opt,name=chan_point_shim,json=chanPointShim,proto3,oneof"` -} - -type FundingShim_PsbtShim struct { - // A channel shim that uses a PSBT to fund and sign the channel funding - // transaction. - PsbtShim *PsbtShim `protobuf:"bytes,2,opt,name=psbt_shim,json=psbtShim,proto3,oneof"` -} - -func (*FundingShim_ChanPointShim) isFundingShim_Shim() {} - -func (*FundingShim_PsbtShim) isFundingShim_Shim() {} - -type FundingShimCancel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The pending channel ID of the channel to cancel the funding shim for. - PendingChanId []byte `protobuf:"bytes,1,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` -} - -func (x *FundingShimCancel) Reset() { - *x = FundingShimCancel{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[77] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FundingShimCancel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FundingShimCancel) ProtoMessage() {} - -func (x *FundingShimCancel) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[77] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FundingShimCancel.ProtoReflect.Descriptor instead. -func (*FundingShimCancel) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{77} -} - -func (x *FundingShimCancel) GetPendingChanId() []byte { - if x != nil { - return x.PendingChanId - } - return nil -} - -type FundingPsbtVerify struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The funded but not yet signed PSBT that sends the exact channel capacity - // amount to the PK script returned in the open channel message in a previous - // step. - FundedPsbt []byte `protobuf:"bytes,1,opt,name=funded_psbt,json=fundedPsbt,proto3" json:"funded_psbt,omitempty"` - // The pending channel ID of the channel to get the PSBT for. - PendingChanId []byte `protobuf:"bytes,2,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` - // Can only be used if the no_publish flag was set to true in the OpenChannel - // call meaning that the caller is solely responsible for publishing the final - // funding transaction. If skip_finalize is set to true then lnd will not wait - // for a FundingPsbtFinalize state step and instead assumes that a transaction - // with the same TXID as the passed in PSBT will eventually confirm. - // IT IS ABSOLUTELY IMPERATIVE that the TXID of the transaction that is - // eventually published does have the _same TXID_ as the verified PSBT. That - // means no inputs or outputs can change, only signatures can be added. If the - // TXID changes between this call and the publish step then the channel will - // never be created and the funds will be in limbo. - SkipFinalize bool `protobuf:"varint,3,opt,name=skip_finalize,json=skipFinalize,proto3" json:"skip_finalize,omitempty"` -} - -func (x *FundingPsbtVerify) Reset() { - *x = FundingPsbtVerify{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[78] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FundingPsbtVerify) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FundingPsbtVerify) ProtoMessage() {} - -func (x *FundingPsbtVerify) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[78] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FundingPsbtVerify.ProtoReflect.Descriptor instead. -func (*FundingPsbtVerify) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{78} -} - -func (x *FundingPsbtVerify) GetFundedPsbt() []byte { - if x != nil { - return x.FundedPsbt - } - return nil -} - -func (x *FundingPsbtVerify) GetPendingChanId() []byte { - if x != nil { - return x.PendingChanId - } - return nil -} - -func (x *FundingPsbtVerify) GetSkipFinalize() bool { - if x != nil { - return x.SkipFinalize - } - return false -} - -type FundingPsbtFinalize struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The funded PSBT that contains all witness data to send the exact channel - // capacity amount to the PK script returned in the open channel message in a - // previous step. Cannot be set at the same time as final_raw_tx. - SignedPsbt []byte `protobuf:"bytes,1,opt,name=signed_psbt,json=signedPsbt,proto3" json:"signed_psbt,omitempty"` - // The pending channel ID of the channel to get the PSBT for. - PendingChanId []byte `protobuf:"bytes,2,opt,name=pending_chan_id,json=pendingChanId,proto3" json:"pending_chan_id,omitempty"` - // As an alternative to the signed PSBT with all witness data, the final raw - // wire format transaction can also be specified directly. Cannot be set at the - // same time as signed_psbt. - FinalRawTx []byte `protobuf:"bytes,3,opt,name=final_raw_tx,json=finalRawTx,proto3" json:"final_raw_tx,omitempty"` -} - -func (x *FundingPsbtFinalize) Reset() { - *x = FundingPsbtFinalize{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[79] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FundingPsbtFinalize) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FundingPsbtFinalize) ProtoMessage() {} - -func (x *FundingPsbtFinalize) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[79] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FundingPsbtFinalize.ProtoReflect.Descriptor instead. -func (*FundingPsbtFinalize) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{79} -} - -func (x *FundingPsbtFinalize) GetSignedPsbt() []byte { - if x != nil { - return x.SignedPsbt - } - return nil -} - -func (x *FundingPsbtFinalize) GetPendingChanId() []byte { - if x != nil { - return x.PendingChanId - } - return nil -} - -func (x *FundingPsbtFinalize) GetFinalRawTx() []byte { - if x != nil { - return x.FinalRawTx - } - return nil -} - -type FundingTransitionMsg struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Trigger: - // - // *FundingTransitionMsg_ShimRegister - // *FundingTransitionMsg_ShimCancel - // *FundingTransitionMsg_PsbtVerify - // *FundingTransitionMsg_PsbtFinalize - Trigger isFundingTransitionMsg_Trigger `protobuf_oneof:"trigger"` -} - -func (x *FundingTransitionMsg) Reset() { - *x = FundingTransitionMsg{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[80] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FundingTransitionMsg) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FundingTransitionMsg) ProtoMessage() {} - -func (x *FundingTransitionMsg) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[80] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FundingTransitionMsg.ProtoReflect.Descriptor instead. -func (*FundingTransitionMsg) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{80} -} - -func (m *FundingTransitionMsg) GetTrigger() isFundingTransitionMsg_Trigger { - if m != nil { - return m.Trigger - } - return nil -} - -func (x *FundingTransitionMsg) GetShimRegister() *FundingShim { - if x, ok := x.GetTrigger().(*FundingTransitionMsg_ShimRegister); ok { - return x.ShimRegister - } - return nil -} - -func (x *FundingTransitionMsg) GetShimCancel() *FundingShimCancel { - if x, ok := x.GetTrigger().(*FundingTransitionMsg_ShimCancel); ok { - return x.ShimCancel - } - return nil -} - -func (x *FundingTransitionMsg) GetPsbtVerify() *FundingPsbtVerify { - if x, ok := x.GetTrigger().(*FundingTransitionMsg_PsbtVerify); ok { - return x.PsbtVerify - } - return nil -} - -func (x *FundingTransitionMsg) GetPsbtFinalize() *FundingPsbtFinalize { - if x, ok := x.GetTrigger().(*FundingTransitionMsg_PsbtFinalize); ok { - return x.PsbtFinalize - } - return nil -} - -type isFundingTransitionMsg_Trigger interface { - isFundingTransitionMsg_Trigger() -} - -type FundingTransitionMsg_ShimRegister struct { - // The funding shim to register. This should be used before any - // channel funding has began by the remote party, as it is intended as a - // preparatory step for the full channel funding. - ShimRegister *FundingShim `protobuf:"bytes,1,opt,name=shim_register,json=shimRegister,proto3,oneof"` -} - -type FundingTransitionMsg_ShimCancel struct { - // Used to cancel an existing registered funding shim. - ShimCancel *FundingShimCancel `protobuf:"bytes,2,opt,name=shim_cancel,json=shimCancel,proto3,oneof"` -} - -type FundingTransitionMsg_PsbtVerify struct { - // Used to continue a funding flow that was initiated to be executed - // through a PSBT. This step verifies that the PSBT contains the correct - // outputs to fund the channel. - PsbtVerify *FundingPsbtVerify `protobuf:"bytes,3,opt,name=psbt_verify,json=psbtVerify,proto3,oneof"` -} - -type FundingTransitionMsg_PsbtFinalize struct { - // Used to continue a funding flow that was initiated to be executed - // through a PSBT. This step finalizes the funded and signed PSBT, finishes - // negotiation with the peer and finally publishes the resulting funding - // transaction. - PsbtFinalize *FundingPsbtFinalize `protobuf:"bytes,4,opt,name=psbt_finalize,json=psbtFinalize,proto3,oneof"` -} - -func (*FundingTransitionMsg_ShimRegister) isFundingTransitionMsg_Trigger() {} - -func (*FundingTransitionMsg_ShimCancel) isFundingTransitionMsg_Trigger() {} - -func (*FundingTransitionMsg_PsbtVerify) isFundingTransitionMsg_Trigger() {} - -func (*FundingTransitionMsg_PsbtFinalize) isFundingTransitionMsg_Trigger() {} - -type FundingStateStepResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *FundingStateStepResp) Reset() { - *x = FundingStateStepResp{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[81] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FundingStateStepResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FundingStateStepResp) ProtoMessage() {} - -func (x *FundingStateStepResp) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[81] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FundingStateStepResp.ProtoReflect.Descriptor instead. -func (*FundingStateStepResp) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{81} -} - -type PendingHTLC struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The direction within the channel that the htlc was sent - Incoming bool `protobuf:"varint,1,opt,name=incoming,proto3" json:"incoming,omitempty"` - // The total value of the htlc - Amount int64 `protobuf:"varint,2,opt,name=amount,proto3" json:"amount,omitempty"` - // The final output to be swept back to the user's wallet - Outpoint string `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"` - // The next block height at which we can spend the current stage - MaturityHeight uint32 `protobuf:"varint,4,opt,name=maturity_height,json=maturityHeight,proto3" json:"maturity_height,omitempty"` - // The number of blocks remaining until the current stage can be swept. - // Negative values indicate how many blocks have passed since becoming - // mature. - BlocksTilMaturity int32 `protobuf:"varint,5,opt,name=blocks_til_maturity,json=blocksTilMaturity,proto3" json:"blocks_til_maturity,omitempty"` - // Indicates whether the htlc is in its first or second stage of recovery - Stage uint32 `protobuf:"varint,6,opt,name=stage,proto3" json:"stage,omitempty"` -} - -func (x *PendingHTLC) Reset() { - *x = PendingHTLC{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[82] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PendingHTLC) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PendingHTLC) ProtoMessage() {} - -func (x *PendingHTLC) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[82] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PendingHTLC.ProtoReflect.Descriptor instead. -func (*PendingHTLC) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{82} -} - -func (x *PendingHTLC) GetIncoming() bool { - if x != nil { - return x.Incoming - } - return false -} - -func (x *PendingHTLC) GetAmount() int64 { - if x != nil { - return x.Amount - } - return 0 -} - -func (x *PendingHTLC) GetOutpoint() string { - if x != nil { - return x.Outpoint - } - return "" -} - -func (x *PendingHTLC) GetMaturityHeight() uint32 { - if x != nil { - return x.MaturityHeight - } - return 0 -} - -func (x *PendingHTLC) GetBlocksTilMaturity() int32 { - if x != nil { - return x.BlocksTilMaturity - } - return 0 -} - -func (x *PendingHTLC) GetStage() uint32 { - if x != nil { - return x.Stage - } - return 0 -} - -type PendingChannelsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PendingChannelsRequest) Reset() { - *x = PendingChannelsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[83] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PendingChannelsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PendingChannelsRequest) ProtoMessage() {} - -func (x *PendingChannelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[83] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PendingChannelsRequest.ProtoReflect.Descriptor instead. -func (*PendingChannelsRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{83} -} - -type PendingChannelsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The balance in satoshis encumbered in pending channels - TotalLimboBalance int64 `protobuf:"varint,1,opt,name=total_limbo_balance,json=totalLimboBalance,proto3" json:"total_limbo_balance,omitempty"` - // Channels pending opening - PendingOpenChannels []*PendingChannelsResponse_PendingOpenChannel `protobuf:"bytes,2,rep,name=pending_open_channels,json=pendingOpenChannels,proto3" json:"pending_open_channels,omitempty"` - // Deprecated: Channels pending closing previously contained cooperatively - // closed channels with a single confirmation. These channels are now - // considered closed from the time we see them on chain. - // - // Deprecated: Do not use. - PendingClosingChannels []*PendingChannelsResponse_ClosedChannel `protobuf:"bytes,3,rep,name=pending_closing_channels,json=pendingClosingChannels,proto3" json:"pending_closing_channels,omitempty"` - // Channels pending force closing - PendingForceClosingChannels []*PendingChannelsResponse_ForceClosedChannel `protobuf:"bytes,4,rep,name=pending_force_closing_channels,json=pendingForceClosingChannels,proto3" json:"pending_force_closing_channels,omitempty"` - // Channels waiting for closing tx to confirm - WaitingCloseChannels []*PendingChannelsResponse_WaitingCloseChannel `protobuf:"bytes,5,rep,name=waiting_close_channels,json=waitingCloseChannels,proto3" json:"waiting_close_channels,omitempty"` -} - -func (x *PendingChannelsResponse) Reset() { - *x = PendingChannelsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[84] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PendingChannelsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PendingChannelsResponse) ProtoMessage() {} - -func (x *PendingChannelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[84] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PendingChannelsResponse.ProtoReflect.Descriptor instead. -func (*PendingChannelsResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{84} -} - -func (x *PendingChannelsResponse) GetTotalLimboBalance() int64 { - if x != nil { - return x.TotalLimboBalance - } - return 0 -} - -func (x *PendingChannelsResponse) GetPendingOpenChannels() []*PendingChannelsResponse_PendingOpenChannel { - if x != nil { - return x.PendingOpenChannels - } - return nil -} - -// Deprecated: Do not use. -func (x *PendingChannelsResponse) GetPendingClosingChannels() []*PendingChannelsResponse_ClosedChannel { - if x != nil { - return x.PendingClosingChannels - } - return nil -} - -func (x *PendingChannelsResponse) GetPendingForceClosingChannels() []*PendingChannelsResponse_ForceClosedChannel { - if x != nil { - return x.PendingForceClosingChannels - } - return nil -} - -func (x *PendingChannelsResponse) GetWaitingCloseChannels() []*PendingChannelsResponse_WaitingCloseChannel { - if x != nil { - return x.WaitingCloseChannels - } - return nil -} - -type ChannelEventSubscription struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ChannelEventSubscription) Reset() { - *x = ChannelEventSubscription{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[85] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelEventSubscription) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelEventSubscription) ProtoMessage() {} - -func (x *ChannelEventSubscription) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[85] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelEventSubscription.ProtoReflect.Descriptor instead. -func (*ChannelEventSubscription) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{85} -} - -type ChannelEventUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Channel: - // - // *ChannelEventUpdate_OpenChannel - // *ChannelEventUpdate_ClosedChannel - // *ChannelEventUpdate_ActiveChannel - // *ChannelEventUpdate_InactiveChannel - // *ChannelEventUpdate_PendingOpenChannel - // *ChannelEventUpdate_FullyResolvedChannel - Channel isChannelEventUpdate_Channel `protobuf_oneof:"channel"` - Type ChannelEventUpdate_UpdateType `protobuf:"varint,5,opt,name=type,proto3,enum=lnrpc.ChannelEventUpdate_UpdateType" json:"type,omitempty"` -} - -func (x *ChannelEventUpdate) Reset() { - *x = ChannelEventUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[86] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelEventUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelEventUpdate) ProtoMessage() {} - -func (x *ChannelEventUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[86] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelEventUpdate.ProtoReflect.Descriptor instead. -func (*ChannelEventUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{86} -} - -func (m *ChannelEventUpdate) GetChannel() isChannelEventUpdate_Channel { - if m != nil { - return m.Channel - } - return nil -} - -func (x *ChannelEventUpdate) GetOpenChannel() *Channel { - if x, ok := x.GetChannel().(*ChannelEventUpdate_OpenChannel); ok { - return x.OpenChannel - } - return nil -} - -func (x *ChannelEventUpdate) GetClosedChannel() *ChannelCloseSummary { - if x, ok := x.GetChannel().(*ChannelEventUpdate_ClosedChannel); ok { - return x.ClosedChannel - } - return nil -} - -func (x *ChannelEventUpdate) GetActiveChannel() *ChannelPoint { - if x, ok := x.GetChannel().(*ChannelEventUpdate_ActiveChannel); ok { - return x.ActiveChannel - } - return nil -} - -func (x *ChannelEventUpdate) GetInactiveChannel() *ChannelPoint { - if x, ok := x.GetChannel().(*ChannelEventUpdate_InactiveChannel); ok { - return x.InactiveChannel - } - return nil -} - -func (x *ChannelEventUpdate) GetPendingOpenChannel() *PendingUpdate { - if x, ok := x.GetChannel().(*ChannelEventUpdate_PendingOpenChannel); ok { - return x.PendingOpenChannel - } - return nil -} - -func (x *ChannelEventUpdate) GetFullyResolvedChannel() *ChannelPoint { - if x, ok := x.GetChannel().(*ChannelEventUpdate_FullyResolvedChannel); ok { - return x.FullyResolvedChannel - } - return nil -} - -func (x *ChannelEventUpdate) GetType() ChannelEventUpdate_UpdateType { - if x != nil { - return x.Type - } - return ChannelEventUpdate_OPEN_CHANNEL -} - -type isChannelEventUpdate_Channel interface { - isChannelEventUpdate_Channel() -} - -type ChannelEventUpdate_OpenChannel struct { - OpenChannel *Channel `protobuf:"bytes,1,opt,name=open_channel,json=openChannel,proto3,oneof"` -} - -type ChannelEventUpdate_ClosedChannel struct { - ClosedChannel *ChannelCloseSummary `protobuf:"bytes,2,opt,name=closed_channel,json=closedChannel,proto3,oneof"` -} - -type ChannelEventUpdate_ActiveChannel struct { - ActiveChannel *ChannelPoint `protobuf:"bytes,3,opt,name=active_channel,json=activeChannel,proto3,oneof"` -} - -type ChannelEventUpdate_InactiveChannel struct { - InactiveChannel *ChannelPoint `protobuf:"bytes,4,opt,name=inactive_channel,json=inactiveChannel,proto3,oneof"` -} - -type ChannelEventUpdate_PendingOpenChannel struct { - PendingOpenChannel *PendingUpdate `protobuf:"bytes,6,opt,name=pending_open_channel,json=pendingOpenChannel,proto3,oneof"` -} - -type ChannelEventUpdate_FullyResolvedChannel struct { - FullyResolvedChannel *ChannelPoint `protobuf:"bytes,7,opt,name=fully_resolved_channel,json=fullyResolvedChannel,proto3,oneof"` -} - -func (*ChannelEventUpdate_OpenChannel) isChannelEventUpdate_Channel() {} - -func (*ChannelEventUpdate_ClosedChannel) isChannelEventUpdate_Channel() {} - -func (*ChannelEventUpdate_ActiveChannel) isChannelEventUpdate_Channel() {} - -func (*ChannelEventUpdate_InactiveChannel) isChannelEventUpdate_Channel() {} - -func (*ChannelEventUpdate_PendingOpenChannel) isChannelEventUpdate_Channel() {} - -func (*ChannelEventUpdate_FullyResolvedChannel) isChannelEventUpdate_Channel() {} - -type WalletAccountBalance struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The confirmed balance of the account (with >= 1 confirmations). - ConfirmedBalance int64 `protobuf:"varint,1,opt,name=confirmed_balance,json=confirmedBalance,proto3" json:"confirmed_balance,omitempty"` - // The unconfirmed balance of the account (with 0 confirmations). - UnconfirmedBalance int64 `protobuf:"varint,2,opt,name=unconfirmed_balance,json=unconfirmedBalance,proto3" json:"unconfirmed_balance,omitempty"` -} - -func (x *WalletAccountBalance) Reset() { - *x = WalletAccountBalance{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[87] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WalletAccountBalance) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WalletAccountBalance) ProtoMessage() {} - -func (x *WalletAccountBalance) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[87] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WalletAccountBalance.ProtoReflect.Descriptor instead. -func (*WalletAccountBalance) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{87} -} - -func (x *WalletAccountBalance) GetConfirmedBalance() int64 { - if x != nil { - return x.ConfirmedBalance - } - return 0 -} - -func (x *WalletAccountBalance) GetUnconfirmedBalance() int64 { - if x != nil { - return x.UnconfirmedBalance - } - return 0 -} - -type WalletBalanceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *WalletBalanceRequest) Reset() { - *x = WalletBalanceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[88] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WalletBalanceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WalletBalanceRequest) ProtoMessage() {} - -func (x *WalletBalanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[88] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WalletBalanceRequest.ProtoReflect.Descriptor instead. -func (*WalletBalanceRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{88} -} - -type WalletBalanceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The balance of the wallet - TotalBalance int64 `protobuf:"varint,1,opt,name=total_balance,json=totalBalance,proto3" json:"total_balance,omitempty"` - // The confirmed balance of a wallet(with >= 1 confirmations) - ConfirmedBalance int64 `protobuf:"varint,2,opt,name=confirmed_balance,json=confirmedBalance,proto3" json:"confirmed_balance,omitempty"` - // The unconfirmed balance of a wallet(with 0 confirmations) - UnconfirmedBalance int64 `protobuf:"varint,3,opt,name=unconfirmed_balance,json=unconfirmedBalance,proto3" json:"unconfirmed_balance,omitempty"` - // The total amount of wallet UTXOs held in outputs that are locked for - // other usage. - LockedBalance int64 `protobuf:"varint,5,opt,name=locked_balance,json=lockedBalance,proto3" json:"locked_balance,omitempty"` - // The amount of reserve required. - ReservedBalanceAnchorChan int64 `protobuf:"varint,6,opt,name=reserved_balance_anchor_chan,json=reservedBalanceAnchorChan,proto3" json:"reserved_balance_anchor_chan,omitempty"` - // A mapping of each wallet account's name to its balance. - 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"` -} - -func (x *WalletBalanceResponse) Reset() { - *x = WalletBalanceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[89] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WalletBalanceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WalletBalanceResponse) ProtoMessage() {} - -func (x *WalletBalanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[89] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WalletBalanceResponse.ProtoReflect.Descriptor instead. -func (*WalletBalanceResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{89} -} - -func (x *WalletBalanceResponse) GetTotalBalance() int64 { - if x != nil { - return x.TotalBalance - } - return 0 -} - -func (x *WalletBalanceResponse) GetConfirmedBalance() int64 { - if x != nil { - return x.ConfirmedBalance - } - return 0 -} - -func (x *WalletBalanceResponse) GetUnconfirmedBalance() int64 { - if x != nil { - return x.UnconfirmedBalance - } - return 0 -} - -func (x *WalletBalanceResponse) GetLockedBalance() int64 { - if x != nil { - return x.LockedBalance - } - return 0 -} - -func (x *WalletBalanceResponse) GetReservedBalanceAnchorChan() int64 { - if x != nil { - return x.ReservedBalanceAnchorChan - } - return 0 -} - -func (x *WalletBalanceResponse) GetAccountBalance() map[string]*WalletAccountBalance { - if x != nil { - return x.AccountBalance - } - return nil -} - -type Amount struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Value denominated in satoshis. - Sat uint64 `protobuf:"varint,1,opt,name=sat,proto3" json:"sat,omitempty"` - // Value denominated in milli-satoshis. - Msat uint64 `protobuf:"varint,2,opt,name=msat,proto3" json:"msat,omitempty"` -} - -func (x *Amount) Reset() { - *x = Amount{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[90] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Amount) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Amount) ProtoMessage() {} - -func (x *Amount) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[90] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Amount.ProtoReflect.Descriptor instead. -func (*Amount) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{90} -} - -func (x *Amount) GetSat() uint64 { - if x != nil { - return x.Sat - } - return 0 -} - -func (x *Amount) GetMsat() uint64 { - if x != nil { - return x.Msat - } - return 0 -} - -type ChannelBalanceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ChannelBalanceRequest) Reset() { - *x = ChannelBalanceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[91] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelBalanceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelBalanceRequest) ProtoMessage() {} - -func (x *ChannelBalanceRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[91] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelBalanceRequest.ProtoReflect.Descriptor instead. -func (*ChannelBalanceRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{91} -} - -type ChannelBalanceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Deprecated. Sum of channels balances denominated in satoshis - // - // Deprecated: Do not use. - Balance int64 `protobuf:"varint,1,opt,name=balance,proto3" json:"balance,omitempty"` - // Deprecated. Sum of channels pending balances denominated in satoshis - // - // Deprecated: Do not use. - PendingOpenBalance int64 `protobuf:"varint,2,opt,name=pending_open_balance,json=pendingOpenBalance,proto3" json:"pending_open_balance,omitempty"` - // Sum of channels local balances. - LocalBalance *Amount `protobuf:"bytes,3,opt,name=local_balance,json=localBalance,proto3" json:"local_balance,omitempty"` - // Sum of channels remote balances. - RemoteBalance *Amount `protobuf:"bytes,4,opt,name=remote_balance,json=remoteBalance,proto3" json:"remote_balance,omitempty"` - // Sum of channels local unsettled balances. - UnsettledLocalBalance *Amount `protobuf:"bytes,5,opt,name=unsettled_local_balance,json=unsettledLocalBalance,proto3" json:"unsettled_local_balance,omitempty"` - // Sum of channels remote unsettled balances. - UnsettledRemoteBalance *Amount `protobuf:"bytes,6,opt,name=unsettled_remote_balance,json=unsettledRemoteBalance,proto3" json:"unsettled_remote_balance,omitempty"` - // Sum of channels pending local balances. - PendingOpenLocalBalance *Amount `protobuf:"bytes,7,opt,name=pending_open_local_balance,json=pendingOpenLocalBalance,proto3" json:"pending_open_local_balance,omitempty"` - // Sum of channels pending remote balances. - PendingOpenRemoteBalance *Amount `protobuf:"bytes,8,opt,name=pending_open_remote_balance,json=pendingOpenRemoteBalance,proto3" json:"pending_open_remote_balance,omitempty"` -} - -func (x *ChannelBalanceResponse) Reset() { - *x = ChannelBalanceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[92] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelBalanceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelBalanceResponse) ProtoMessage() {} - -func (x *ChannelBalanceResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[92] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelBalanceResponse.ProtoReflect.Descriptor instead. -func (*ChannelBalanceResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{92} -} - -// Deprecated: Do not use. -func (x *ChannelBalanceResponse) GetBalance() int64 { - if x != nil { - return x.Balance - } - return 0 -} - -// Deprecated: Do not use. -func (x *ChannelBalanceResponse) GetPendingOpenBalance() int64 { - if x != nil { - return x.PendingOpenBalance - } - return 0 -} - -func (x *ChannelBalanceResponse) GetLocalBalance() *Amount { - if x != nil { - return x.LocalBalance - } - return nil -} - -func (x *ChannelBalanceResponse) GetRemoteBalance() *Amount { - if x != nil { - return x.RemoteBalance - } - return nil -} - -func (x *ChannelBalanceResponse) GetUnsettledLocalBalance() *Amount { - if x != nil { - return x.UnsettledLocalBalance - } - return nil -} - -func (x *ChannelBalanceResponse) GetUnsettledRemoteBalance() *Amount { - if x != nil { - return x.UnsettledRemoteBalance - } - return nil -} - -func (x *ChannelBalanceResponse) GetPendingOpenLocalBalance() *Amount { - if x != nil { - return x.PendingOpenLocalBalance - } - return nil -} - -func (x *ChannelBalanceResponse) GetPendingOpenRemoteBalance() *Amount { - if x != nil { - return x.PendingOpenRemoteBalance - } - return nil -} - -type QueryRoutesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The 33-byte hex-encoded public key for the payment destination - PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` - // The amount to send expressed in satoshis. - // - // The fields amt and amt_msat are mutually exclusive. - Amt int64 `protobuf:"varint,2,opt,name=amt,proto3" json:"amt,omitempty"` - // The amount to send expressed in millisatoshis. - // - // The fields amt and amt_msat are mutually exclusive. - AmtMsat int64 `protobuf:"varint,12,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"` - // An optional CLTV delta from the current height that should be used for the - // timelock of the final hop. Note that unlike SendPayment, QueryRoutes does - // not add any additional block padding on top of final_ctlv_delta. This - // padding of a few blocks needs to be added manually or otherwise failures may - // happen when a block comes in while the payment is in flight. - FinalCltvDelta int32 `protobuf:"varint,4,opt,name=final_cltv_delta,json=finalCltvDelta,proto3" json:"final_cltv_delta,omitempty"` - // The maximum number of satoshis that will be paid as a fee of the payment. - // This value can be represented either as a percentage of the amount being - // sent, or as a fixed amount of the maximum fee the user is willing the pay to - // send the payment. If not specified, lnd will use a default value of 100% - // fees for small amounts (<=1k sat) or 5% fees for larger amounts. - FeeLimit *FeeLimit `protobuf:"bytes,5,opt,name=fee_limit,json=feeLimit,proto3" json:"fee_limit,omitempty"` - // A list of nodes to ignore during path finding. When using REST, these fields - // must be encoded as base64. - IgnoredNodes [][]byte `protobuf:"bytes,6,rep,name=ignored_nodes,json=ignoredNodes,proto3" json:"ignored_nodes,omitempty"` - // Deprecated. A list of edges to ignore during path finding. - // - // Deprecated: Do not use. - IgnoredEdges []*EdgeLocator `protobuf:"bytes,7,rep,name=ignored_edges,json=ignoredEdges,proto3" json:"ignored_edges,omitempty"` - // The source node where the request route should originated from. If empty, - // self is assumed. - SourcePubKey string `protobuf:"bytes,8,opt,name=source_pub_key,json=sourcePubKey,proto3" json:"source_pub_key,omitempty"` - // If set to true, edge probabilities from mission control will be used to get - // the optimal route. - UseMissionControl bool `protobuf:"varint,9,opt,name=use_mission_control,json=useMissionControl,proto3" json:"use_mission_control,omitempty"` - // A list of directed node pairs that will be ignored during path finding. - IgnoredPairs []*NodePair `protobuf:"bytes,10,rep,name=ignored_pairs,json=ignoredPairs,proto3" json:"ignored_pairs,omitempty"` - // An optional maximum total time lock for the route. If the source is empty or - // ourselves, this should not exceed lnd's `--max-cltv-expiry` setting. If - // zero, then the value of `--max-cltv-expiry` is used as the limit. - CltvLimit uint32 `protobuf:"varint,11,opt,name=cltv_limit,json=cltvLimit,proto3" json:"cltv_limit,omitempty"` - // An optional field that can be used to pass an arbitrary set of TLV records - // to a peer which understands the new records. This can be used to pass - // application specific data during the payment attempt. If the destination - // does not support the specified records, an error will be returned. - // Record types are required to be in the custom range >= 65536. When using - // REST, the values must be encoded as base64. - 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"` - // The channel id of the channel that must be taken to the first hop. If zero, - // any channel may be used. - OutgoingChanId uint64 `protobuf:"varint,14,opt,name=outgoing_chan_id,json=outgoingChanId,proto3" json:"outgoing_chan_id,omitempty"` - // The pubkey of the last hop of the route. If empty, any hop may be used. - LastHopPubkey []byte `protobuf:"bytes,15,opt,name=last_hop_pubkey,json=lastHopPubkey,proto3" json:"last_hop_pubkey,omitempty"` - // Optional route hints to reach the destination through private channels. - RouteHints []*RouteHint `protobuf:"bytes,16,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` - // Features assumed to be supported by the final node. All transitive feature - // dependencies must also be set properly. For a given feature bit pair, either - // optional or remote may be set, but not both. If this field is nil or empty, - // the router will try to load destination features from the graph as a - // fallback. - DestFeatures []FeatureBit `protobuf:"varint,17,rep,packed,name=dest_features,json=destFeatures,proto3,enum=lnrpc.FeatureBit" json:"dest_features,omitempty"` - // The time preference for this payment. Set to -1 to optimize for fees - // only, to 1 to optimize for reliability only or a value inbetween for a mix. - TimePref float64 `protobuf:"fixed64,18,opt,name=time_pref,json=timePref,proto3" json:"time_pref,omitempty"` -} - -func (x *QueryRoutesRequest) Reset() { - *x = QueryRoutesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[93] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryRoutesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryRoutesRequest) ProtoMessage() {} - -func (x *QueryRoutesRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[93] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QueryRoutesRequest.ProtoReflect.Descriptor instead. -func (*QueryRoutesRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{93} -} - -func (x *QueryRoutesRequest) GetPubKey() string { - if x != nil { - return x.PubKey - } - return "" -} - -func (x *QueryRoutesRequest) GetAmt() int64 { - if x != nil { - return x.Amt - } - return 0 -} - -func (x *QueryRoutesRequest) GetAmtMsat() int64 { - if x != nil { - return x.AmtMsat - } - return 0 -} - -func (x *QueryRoutesRequest) GetFinalCltvDelta() int32 { - if x != nil { - return x.FinalCltvDelta - } - return 0 -} - -func (x *QueryRoutesRequest) GetFeeLimit() *FeeLimit { - if x != nil { - return x.FeeLimit - } - return nil -} - -func (x *QueryRoutesRequest) GetIgnoredNodes() [][]byte { - if x != nil { - return x.IgnoredNodes - } - return nil -} - -// Deprecated: Do not use. -func (x *QueryRoutesRequest) GetIgnoredEdges() []*EdgeLocator { - if x != nil { - return x.IgnoredEdges - } - return nil -} - -func (x *QueryRoutesRequest) GetSourcePubKey() string { - if x != nil { - return x.SourcePubKey - } - return "" -} - -func (x *QueryRoutesRequest) GetUseMissionControl() bool { - if x != nil { - return x.UseMissionControl - } - return false -} - -func (x *QueryRoutesRequest) GetIgnoredPairs() []*NodePair { - if x != nil { - return x.IgnoredPairs - } - return nil -} - -func (x *QueryRoutesRequest) GetCltvLimit() uint32 { - if x != nil { - return x.CltvLimit - } - return 0 -} - -func (x *QueryRoutesRequest) GetDestCustomRecords() map[uint64][]byte { - if x != nil { - return x.DestCustomRecords - } - return nil -} - -func (x *QueryRoutesRequest) GetOutgoingChanId() uint64 { - if x != nil { - return x.OutgoingChanId - } - return 0 -} - -func (x *QueryRoutesRequest) GetLastHopPubkey() []byte { - if x != nil { - return x.LastHopPubkey - } - return nil -} - -func (x *QueryRoutesRequest) GetRouteHints() []*RouteHint { - if x != nil { - return x.RouteHints - } - return nil -} - -func (x *QueryRoutesRequest) GetDestFeatures() []FeatureBit { - if x != nil { - return x.DestFeatures - } - return nil -} - -func (x *QueryRoutesRequest) GetTimePref() float64 { - if x != nil { - return x.TimePref - } - return 0 -} - -type NodePair struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The sending node of the pair. When using REST, this field must be encoded as - // base64. - From []byte `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"` - // The receiving node of the pair. When using REST, this field must be encoded - // as base64. - To []byte `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"` -} - -func (x *NodePair) Reset() { - *x = NodePair{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[94] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NodePair) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NodePair) ProtoMessage() {} - -func (x *NodePair) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[94] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NodePair.ProtoReflect.Descriptor instead. -func (*NodePair) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{94} -} - -func (x *NodePair) GetFrom() []byte { - if x != nil { - return x.From - } - return nil -} - -func (x *NodePair) GetTo() []byte { - if x != nil { - return x.To - } - return nil -} - -type EdgeLocator struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The short channel id of this edge. - ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` - // The direction of this edge. If direction_reverse is false, the direction - // of this edge is from the channel endpoint with the lexicographically smaller - // pub key to the endpoint with the larger pub key. If direction_reverse is - // is true, the edge goes the other way. - DirectionReverse bool `protobuf:"varint,2,opt,name=direction_reverse,json=directionReverse,proto3" json:"direction_reverse,omitempty"` -} - -func (x *EdgeLocator) Reset() { - *x = EdgeLocator{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[95] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *EdgeLocator) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*EdgeLocator) ProtoMessage() {} - -func (x *EdgeLocator) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[95] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use EdgeLocator.ProtoReflect.Descriptor instead. -func (*EdgeLocator) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{95} -} - -func (x *EdgeLocator) GetChannelId() uint64 { - if x != nil { - return x.ChannelId - } - return 0 -} - -func (x *EdgeLocator) GetDirectionReverse() bool { - if x != nil { - return x.DirectionReverse - } - return false -} - -type QueryRoutesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The route that results from the path finding operation. This is still a - // repeated field to retain backwards compatibility. - Routes []*Route `protobuf:"bytes,1,rep,name=routes,proto3" json:"routes,omitempty"` - // The success probability of the returned route based on the current mission - // control state. [EXPERIMENTAL] - SuccessProb float64 `protobuf:"fixed64,2,opt,name=success_prob,json=successProb,proto3" json:"success_prob,omitempty"` -} - -func (x *QueryRoutesResponse) Reset() { - *x = QueryRoutesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[96] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *QueryRoutesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*QueryRoutesResponse) ProtoMessage() {} - -func (x *QueryRoutesResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[96] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use QueryRoutesResponse.ProtoReflect.Descriptor instead. -func (*QueryRoutesResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{96} -} - -func (x *QueryRoutesResponse) GetRoutes() []*Route { - if x != nil { - return x.Routes - } - return nil -} - -func (x *QueryRoutesResponse) GetSuccessProb() float64 { - if x != nil { - return x.SuccessProb - } - return 0 -} - -type Hop struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The unique channel ID for the channel. The first 3 bytes are the block - // height, the next 3 the index within the block, and the last 2 bytes are the - // output index for the channel. - ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` - // Deprecated: Do not use. - ChanCapacity int64 `protobuf:"varint,2,opt,name=chan_capacity,json=chanCapacity,proto3" json:"chan_capacity,omitempty"` - // Deprecated: Do not use. - AmtToForward int64 `protobuf:"varint,3,opt,name=amt_to_forward,json=amtToForward,proto3" json:"amt_to_forward,omitempty"` - // Deprecated: Do not use. - Fee int64 `protobuf:"varint,4,opt,name=fee,proto3" json:"fee,omitempty"` - Expiry uint32 `protobuf:"varint,5,opt,name=expiry,proto3" json:"expiry,omitempty"` - AmtToForwardMsat int64 `protobuf:"varint,6,opt,name=amt_to_forward_msat,json=amtToForwardMsat,proto3" json:"amt_to_forward_msat,omitempty"` - FeeMsat int64 `protobuf:"varint,7,opt,name=fee_msat,json=feeMsat,proto3" json:"fee_msat,omitempty"` - // An optional public key of the hop. If the public key is given, the payment - // can be executed without relying on a copy of the channel graph. - PubKey string `protobuf:"bytes,8,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` - // If set to true, then this hop will be encoded using the new variable length - // TLV format. Note that if any custom tlv_records below are specified, then - // this field MUST be set to true for them to be encoded properly. - // - // Deprecated: Do not use. - TlvPayload bool `protobuf:"varint,9,opt,name=tlv_payload,json=tlvPayload,proto3" json:"tlv_payload,omitempty"` - // An optional TLV record that signals the use of an MPP payment. If present, - // the receiver will enforce that the same mpp_record is included in the final - // hop payload of all non-zero payments in the HTLC set. If empty, a regular - // single-shot payment is or was attempted. - MppRecord *MPPRecord `protobuf:"bytes,10,opt,name=mpp_record,json=mppRecord,proto3" json:"mpp_record,omitempty"` - // An optional TLV record that signals the use of an AMP payment. If present, - // the receiver will treat all received payments including the same - // (payment_addr, set_id) pair as being part of one logical payment. The - // payment will be settled by XORing the root_share's together and deriving the - // child hashes and preimages according to BOLT XX. Must be used in conjunction - // with mpp_record. - AmpRecord *AMPRecord `protobuf:"bytes,12,opt,name=amp_record,json=ampRecord,proto3" json:"amp_record,omitempty"` - // An optional set of key-value TLV records. This is useful within the context - // of the SendToRoute call as it allows callers to specify arbitrary K-V pairs - // to drop off at each hop within the onion. - 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"` - // The payment metadata to send along with the payment to the payee. - Metadata []byte `protobuf:"bytes,13,opt,name=metadata,proto3" json:"metadata,omitempty"` -} - -func (x *Hop) Reset() { - *x = Hop{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[97] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Hop) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Hop) ProtoMessage() {} - -func (x *Hop) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[97] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Hop.ProtoReflect.Descriptor instead. -func (*Hop) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{97} -} - -func (x *Hop) GetChanId() uint64 { - if x != nil { - return x.ChanId - } - return 0 -} - -// Deprecated: Do not use. -func (x *Hop) GetChanCapacity() int64 { - if x != nil { - return x.ChanCapacity - } - return 0 -} - -// Deprecated: Do not use. -func (x *Hop) GetAmtToForward() int64 { - if x != nil { - return x.AmtToForward - } - return 0 -} - -// Deprecated: Do not use. -func (x *Hop) GetFee() int64 { - if x != nil { - return x.Fee - } - return 0 -} - -func (x *Hop) GetExpiry() uint32 { - if x != nil { - return x.Expiry - } - return 0 -} - -func (x *Hop) GetAmtToForwardMsat() int64 { - if x != nil { - return x.AmtToForwardMsat - } - return 0 -} - -func (x *Hop) GetFeeMsat() int64 { - if x != nil { - return x.FeeMsat - } - return 0 -} - -func (x *Hop) GetPubKey() string { - if x != nil { - return x.PubKey - } - return "" -} - -// Deprecated: Do not use. -func (x *Hop) GetTlvPayload() bool { - if x != nil { - return x.TlvPayload - } - return false -} - -func (x *Hop) GetMppRecord() *MPPRecord { - if x != nil { - return x.MppRecord - } - return nil -} - -func (x *Hop) GetAmpRecord() *AMPRecord { - if x != nil { - return x.AmpRecord - } - return nil -} - -func (x *Hop) GetCustomRecords() map[uint64][]byte { - if x != nil { - return x.CustomRecords - } - return nil -} - -func (x *Hop) GetMetadata() []byte { - if x != nil { - return x.Metadata - } - return nil -} - -type MPPRecord struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A unique, random identifier used to authenticate the sender as the intended - // payer of a multi-path payment. The payment_addr must be the same for all - // subpayments, and match the payment_addr provided in the receiver's invoice. - // The same payment_addr must be used on all subpayments. - PaymentAddr []byte `protobuf:"bytes,11,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` - // The total amount in milli-satoshis being sent as part of a larger multi-path - // payment. The caller is responsible for ensuring subpayments to the same node - // and payment_hash sum exactly to total_amt_msat. The same - // total_amt_msat must be used on all subpayments. - TotalAmtMsat int64 `protobuf:"varint,10,opt,name=total_amt_msat,json=totalAmtMsat,proto3" json:"total_amt_msat,omitempty"` -} - -func (x *MPPRecord) Reset() { - *x = MPPRecord{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[98] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MPPRecord) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MPPRecord) ProtoMessage() {} - -func (x *MPPRecord) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[98] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MPPRecord.ProtoReflect.Descriptor instead. -func (*MPPRecord) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{98} -} - -func (x *MPPRecord) GetPaymentAddr() []byte { - if x != nil { - return x.PaymentAddr - } - return nil -} - -func (x *MPPRecord) GetTotalAmtMsat() int64 { - if x != nil { - return x.TotalAmtMsat - } - return 0 -} - -type AMPRecord struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RootShare []byte `protobuf:"bytes,1,opt,name=root_share,json=rootShare,proto3" json:"root_share,omitempty"` - SetId []byte `protobuf:"bytes,2,opt,name=set_id,json=setId,proto3" json:"set_id,omitempty"` - ChildIndex uint32 `protobuf:"varint,3,opt,name=child_index,json=childIndex,proto3" json:"child_index,omitempty"` -} - -func (x *AMPRecord) Reset() { - *x = AMPRecord{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[99] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AMPRecord) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AMPRecord) ProtoMessage() {} - -func (x *AMPRecord) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[99] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AMPRecord.ProtoReflect.Descriptor instead. -func (*AMPRecord) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{99} -} - -func (x *AMPRecord) GetRootShare() []byte { - if x != nil { - return x.RootShare - } - return nil -} - -func (x *AMPRecord) GetSetId() []byte { - if x != nil { - return x.SetId - } - return nil -} - -func (x *AMPRecord) GetChildIndex() uint32 { - if x != nil { - return x.ChildIndex - } - return 0 -} - -// A path through the channel graph which runs over one or more channels in -// succession. This struct carries all the information required to craft the -// Sphinx onion packet, and send the payment along the first hop in the path. A -// route is only selected as valid if all the channels have sufficient capacity to -// carry the initial payment amount after fees are accounted for. -type Route struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The cumulative (final) time lock across the entire route. This is the CLTV - // value that should be extended to the first hop in the route. All other hops - // will decrement the time-lock as advertised, leaving enough time for all - // hops to wait for or present the payment preimage to complete the payment. - TotalTimeLock uint32 `protobuf:"varint,1,opt,name=total_time_lock,json=totalTimeLock,proto3" json:"total_time_lock,omitempty"` - // The sum of the fees paid at each hop within the final route. In the case - // of a one-hop payment, this value will be zero as we don't need to pay a fee - // to ourselves. - // - // Deprecated: Do not use. - TotalFees int64 `protobuf:"varint,2,opt,name=total_fees,json=totalFees,proto3" json:"total_fees,omitempty"` - // The total amount of funds required to complete a payment over this route. - // This value includes the cumulative fees at each hop. As a result, the HTLC - // extended to the first-hop in the route will need to have at least this many - // satoshis, otherwise the route will fail at an intermediate node due to an - // insufficient amount of fees. - // - // Deprecated: Do not use. - TotalAmt int64 `protobuf:"varint,3,opt,name=total_amt,json=totalAmt,proto3" json:"total_amt,omitempty"` - // Contains details concerning the specific forwarding details at each hop. - Hops []*Hop `protobuf:"bytes,4,rep,name=hops,proto3" json:"hops,omitempty"` - // The total fees in millisatoshis. - TotalFeesMsat int64 `protobuf:"varint,5,opt,name=total_fees_msat,json=totalFeesMsat,proto3" json:"total_fees_msat,omitempty"` - // The total amount in millisatoshis. - TotalAmtMsat int64 `protobuf:"varint,6,opt,name=total_amt_msat,json=totalAmtMsat,proto3" json:"total_amt_msat,omitempty"` -} - -func (x *Route) Reset() { - *x = Route{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[100] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Route) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Route) ProtoMessage() {} - -func (x *Route) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[100] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Route.ProtoReflect.Descriptor instead. -func (*Route) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{100} -} - -func (x *Route) GetTotalTimeLock() uint32 { - if x != nil { - return x.TotalTimeLock - } - return 0 -} - -// Deprecated: Do not use. -func (x *Route) GetTotalFees() int64 { - if x != nil { - return x.TotalFees - } - return 0 -} - -// Deprecated: Do not use. -func (x *Route) GetTotalAmt() int64 { - if x != nil { - return x.TotalAmt - } - return 0 -} - -func (x *Route) GetHops() []*Hop { - if x != nil { - return x.Hops - } - return nil -} - -func (x *Route) GetTotalFeesMsat() int64 { - if x != nil { - return x.TotalFeesMsat - } - return 0 -} - -func (x *Route) GetTotalAmtMsat() int64 { - if x != nil { - return x.TotalAmtMsat - } - return 0 -} - -type NodeInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The 33-byte hex-encoded compressed public of the target node - PubKey string `protobuf:"bytes,1,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` - // If true, will include all known channels associated with the node. - IncludeChannels bool `protobuf:"varint,2,opt,name=include_channels,json=includeChannels,proto3" json:"include_channels,omitempty"` -} - -func (x *NodeInfoRequest) Reset() { - *x = NodeInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[101] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NodeInfoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NodeInfoRequest) ProtoMessage() {} - -func (x *NodeInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[101] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NodeInfoRequest.ProtoReflect.Descriptor instead. -func (*NodeInfoRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{101} -} - -func (x *NodeInfoRequest) GetPubKey() string { - if x != nil { - return x.PubKey - } - return "" -} - -func (x *NodeInfoRequest) GetIncludeChannels() bool { - if x != nil { - return x.IncludeChannels - } - return false -} - -type NodeInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // An individual vertex/node within the channel graph. A node is - // connected to other nodes by one or more channel edges emanating from it. As - // the graph is directed, a node will also have an incoming edge attached to - // it for each outgoing edge. - Node *LightningNode `protobuf:"bytes,1,opt,name=node,proto3" json:"node,omitempty"` - // The total number of channels for the node. - NumChannels uint32 `protobuf:"varint,2,opt,name=num_channels,json=numChannels,proto3" json:"num_channels,omitempty"` - // The sum of all channels capacity for the node, denominated in satoshis. - TotalCapacity int64 `protobuf:"varint,3,opt,name=total_capacity,json=totalCapacity,proto3" json:"total_capacity,omitempty"` - // A list of all public channels for the node. - Channels []*ChannelEdge `protobuf:"bytes,4,rep,name=channels,proto3" json:"channels,omitempty"` -} - -func (x *NodeInfo) Reset() { - *x = NodeInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[102] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NodeInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NodeInfo) ProtoMessage() {} - -func (x *NodeInfo) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[102] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NodeInfo.ProtoReflect.Descriptor instead. -func (*NodeInfo) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{102} -} - -func (x *NodeInfo) GetNode() *LightningNode { - if x != nil { - return x.Node - } - return nil -} - -func (x *NodeInfo) GetNumChannels() uint32 { - if x != nil { - return x.NumChannels - } - return 0 -} - -func (x *NodeInfo) GetTotalCapacity() int64 { - if x != nil { - return x.TotalCapacity - } - return 0 -} - -func (x *NodeInfo) GetChannels() []*ChannelEdge { - if x != nil { - return x.Channels - } - return nil -} - -// An individual vertex/node within the channel graph. A node is -// connected to other nodes by one or more channel edges emanating from it. As the -// graph is directed, a node will also have an incoming edge attached to it for -// each outgoing edge. -type LightningNode struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LastUpdate uint32 `protobuf:"varint,1,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` - PubKey string `protobuf:"bytes,2,opt,name=pub_key,json=pubKey,proto3" json:"pub_key,omitempty"` - Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"` - Addresses []*NodeAddress `protobuf:"bytes,4,rep,name=addresses,proto3" json:"addresses,omitempty"` - Color string `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"` - 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"` -} - -func (x *LightningNode) Reset() { - *x = LightningNode{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[103] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LightningNode) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LightningNode) ProtoMessage() {} - -func (x *LightningNode) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[103] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LightningNode.ProtoReflect.Descriptor instead. -func (*LightningNode) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{103} -} - -func (x *LightningNode) GetLastUpdate() uint32 { - if x != nil { - return x.LastUpdate - } - return 0 -} - -func (x *LightningNode) GetPubKey() string { - if x != nil { - return x.PubKey - } - return "" -} - -func (x *LightningNode) GetAlias() string { - if x != nil { - return x.Alias - } - return "" -} - -func (x *LightningNode) GetAddresses() []*NodeAddress { - if x != nil { - return x.Addresses - } - return nil -} - -func (x *LightningNode) GetColor() string { - if x != nil { - return x.Color - } - return "" -} - -func (x *LightningNode) GetFeatures() map[uint32]*Feature { - if x != nil { - return x.Features - } - return nil -} - -type NodeAddress struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"` - Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"` -} - -func (x *NodeAddress) Reset() { - *x = NodeAddress{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[104] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NodeAddress) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NodeAddress) ProtoMessage() {} - -func (x *NodeAddress) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[104] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NodeAddress.ProtoReflect.Descriptor instead. -func (*NodeAddress) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{104} -} - -func (x *NodeAddress) GetNetwork() string { - if x != nil { - return x.Network - } - return "" -} - -func (x *NodeAddress) GetAddr() string { - if x != nil { - return x.Addr - } - return "" -} - -type RoutingPolicy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TimeLockDelta uint32 `protobuf:"varint,1,opt,name=time_lock_delta,json=timeLockDelta,proto3" json:"time_lock_delta,omitempty"` - MinHtlc int64 `protobuf:"varint,2,opt,name=min_htlc,json=minHtlc,proto3" json:"min_htlc,omitempty"` - FeeBaseMsat int64 `protobuf:"varint,3,opt,name=fee_base_msat,json=feeBaseMsat,proto3" json:"fee_base_msat,omitempty"` - FeeRateMilliMsat int64 `protobuf:"varint,4,opt,name=fee_rate_milli_msat,json=feeRateMilliMsat,proto3" json:"fee_rate_milli_msat,omitempty"` - Disabled bool `protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"` - MaxHtlcMsat uint64 `protobuf:"varint,6,opt,name=max_htlc_msat,json=maxHtlcMsat,proto3" json:"max_htlc_msat,omitempty"` - LastUpdate uint32 `protobuf:"varint,7,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` -} - -func (x *RoutingPolicy) Reset() { - *x = RoutingPolicy{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[105] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RoutingPolicy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RoutingPolicy) ProtoMessage() {} - -func (x *RoutingPolicy) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[105] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RoutingPolicy.ProtoReflect.Descriptor instead. -func (*RoutingPolicy) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{105} -} - -func (x *RoutingPolicy) GetTimeLockDelta() uint32 { - if x != nil { - return x.TimeLockDelta - } - return 0 -} - -func (x *RoutingPolicy) GetMinHtlc() int64 { - if x != nil { - return x.MinHtlc - } - return 0 -} - -func (x *RoutingPolicy) GetFeeBaseMsat() int64 { - if x != nil { - return x.FeeBaseMsat - } - return 0 -} - -func (x *RoutingPolicy) GetFeeRateMilliMsat() int64 { - if x != nil { - return x.FeeRateMilliMsat - } - return 0 -} - -func (x *RoutingPolicy) GetDisabled() bool { - if x != nil { - return x.Disabled - } - return false -} - -func (x *RoutingPolicy) GetMaxHtlcMsat() uint64 { - if x != nil { - return x.MaxHtlcMsat - } - return 0 -} - -func (x *RoutingPolicy) GetLastUpdate() uint32 { - if x != nil { - return x.LastUpdate - } - return 0 -} - -// A fully authenticated channel along with all its unique attributes. -// Once an authenticated channel announcement has been processed on the network, -// then an instance of ChannelEdgeInfo encapsulating the channels attributes is -// stored. The other portions relevant to routing policy of a channel are stored -// within a ChannelEdgePolicy for each direction of the channel. -type ChannelEdge struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The unique channel ID for the channel. The first 3 bytes are the block - // height, the next 3 the index within the block, and the last 2 bytes are the - // output index for the channel. - ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` - ChanPoint string `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` - // Deprecated: Do not use. - LastUpdate uint32 `protobuf:"varint,3,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` - Node1Pub string `protobuf:"bytes,4,opt,name=node1_pub,json=node1Pub,proto3" json:"node1_pub,omitempty"` - Node2Pub string `protobuf:"bytes,5,opt,name=node2_pub,json=node2Pub,proto3" json:"node2_pub,omitempty"` - Capacity int64 `protobuf:"varint,6,opt,name=capacity,proto3" json:"capacity,omitempty"` - Node1Policy *RoutingPolicy `protobuf:"bytes,7,opt,name=node1_policy,json=node1Policy,proto3" json:"node1_policy,omitempty"` - Node2Policy *RoutingPolicy `protobuf:"bytes,8,opt,name=node2_policy,json=node2Policy,proto3" json:"node2_policy,omitempty"` -} - -func (x *ChannelEdge) Reset() { - *x = ChannelEdge{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[106] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelEdge) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelEdge) ProtoMessage() {} - -func (x *ChannelEdge) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[106] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelEdge.ProtoReflect.Descriptor instead. -func (*ChannelEdge) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{106} -} - -func (x *ChannelEdge) GetChannelId() uint64 { - if x != nil { - return x.ChannelId - } - return 0 -} - -func (x *ChannelEdge) GetChanPoint() string { - if x != nil { - return x.ChanPoint - } - return "" -} - -// Deprecated: Do not use. -func (x *ChannelEdge) GetLastUpdate() uint32 { - if x != nil { - return x.LastUpdate - } - return 0 -} - -func (x *ChannelEdge) GetNode1Pub() string { - if x != nil { - return x.Node1Pub - } - return "" -} - -func (x *ChannelEdge) GetNode2Pub() string { - if x != nil { - return x.Node2Pub - } - return "" -} - -func (x *ChannelEdge) GetCapacity() int64 { - if x != nil { - return x.Capacity - } - return 0 -} - -func (x *ChannelEdge) GetNode1Policy() *RoutingPolicy { - if x != nil { - return x.Node1Policy - } - return nil -} - -func (x *ChannelEdge) GetNode2Policy() *RoutingPolicy { - if x != nil { - return x.Node2Policy - } - return nil -} - -type ChannelGraphRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Whether unannounced channels are included in the response or not. If set, - // unannounced channels are included. Unannounced channels are both private - // channels, and public channels that are not yet announced to the network. - IncludeUnannounced bool `protobuf:"varint,1,opt,name=include_unannounced,json=includeUnannounced,proto3" json:"include_unannounced,omitempty"` -} - -func (x *ChannelGraphRequest) Reset() { - *x = ChannelGraphRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[107] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelGraphRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelGraphRequest) ProtoMessage() {} - -func (x *ChannelGraphRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[107] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelGraphRequest.ProtoReflect.Descriptor instead. -func (*ChannelGraphRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{107} -} - -func (x *ChannelGraphRequest) GetIncludeUnannounced() bool { - if x != nil { - return x.IncludeUnannounced - } - return false -} - -// Returns a new instance of the directed channel graph. -type ChannelGraph struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of `LightningNode`s in this channel graph - Nodes []*LightningNode `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"` - // The list of `ChannelEdge`s in this channel graph - Edges []*ChannelEdge `protobuf:"bytes,2,rep,name=edges,proto3" json:"edges,omitempty"` -} - -func (x *ChannelGraph) Reset() { - *x = ChannelGraph{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[108] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelGraph) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelGraph) ProtoMessage() {} - -func (x *ChannelGraph) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[108] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelGraph.ProtoReflect.Descriptor instead. -func (*ChannelGraph) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{108} -} - -func (x *ChannelGraph) GetNodes() []*LightningNode { - if x != nil { - return x.Nodes - } - return nil -} - -func (x *ChannelGraph) GetEdges() []*ChannelEdge { - if x != nil { - return x.Edges - } - return nil -} - -type NodeMetricsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The requested node metrics. - Types []NodeMetricType `protobuf:"varint,1,rep,packed,name=types,proto3,enum=lnrpc.NodeMetricType" json:"types,omitempty"` -} - -func (x *NodeMetricsRequest) Reset() { - *x = NodeMetricsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[109] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NodeMetricsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NodeMetricsRequest) ProtoMessage() {} - -func (x *NodeMetricsRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[109] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NodeMetricsRequest.ProtoReflect.Descriptor instead. -func (*NodeMetricsRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{109} -} - -func (x *NodeMetricsRequest) GetTypes() []NodeMetricType { - if x != nil { - return x.Types - } - return nil -} - -type NodeMetricsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Betweenness centrality is the sum of the ratio of shortest paths that pass - // through the node for each pair of nodes in the graph (not counting paths - // starting or ending at this node). - // Map of node pubkey to betweenness centrality of the node. Normalized - // values are in the [0,1] closed interval. - 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"` -} - -func (x *NodeMetricsResponse) Reset() { - *x = NodeMetricsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[110] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NodeMetricsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NodeMetricsResponse) ProtoMessage() {} - -func (x *NodeMetricsResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[110] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NodeMetricsResponse.ProtoReflect.Descriptor instead. -func (*NodeMetricsResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{110} -} - -func (x *NodeMetricsResponse) GetBetweennessCentrality() map[string]*FloatMetric { - if x != nil { - return x.BetweennessCentrality - } - return nil -} - -type FloatMetric struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Arbitrary float value. - Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"` - // The value normalized to [0,1] or [-1,1]. - NormalizedValue float64 `protobuf:"fixed64,2,opt,name=normalized_value,json=normalizedValue,proto3" json:"normalized_value,omitempty"` -} - -func (x *FloatMetric) Reset() { - *x = FloatMetric{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[111] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FloatMetric) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FloatMetric) ProtoMessage() {} - -func (x *FloatMetric) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[111] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FloatMetric.ProtoReflect.Descriptor instead. -func (*FloatMetric) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{111} -} - -func (x *FloatMetric) GetValue() float64 { - if x != nil { - return x.Value - } - return 0 -} - -func (x *FloatMetric) GetNormalizedValue() float64 { - if x != nil { - return x.NormalizedValue - } - return 0 -} - -type ChanInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The unique channel ID for the channel. The first 3 bytes are the block - // height, the next 3 the index within the block, and the last 2 bytes are the - // output index for the channel. - ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` -} - -func (x *ChanInfoRequest) Reset() { - *x = ChanInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[112] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChanInfoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChanInfoRequest) ProtoMessage() {} - -func (x *ChanInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[112] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChanInfoRequest.ProtoReflect.Descriptor instead. -func (*ChanInfoRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{112} -} - -func (x *ChanInfoRequest) GetChanId() uint64 { - if x != nil { - return x.ChanId - } - return 0 -} - -type NetworkInfoRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *NetworkInfoRequest) Reset() { - *x = NetworkInfoRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[113] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkInfoRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkInfoRequest) ProtoMessage() {} - -func (x *NetworkInfoRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[113] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NetworkInfoRequest.ProtoReflect.Descriptor instead. -func (*NetworkInfoRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{113} -} - -type NetworkInfo struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GraphDiameter uint32 `protobuf:"varint,1,opt,name=graph_diameter,json=graphDiameter,proto3" json:"graph_diameter,omitempty"` - AvgOutDegree float64 `protobuf:"fixed64,2,opt,name=avg_out_degree,json=avgOutDegree,proto3" json:"avg_out_degree,omitempty"` - MaxOutDegree uint32 `protobuf:"varint,3,opt,name=max_out_degree,json=maxOutDegree,proto3" json:"max_out_degree,omitempty"` - NumNodes uint32 `protobuf:"varint,4,opt,name=num_nodes,json=numNodes,proto3" json:"num_nodes,omitempty"` - NumChannels uint32 `protobuf:"varint,5,opt,name=num_channels,json=numChannels,proto3" json:"num_channels,omitempty"` - TotalNetworkCapacity int64 `protobuf:"varint,6,opt,name=total_network_capacity,json=totalNetworkCapacity,proto3" json:"total_network_capacity,omitempty"` - AvgChannelSize float64 `protobuf:"fixed64,7,opt,name=avg_channel_size,json=avgChannelSize,proto3" json:"avg_channel_size,omitempty"` - MinChannelSize int64 `protobuf:"varint,8,opt,name=min_channel_size,json=minChannelSize,proto3" json:"min_channel_size,omitempty"` - MaxChannelSize int64 `protobuf:"varint,9,opt,name=max_channel_size,json=maxChannelSize,proto3" json:"max_channel_size,omitempty"` - MedianChannelSizeSat int64 `protobuf:"varint,10,opt,name=median_channel_size_sat,json=medianChannelSizeSat,proto3" json:"median_channel_size_sat,omitempty"` - // The number of edges marked as zombies. - NumZombieChans uint64 `protobuf:"varint,11,opt,name=num_zombie_chans,json=numZombieChans,proto3" json:"num_zombie_chans,omitempty"` -} - -func (x *NetworkInfo) Reset() { - *x = NetworkInfo{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[114] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NetworkInfo) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NetworkInfo) ProtoMessage() {} - -func (x *NetworkInfo) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[114] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NetworkInfo.ProtoReflect.Descriptor instead. -func (*NetworkInfo) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{114} -} - -func (x *NetworkInfo) GetGraphDiameter() uint32 { - if x != nil { - return x.GraphDiameter - } - return 0 -} - -func (x *NetworkInfo) GetAvgOutDegree() float64 { - if x != nil { - return x.AvgOutDegree - } - return 0 -} - -func (x *NetworkInfo) GetMaxOutDegree() uint32 { - if x != nil { - return x.MaxOutDegree - } - return 0 -} - -func (x *NetworkInfo) GetNumNodes() uint32 { - if x != nil { - return x.NumNodes - } - return 0 -} - -func (x *NetworkInfo) GetNumChannels() uint32 { - if x != nil { - return x.NumChannels - } - return 0 -} - -func (x *NetworkInfo) GetTotalNetworkCapacity() int64 { - if x != nil { - return x.TotalNetworkCapacity - } - return 0 -} - -func (x *NetworkInfo) GetAvgChannelSize() float64 { - if x != nil { - return x.AvgChannelSize - } - return 0 -} - -func (x *NetworkInfo) GetMinChannelSize() int64 { - if x != nil { - return x.MinChannelSize - } - return 0 -} - -func (x *NetworkInfo) GetMaxChannelSize() int64 { - if x != nil { - return x.MaxChannelSize - } - return 0 -} - -func (x *NetworkInfo) GetMedianChannelSizeSat() int64 { - if x != nil { - return x.MedianChannelSizeSat - } - return 0 -} - -func (x *NetworkInfo) GetNumZombieChans() uint64 { - if x != nil { - return x.NumZombieChans - } - return 0 -} - -type StopRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *StopRequest) Reset() { - *x = StopRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[115] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StopRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StopRequest) ProtoMessage() {} - -func (x *StopRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[115] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StopRequest.ProtoReflect.Descriptor instead. -func (*StopRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{115} -} - -type StopResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *StopResponse) Reset() { - *x = StopResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[116] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StopResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StopResponse) ProtoMessage() {} - -func (x *StopResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[116] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StopResponse.ProtoReflect.Descriptor instead. -func (*StopResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{116} -} - -type GraphTopologySubscription struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GraphTopologySubscription) Reset() { - *x = GraphTopologySubscription{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[117] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GraphTopologySubscription) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GraphTopologySubscription) ProtoMessage() {} - -func (x *GraphTopologySubscription) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[117] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GraphTopologySubscription.ProtoReflect.Descriptor instead. -func (*GraphTopologySubscription) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{117} -} - -type GraphTopologyUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - NodeUpdates []*NodeUpdate `protobuf:"bytes,1,rep,name=node_updates,json=nodeUpdates,proto3" json:"node_updates,omitempty"` - ChannelUpdates []*ChannelEdgeUpdate `protobuf:"bytes,2,rep,name=channel_updates,json=channelUpdates,proto3" json:"channel_updates,omitempty"` - ClosedChans []*ClosedChannelUpdate `protobuf:"bytes,3,rep,name=closed_chans,json=closedChans,proto3" json:"closed_chans,omitempty"` -} - -func (x *GraphTopologyUpdate) Reset() { - *x = GraphTopologyUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[118] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GraphTopologyUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GraphTopologyUpdate) ProtoMessage() {} - -func (x *GraphTopologyUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[118] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GraphTopologyUpdate.ProtoReflect.Descriptor instead. -func (*GraphTopologyUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{118} -} - -func (x *GraphTopologyUpdate) GetNodeUpdates() []*NodeUpdate { - if x != nil { - return x.NodeUpdates - } - return nil -} - -func (x *GraphTopologyUpdate) GetChannelUpdates() []*ChannelEdgeUpdate { - if x != nil { - return x.ChannelUpdates - } - return nil -} - -func (x *GraphTopologyUpdate) GetClosedChans() []*ClosedChannelUpdate { - if x != nil { - return x.ClosedChans - } - return nil -} - -type NodeUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Deprecated, use node_addresses. - // - // Deprecated: Do not use. - Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"` - IdentityKey string `protobuf:"bytes,2,opt,name=identity_key,json=identityKey,proto3" json:"identity_key,omitempty"` - // Deprecated, use features. - // - // Deprecated: Do not use. - GlobalFeatures []byte `protobuf:"bytes,3,opt,name=global_features,json=globalFeatures,proto3" json:"global_features,omitempty"` - Alias string `protobuf:"bytes,4,opt,name=alias,proto3" json:"alias,omitempty"` - Color string `protobuf:"bytes,5,opt,name=color,proto3" json:"color,omitempty"` - NodeAddresses []*NodeAddress `protobuf:"bytes,7,rep,name=node_addresses,json=nodeAddresses,proto3" json:"node_addresses,omitempty"` - // Features that the node has advertised in the init message, node - // announcements and invoices. - 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"` -} - -func (x *NodeUpdate) Reset() { - *x = NodeUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[119] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NodeUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NodeUpdate) ProtoMessage() {} - -func (x *NodeUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[119] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NodeUpdate.ProtoReflect.Descriptor instead. -func (*NodeUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{119} -} - -// Deprecated: Do not use. -func (x *NodeUpdate) GetAddresses() []string { - if x != nil { - return x.Addresses - } - return nil -} - -func (x *NodeUpdate) GetIdentityKey() string { - if x != nil { - return x.IdentityKey - } - return "" -} - -// Deprecated: Do not use. -func (x *NodeUpdate) GetGlobalFeatures() []byte { - if x != nil { - return x.GlobalFeatures - } - return nil -} - -func (x *NodeUpdate) GetAlias() string { - if x != nil { - return x.Alias - } - return "" -} - -func (x *NodeUpdate) GetColor() string { - if x != nil { - return x.Color - } - return "" -} - -func (x *NodeUpdate) GetNodeAddresses() []*NodeAddress { - if x != nil { - return x.NodeAddresses - } - return nil -} - -func (x *NodeUpdate) GetFeatures() map[uint32]*Feature { - if x != nil { - return x.Features - } - return nil -} - -type ChannelEdgeUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The unique channel ID for the channel. The first 3 bytes are the block - // height, the next 3 the index within the block, and the last 2 bytes are the - // output index for the channel. - ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` - ChanPoint *ChannelPoint `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` - Capacity int64 `protobuf:"varint,3,opt,name=capacity,proto3" json:"capacity,omitempty"` - RoutingPolicy *RoutingPolicy `protobuf:"bytes,4,opt,name=routing_policy,json=routingPolicy,proto3" json:"routing_policy,omitempty"` - AdvertisingNode string `protobuf:"bytes,5,opt,name=advertising_node,json=advertisingNode,proto3" json:"advertising_node,omitempty"` - ConnectingNode string `protobuf:"bytes,6,opt,name=connecting_node,json=connectingNode,proto3" json:"connecting_node,omitempty"` -} - -func (x *ChannelEdgeUpdate) Reset() { - *x = ChannelEdgeUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[120] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelEdgeUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelEdgeUpdate) ProtoMessage() {} - -func (x *ChannelEdgeUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[120] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelEdgeUpdate.ProtoReflect.Descriptor instead. -func (*ChannelEdgeUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{120} -} - -func (x *ChannelEdgeUpdate) GetChanId() uint64 { - if x != nil { - return x.ChanId - } - return 0 -} - -func (x *ChannelEdgeUpdate) GetChanPoint() *ChannelPoint { - if x != nil { - return x.ChanPoint - } - return nil -} - -func (x *ChannelEdgeUpdate) GetCapacity() int64 { - if x != nil { - return x.Capacity - } - return 0 -} - -func (x *ChannelEdgeUpdate) GetRoutingPolicy() *RoutingPolicy { - if x != nil { - return x.RoutingPolicy - } - return nil -} - -func (x *ChannelEdgeUpdate) GetAdvertisingNode() string { - if x != nil { - return x.AdvertisingNode - } - return "" -} - -func (x *ChannelEdgeUpdate) GetConnectingNode() string { - if x != nil { - return x.ConnectingNode - } - return "" -} - -type ClosedChannelUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The unique channel ID for the channel. The first 3 bytes are the block - // height, the next 3 the index within the block, and the last 2 bytes are the - // output index for the channel. - ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` - Capacity int64 `protobuf:"varint,2,opt,name=capacity,proto3" json:"capacity,omitempty"` - ClosedHeight uint32 `protobuf:"varint,3,opt,name=closed_height,json=closedHeight,proto3" json:"closed_height,omitempty"` - ChanPoint *ChannelPoint `protobuf:"bytes,4,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` -} - -func (x *ClosedChannelUpdate) Reset() { - *x = ClosedChannelUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[121] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClosedChannelUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClosedChannelUpdate) ProtoMessage() {} - -func (x *ClosedChannelUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[121] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClosedChannelUpdate.ProtoReflect.Descriptor instead. -func (*ClosedChannelUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{121} -} - -func (x *ClosedChannelUpdate) GetChanId() uint64 { - if x != nil { - return x.ChanId - } - return 0 -} - -func (x *ClosedChannelUpdate) GetCapacity() int64 { - if x != nil { - return x.Capacity - } - return 0 -} - -func (x *ClosedChannelUpdate) GetClosedHeight() uint32 { - if x != nil { - return x.ClosedHeight - } - return 0 -} - -func (x *ClosedChannelUpdate) GetChanPoint() *ChannelPoint { - if x != nil { - return x.ChanPoint - } - return nil -} - -type HopHint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The public key of the node at the start of the channel. - NodeId string `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"` - // The unique identifier of the channel. - ChanId uint64 `protobuf:"varint,2,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` - // The base fee of the channel denominated in millisatoshis. - FeeBaseMsat uint32 `protobuf:"varint,3,opt,name=fee_base_msat,json=feeBaseMsat,proto3" json:"fee_base_msat,omitempty"` - // The fee rate of the channel for sending one satoshi across it denominated in - // millionths of a satoshi. - FeeProportionalMillionths uint32 `protobuf:"varint,4,opt,name=fee_proportional_millionths,json=feeProportionalMillionths,proto3" json:"fee_proportional_millionths,omitempty"` - // The time-lock delta of the channel. - CltvExpiryDelta uint32 `protobuf:"varint,5,opt,name=cltv_expiry_delta,json=cltvExpiryDelta,proto3" json:"cltv_expiry_delta,omitempty"` -} - -func (x *HopHint) Reset() { - *x = HopHint{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[122] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HopHint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HopHint) ProtoMessage() {} - -func (x *HopHint) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[122] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HopHint.ProtoReflect.Descriptor instead. -func (*HopHint) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{122} -} - -func (x *HopHint) GetNodeId() string { - if x != nil { - return x.NodeId - } - return "" -} - -func (x *HopHint) GetChanId() uint64 { - if x != nil { - return x.ChanId - } - return 0 -} - -func (x *HopHint) GetFeeBaseMsat() uint32 { - if x != nil { - return x.FeeBaseMsat - } - return 0 -} - -func (x *HopHint) GetFeeProportionalMillionths() uint32 { - if x != nil { - return x.FeeProportionalMillionths - } - return 0 -} - -func (x *HopHint) GetCltvExpiryDelta() uint32 { - if x != nil { - return x.CltvExpiryDelta - } - return 0 -} - -type SetID struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SetId []byte `protobuf:"bytes,1,opt,name=set_id,json=setId,proto3" json:"set_id,omitempty"` -} - -func (x *SetID) Reset() { - *x = SetID{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[123] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetID) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetID) ProtoMessage() {} - -func (x *SetID) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[123] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetID.ProtoReflect.Descriptor instead. -func (*SetID) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{123} -} - -func (x *SetID) GetSetId() []byte { - if x != nil { - return x.SetId - } - return nil -} - -type RouteHint struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A list of hop hints that when chained together can assist in reaching a - // specific destination. - HopHints []*HopHint `protobuf:"bytes,1,rep,name=hop_hints,json=hopHints,proto3" json:"hop_hints,omitempty"` -} - -func (x *RouteHint) Reset() { - *x = RouteHint{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[124] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RouteHint) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RouteHint) ProtoMessage() {} - -func (x *RouteHint) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[124] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RouteHint.ProtoReflect.Descriptor instead. -func (*RouteHint) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{124} -} - -func (x *RouteHint) GetHopHints() []*HopHint { - if x != nil { - return x.HopHints - } - return nil -} - -type AMPInvoiceState struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The state the HTLCs associated with this setID are in. - State InvoiceHTLCState `protobuf:"varint,1,opt,name=state,proto3,enum=lnrpc.InvoiceHTLCState" json:"state,omitempty"` - // The settle index of this HTLC set, if the invoice state is settled. - SettleIndex uint64 `protobuf:"varint,2,opt,name=settle_index,json=settleIndex,proto3" json:"settle_index,omitempty"` - // The time this HTLC set was settled expressed in unix epoch. - SettleTime int64 `protobuf:"varint,3,opt,name=settle_time,json=settleTime,proto3" json:"settle_time,omitempty"` - // The total amount paid for the sub-invoice expressed in milli satoshis. - AmtPaidMsat int64 `protobuf:"varint,5,opt,name=amt_paid_msat,json=amtPaidMsat,proto3" json:"amt_paid_msat,omitempty"` -} - -func (x *AMPInvoiceState) Reset() { - *x = AMPInvoiceState{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[125] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AMPInvoiceState) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AMPInvoiceState) ProtoMessage() {} - -func (x *AMPInvoiceState) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[125] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AMPInvoiceState.ProtoReflect.Descriptor instead. -func (*AMPInvoiceState) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{125} -} - -func (x *AMPInvoiceState) GetState() InvoiceHTLCState { - if x != nil { - return x.State - } - return InvoiceHTLCState_ACCEPTED -} - -func (x *AMPInvoiceState) GetSettleIndex() uint64 { - if x != nil { - return x.SettleIndex - } - return 0 -} - -func (x *AMPInvoiceState) GetSettleTime() int64 { - if x != nil { - return x.SettleTime - } - return 0 -} - -func (x *AMPInvoiceState) GetAmtPaidMsat() int64 { - if x != nil { - return x.AmtPaidMsat - } - return 0 -} - -type Invoice struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // An optional memo to attach along with the invoice. Used for record keeping - // purposes for the invoice's creator, and will also be set in the description - // field of the encoded payment request if the description_hash field is not - // being used. - Memo string `protobuf:"bytes,1,opt,name=memo,proto3" json:"memo,omitempty"` - // The hex-encoded preimage (32 byte) which will allow settling an incoming - // HTLC payable to this preimage. When using REST, this field must be encoded - // as base64. - RPreimage []byte `protobuf:"bytes,3,opt,name=r_preimage,json=rPreimage,proto3" json:"r_preimage,omitempty"` - // The hash of the preimage. When using REST, this field must be encoded as - // base64. - // Note: Output only, don't specify for creating an invoice. - RHash []byte `protobuf:"bytes,4,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"` - // The value of this invoice in satoshis - // - // The fields value and value_msat are mutually exclusive. - Value int64 `protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"` - // The value of this invoice in millisatoshis - // - // The fields value and value_msat are mutually exclusive. - ValueMsat int64 `protobuf:"varint,23,opt,name=value_msat,json=valueMsat,proto3" json:"value_msat,omitempty"` - // Whether this invoice has been fulfilled - // - // The field is deprecated. Use the state field instead (compare to SETTLED). - // - // Deprecated: Do not use. - Settled bool `protobuf:"varint,6,opt,name=settled,proto3" json:"settled,omitempty"` - // When this invoice was created. - // Note: Output only, don't specify for creating an invoice. - CreationDate int64 `protobuf:"varint,7,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - // When this invoice was settled. - // Note: Output only, don't specify for creating an invoice. - SettleDate int64 `protobuf:"varint,8,opt,name=settle_date,json=settleDate,proto3" json:"settle_date,omitempty"` - // A bare-bones invoice for a payment within the Lightning Network. With the - // details of the invoice, the sender has all the data necessary to send a - // payment to the recipient. - // Note: Output only, don't specify for creating an invoice. - PaymentRequest string `protobuf:"bytes,9,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"` - // Hash (SHA-256) of a description of the payment. Used if the description of - // payment (memo) is too long to naturally fit within the description field - // of an encoded payment request. When using REST, this field must be encoded - // as base64. - DescriptionHash []byte `protobuf:"bytes,10,opt,name=description_hash,json=descriptionHash,proto3" json:"description_hash,omitempty"` - // Payment request expiry time in seconds. Default is 3600 (1 hour). - Expiry int64 `protobuf:"varint,11,opt,name=expiry,proto3" json:"expiry,omitempty"` - // Fallback on-chain address. - FallbackAddr string `protobuf:"bytes,12,opt,name=fallback_addr,json=fallbackAddr,proto3" json:"fallback_addr,omitempty"` - // Delta to use for the time-lock of the CLTV extended to the final hop. - CltvExpiry uint64 `protobuf:"varint,13,opt,name=cltv_expiry,json=cltvExpiry,proto3" json:"cltv_expiry,omitempty"` - // Route hints that can each be individually used to assist in reaching the - // invoice's destination. - RouteHints []*RouteHint `protobuf:"bytes,14,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` - // Whether this invoice should include routing hints for private channels. - Private bool `protobuf:"varint,15,opt,name=private,proto3" json:"private,omitempty"` - // The "add" index of this invoice. Each newly created invoice will increment - // this index making it monotonically increasing. Callers to the - // SubscribeInvoices call can use this to instantly get notified of all added - // invoices with an add_index greater than this one. - // Note: Output only, don't specify for creating an invoice. - AddIndex uint64 `protobuf:"varint,16,opt,name=add_index,json=addIndex,proto3" json:"add_index,omitempty"` - // The "settle" index of this invoice. Each newly settled invoice will - // increment this index making it monotonically increasing. Callers to the - // SubscribeInvoices call can use this to instantly get notified of all - // settled invoices with an settle_index greater than this one. - // Note: Output only, don't specify for creating an invoice. - SettleIndex uint64 `protobuf:"varint,17,opt,name=settle_index,json=settleIndex,proto3" json:"settle_index,omitempty"` - // Deprecated, use amt_paid_sat or amt_paid_msat. - // - // Deprecated: Do not use. - AmtPaid int64 `protobuf:"varint,18,opt,name=amt_paid,json=amtPaid,proto3" json:"amt_paid,omitempty"` - // The amount that was accepted for this invoice, in satoshis. This will ONLY - // be set if this invoice has been settled. We provide this field as if the - // invoice was created with a zero value, then we need to record what amount - // was ultimately accepted. Additionally, it's possible that the sender paid - // MORE that was specified in the original invoice. So we'll record that here - // as well. - // Note: Output only, don't specify for creating an invoice. - AmtPaidSat int64 `protobuf:"varint,19,opt,name=amt_paid_sat,json=amtPaidSat,proto3" json:"amt_paid_sat,omitempty"` - // The amount that was accepted for this invoice, in millisatoshis. This will - // ONLY be set if this invoice has been settled. We provide this field as if - // the invoice was created with a zero value, then we need to record what - // amount was ultimately accepted. Additionally, it's possible that the sender - // paid MORE that was specified in the original invoice. So we'll record that - // here as well. - // Note: Output only, don't specify for creating an invoice. - AmtPaidMsat int64 `protobuf:"varint,20,opt,name=amt_paid_msat,json=amtPaidMsat,proto3" json:"amt_paid_msat,omitempty"` - // The state the invoice is in. - // Note: Output only, don't specify for creating an invoice. - State Invoice_InvoiceState `protobuf:"varint,21,opt,name=state,proto3,enum=lnrpc.Invoice_InvoiceState" json:"state,omitempty"` - // List of HTLCs paying to this invoice [EXPERIMENTAL]. - // Note: Output only, don't specify for creating an invoice. - Htlcs []*InvoiceHTLC `protobuf:"bytes,22,rep,name=htlcs,proto3" json:"htlcs,omitempty"` - // List of features advertised on the invoice. - // Note: Output only, don't specify for creating an invoice. - 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"` - // Indicates if this invoice was a spontaneous payment that arrived via keysend - // [EXPERIMENTAL]. - // Note: Output only, don't specify for creating an invoice. - IsKeysend bool `protobuf:"varint,25,opt,name=is_keysend,json=isKeysend,proto3" json:"is_keysend,omitempty"` - // The payment address of this invoice. This value will be used in MPP - // payments, and also for newer invoices that always require the MPP payload - // for added end-to-end security. - // Note: Output only, don't specify for creating an invoice. - PaymentAddr []byte `protobuf:"bytes,26,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` - // Signals whether or not this is an AMP invoice. - IsAmp bool `protobuf:"varint,27,opt,name=is_amp,json=isAmp,proto3" json:"is_amp,omitempty"` - // [EXPERIMENTAL]: - // - // Maps a 32-byte hex-encoded set ID to the sub-invoice AMP state for the - // given set ID. This field is always populated for AMP invoices, and can be - // used along side LookupInvoice to obtain the HTLC information related to a - // given sub-invoice. - // Note: Output only, don't specify for creating an invoice. - 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"` -} - -func (x *Invoice) Reset() { - *x = Invoice{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[126] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Invoice) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Invoice) ProtoMessage() {} - -func (x *Invoice) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[126] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Invoice.ProtoReflect.Descriptor instead. -func (*Invoice) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{126} -} - -func (x *Invoice) GetMemo() string { - if x != nil { - return x.Memo - } - return "" -} - -func (x *Invoice) GetRPreimage() []byte { - if x != nil { - return x.RPreimage - } - return nil -} - -func (x *Invoice) GetRHash() []byte { - if x != nil { - return x.RHash - } - return nil -} - -func (x *Invoice) GetValue() int64 { - if x != nil { - return x.Value - } - return 0 -} - -func (x *Invoice) GetValueMsat() int64 { - if x != nil { - return x.ValueMsat - } - return 0 -} - -// Deprecated: Do not use. -func (x *Invoice) GetSettled() bool { - if x != nil { - return x.Settled - } - return false -} - -func (x *Invoice) GetCreationDate() int64 { - if x != nil { - return x.CreationDate - } - return 0 -} - -func (x *Invoice) GetSettleDate() int64 { - if x != nil { - return x.SettleDate - } - return 0 -} - -func (x *Invoice) GetPaymentRequest() string { - if x != nil { - return x.PaymentRequest - } - return "" -} - -func (x *Invoice) GetDescriptionHash() []byte { - if x != nil { - return x.DescriptionHash - } - return nil -} - -func (x *Invoice) GetExpiry() int64 { - if x != nil { - return x.Expiry - } - return 0 -} - -func (x *Invoice) GetFallbackAddr() string { - if x != nil { - return x.FallbackAddr - } - return "" -} - -func (x *Invoice) GetCltvExpiry() uint64 { - if x != nil { - return x.CltvExpiry - } - return 0 -} - -func (x *Invoice) GetRouteHints() []*RouteHint { - if x != nil { - return x.RouteHints - } - return nil -} - -func (x *Invoice) GetPrivate() bool { - if x != nil { - return x.Private - } - return false -} - -func (x *Invoice) GetAddIndex() uint64 { - if x != nil { - return x.AddIndex - } - return 0 -} - -func (x *Invoice) GetSettleIndex() uint64 { - if x != nil { - return x.SettleIndex - } - return 0 -} - -// Deprecated: Do not use. -func (x *Invoice) GetAmtPaid() int64 { - if x != nil { - return x.AmtPaid - } - return 0 -} - -func (x *Invoice) GetAmtPaidSat() int64 { - if x != nil { - return x.AmtPaidSat - } - return 0 -} - -func (x *Invoice) GetAmtPaidMsat() int64 { - if x != nil { - return x.AmtPaidMsat - } - return 0 -} - -func (x *Invoice) GetState() Invoice_InvoiceState { - if x != nil { - return x.State - } - return Invoice_OPEN -} - -func (x *Invoice) GetHtlcs() []*InvoiceHTLC { - if x != nil { - return x.Htlcs - } - return nil -} - -func (x *Invoice) GetFeatures() map[uint32]*Feature { - if x != nil { - return x.Features - } - return nil -} - -func (x *Invoice) GetIsKeysend() bool { - if x != nil { - return x.IsKeysend - } - return false -} - -func (x *Invoice) GetPaymentAddr() []byte { - if x != nil { - return x.PaymentAddr - } - return nil -} - -func (x *Invoice) GetIsAmp() bool { - if x != nil { - return x.IsAmp - } - return false -} - -func (x *Invoice) GetAmpInvoiceState() map[string]*AMPInvoiceState { - if x != nil { - return x.AmpInvoiceState - } - return nil -} - -// Details of an HTLC that paid to an invoice -type InvoiceHTLC struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Short channel id over which the htlc was received. - ChanId uint64 `protobuf:"varint,1,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` - // Index identifying the htlc on the channel. - HtlcIndex uint64 `protobuf:"varint,2,opt,name=htlc_index,json=htlcIndex,proto3" json:"htlc_index,omitempty"` - // The amount of the htlc in msat. - AmtMsat uint64 `protobuf:"varint,3,opt,name=amt_msat,json=amtMsat,proto3" json:"amt_msat,omitempty"` - // Block height at which this htlc was accepted. - AcceptHeight int32 `protobuf:"varint,4,opt,name=accept_height,json=acceptHeight,proto3" json:"accept_height,omitempty"` - // Time at which this htlc was accepted. - AcceptTime int64 `protobuf:"varint,5,opt,name=accept_time,json=acceptTime,proto3" json:"accept_time,omitempty"` - // Time at which this htlc was settled or canceled. - ResolveTime int64 `protobuf:"varint,6,opt,name=resolve_time,json=resolveTime,proto3" json:"resolve_time,omitempty"` - // Block height at which this htlc expires. - ExpiryHeight int32 `protobuf:"varint,7,opt,name=expiry_height,json=expiryHeight,proto3" json:"expiry_height,omitempty"` - // Current state the htlc is in. - State InvoiceHTLCState `protobuf:"varint,8,opt,name=state,proto3,enum=lnrpc.InvoiceHTLCState" json:"state,omitempty"` - // Custom tlv records. - 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"` - // The total amount of the mpp payment in msat. - MppTotalAmtMsat uint64 `protobuf:"varint,10,opt,name=mpp_total_amt_msat,json=mppTotalAmtMsat,proto3" json:"mpp_total_amt_msat,omitempty"` - // Details relevant to AMP HTLCs, only populated if this is an AMP HTLC. - Amp *AMP `protobuf:"bytes,11,opt,name=amp,proto3" json:"amp,omitempty"` -} - -func (x *InvoiceHTLC) Reset() { - *x = InvoiceHTLC{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[127] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InvoiceHTLC) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InvoiceHTLC) ProtoMessage() {} - -func (x *InvoiceHTLC) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[127] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InvoiceHTLC.ProtoReflect.Descriptor instead. -func (*InvoiceHTLC) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{127} -} - -func (x *InvoiceHTLC) GetChanId() uint64 { - if x != nil { - return x.ChanId - } - return 0 -} - -func (x *InvoiceHTLC) GetHtlcIndex() uint64 { - if x != nil { - return x.HtlcIndex - } - return 0 -} - -func (x *InvoiceHTLC) GetAmtMsat() uint64 { - if x != nil { - return x.AmtMsat - } - return 0 -} - -func (x *InvoiceHTLC) GetAcceptHeight() int32 { - if x != nil { - return x.AcceptHeight - } - return 0 -} - -func (x *InvoiceHTLC) GetAcceptTime() int64 { - if x != nil { - return x.AcceptTime - } - return 0 -} - -func (x *InvoiceHTLC) GetResolveTime() int64 { - if x != nil { - return x.ResolveTime - } - return 0 -} - -func (x *InvoiceHTLC) GetExpiryHeight() int32 { - if x != nil { - return x.ExpiryHeight - } - return 0 -} - -func (x *InvoiceHTLC) GetState() InvoiceHTLCState { - if x != nil { - return x.State - } - return InvoiceHTLCState_ACCEPTED -} - -func (x *InvoiceHTLC) GetCustomRecords() map[uint64][]byte { - if x != nil { - return x.CustomRecords - } - return nil -} - -func (x *InvoiceHTLC) GetMppTotalAmtMsat() uint64 { - if x != nil { - return x.MppTotalAmtMsat - } - return 0 -} - -func (x *InvoiceHTLC) GetAmp() *AMP { - if x != nil { - return x.Amp - } - return nil -} - -// Details specific to AMP HTLCs. -type AMP struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // An n-of-n secret share of the root seed from which child payment hashes - // and preimages are derived. - RootShare []byte `protobuf:"bytes,1,opt,name=root_share,json=rootShare,proto3" json:"root_share,omitempty"` - // An identifier for the HTLC set that this HTLC belongs to. - SetId []byte `protobuf:"bytes,2,opt,name=set_id,json=setId,proto3" json:"set_id,omitempty"` - // A nonce used to randomize the child preimage and child hash from a given - // root_share. - ChildIndex uint32 `protobuf:"varint,3,opt,name=child_index,json=childIndex,proto3" json:"child_index,omitempty"` - // The payment hash of the AMP HTLC. - Hash []byte `protobuf:"bytes,4,opt,name=hash,proto3" json:"hash,omitempty"` - // The preimage used to settle this AMP htlc. This field will only be - // populated if the invoice is in InvoiceState_ACCEPTED or - // InvoiceState_SETTLED. - Preimage []byte `protobuf:"bytes,5,opt,name=preimage,proto3" json:"preimage,omitempty"` -} - -func (x *AMP) Reset() { - *x = AMP{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[128] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AMP) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AMP) ProtoMessage() {} - -func (x *AMP) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[128] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AMP.ProtoReflect.Descriptor instead. -func (*AMP) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{128} -} - -func (x *AMP) GetRootShare() []byte { - if x != nil { - return x.RootShare - } - return nil -} - -func (x *AMP) GetSetId() []byte { - if x != nil { - return x.SetId - } - return nil -} - -func (x *AMP) GetChildIndex() uint32 { - if x != nil { - return x.ChildIndex - } - return 0 -} - -func (x *AMP) GetHash() []byte { - if x != nil { - return x.Hash - } - return nil -} - -func (x *AMP) GetPreimage() []byte { - if x != nil { - return x.Preimage - } - return nil -} - -type AddInvoiceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RHash []byte `protobuf:"bytes,1,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"` - // A bare-bones invoice for a payment within the Lightning Network. With the - // details of the invoice, the sender has all the data necessary to send a - // payment to the recipient. - PaymentRequest string `protobuf:"bytes,2,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"` - // The "add" index of this invoice. Each newly created invoice will increment - // this index making it monotonically increasing. Callers to the - // SubscribeInvoices call can use this to instantly get notified of all added - // invoices with an add_index greater than this one. - AddIndex uint64 `protobuf:"varint,16,opt,name=add_index,json=addIndex,proto3" json:"add_index,omitempty"` - // The payment address of the generated invoice. This value should be used - // in all payments for this invoice as we require it for end to end - // security. - PaymentAddr []byte `protobuf:"bytes,17,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` -} - -func (x *AddInvoiceResponse) Reset() { - *x = AddInvoiceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[129] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddInvoiceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddInvoiceResponse) ProtoMessage() {} - -func (x *AddInvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[129] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddInvoiceResponse.ProtoReflect.Descriptor instead. -func (*AddInvoiceResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{129} -} - -func (x *AddInvoiceResponse) GetRHash() []byte { - if x != nil { - return x.RHash - } - return nil -} - -func (x *AddInvoiceResponse) GetPaymentRequest() string { - if x != nil { - return x.PaymentRequest - } - return "" -} - -func (x *AddInvoiceResponse) GetAddIndex() uint64 { - if x != nil { - return x.AddIndex - } - return 0 -} - -func (x *AddInvoiceResponse) GetPaymentAddr() []byte { - if x != nil { - return x.PaymentAddr - } - return nil -} - -type PaymentHash struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The hex-encoded payment hash of the invoice to be looked up. The passed - // payment hash must be exactly 32 bytes, otherwise an error is returned. - // Deprecated now that the REST gateway supports base64 encoding of bytes - // fields. - // - // Deprecated: Do not use. - RHashStr string `protobuf:"bytes,1,opt,name=r_hash_str,json=rHashStr,proto3" json:"r_hash_str,omitempty"` - // The payment hash of the invoice to be looked up. When using REST, this field - // must be encoded as base64. - RHash []byte `protobuf:"bytes,2,opt,name=r_hash,json=rHash,proto3" json:"r_hash,omitempty"` -} - -func (x *PaymentHash) Reset() { - *x = PaymentHash{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[130] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PaymentHash) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PaymentHash) ProtoMessage() {} - -func (x *PaymentHash) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[130] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PaymentHash.ProtoReflect.Descriptor instead. -func (*PaymentHash) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{130} -} - -// Deprecated: Do not use. -func (x *PaymentHash) GetRHashStr() string { - if x != nil { - return x.RHashStr - } - return "" -} - -func (x *PaymentHash) GetRHash() []byte { - if x != nil { - return x.RHash - } - return nil -} - -type ListInvoiceRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If set, only invoices that are not settled and not canceled will be returned - // in the response. - PendingOnly bool `protobuf:"varint,1,opt,name=pending_only,json=pendingOnly,proto3" json:"pending_only,omitempty"` - // The index of an invoice that will be used as either the start or end of a - // query to determine which invoices should be returned in the response. - IndexOffset uint64 `protobuf:"varint,4,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"` - // The max number of invoices to return in the response to this query. - NumMaxInvoices uint64 `protobuf:"varint,5,opt,name=num_max_invoices,json=numMaxInvoices,proto3" json:"num_max_invoices,omitempty"` - // If set, the invoices returned will result from seeking backwards from the - // specified index offset. This can be used to paginate backwards. - Reversed bool `protobuf:"varint,6,opt,name=reversed,proto3" json:"reversed,omitempty"` -} - -func (x *ListInvoiceRequest) Reset() { - *x = ListInvoiceRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[131] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListInvoiceRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListInvoiceRequest) ProtoMessage() {} - -func (x *ListInvoiceRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[131] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListInvoiceRequest.ProtoReflect.Descriptor instead. -func (*ListInvoiceRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{131} -} - -func (x *ListInvoiceRequest) GetPendingOnly() bool { - if x != nil { - return x.PendingOnly - } - return false -} - -func (x *ListInvoiceRequest) GetIndexOffset() uint64 { - if x != nil { - return x.IndexOffset - } - return 0 -} - -func (x *ListInvoiceRequest) GetNumMaxInvoices() uint64 { - if x != nil { - return x.NumMaxInvoices - } - return 0 -} - -func (x *ListInvoiceRequest) GetReversed() bool { - if x != nil { - return x.Reversed - } - return false -} - -type ListInvoiceResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A list of invoices from the time slice of the time series specified in the - // request. - Invoices []*Invoice `protobuf:"bytes,1,rep,name=invoices,proto3" json:"invoices,omitempty"` - // The index of the last item in the set of returned invoices. This can be used - // to seek further, pagination style. - LastIndexOffset uint64 `protobuf:"varint,2,opt,name=last_index_offset,json=lastIndexOffset,proto3" json:"last_index_offset,omitempty"` - // The index of the last item in the set of returned invoices. This can be used - // to seek backwards, pagination style. - FirstIndexOffset uint64 `protobuf:"varint,3,opt,name=first_index_offset,json=firstIndexOffset,proto3" json:"first_index_offset,omitempty"` -} - -func (x *ListInvoiceResponse) Reset() { - *x = ListInvoiceResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[132] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListInvoiceResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListInvoiceResponse) ProtoMessage() {} - -func (x *ListInvoiceResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[132] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListInvoiceResponse.ProtoReflect.Descriptor instead. -func (*ListInvoiceResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{132} -} - -func (x *ListInvoiceResponse) GetInvoices() []*Invoice { - if x != nil { - return x.Invoices - } - return nil -} - -func (x *ListInvoiceResponse) GetLastIndexOffset() uint64 { - if x != nil { - return x.LastIndexOffset - } - return 0 -} - -func (x *ListInvoiceResponse) GetFirstIndexOffset() uint64 { - if x != nil { - return x.FirstIndexOffset - } - return 0 -} - -type InvoiceSubscription struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If specified (non-zero), then we'll first start by sending out - // notifications for all added indexes with an add_index greater than this - // value. This allows callers to catch up on any events they missed while they - // weren't connected to the streaming RPC. - AddIndex uint64 `protobuf:"varint,1,opt,name=add_index,json=addIndex,proto3" json:"add_index,omitempty"` - // If specified (non-zero), then we'll first start by sending out - // notifications for all settled indexes with an settle_index greater than - // this value. This allows callers to catch up on any events they missed while - // they weren't connected to the streaming RPC. - SettleIndex uint64 `protobuf:"varint,2,opt,name=settle_index,json=settleIndex,proto3" json:"settle_index,omitempty"` -} - -func (x *InvoiceSubscription) Reset() { - *x = InvoiceSubscription{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[133] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InvoiceSubscription) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InvoiceSubscription) ProtoMessage() {} - -func (x *InvoiceSubscription) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[133] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InvoiceSubscription.ProtoReflect.Descriptor instead. -func (*InvoiceSubscription) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{133} -} - -func (x *InvoiceSubscription) GetAddIndex() uint64 { - if x != nil { - return x.AddIndex - } - return 0 -} - -func (x *InvoiceSubscription) GetSettleIndex() uint64 { - if x != nil { - return x.SettleIndex - } - return 0 -} - -type Payment struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The payment hash - PaymentHash string `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - // Deprecated, use value_sat or value_msat. - // - // Deprecated: Do not use. - Value int64 `protobuf:"varint,2,opt,name=value,proto3" json:"value,omitempty"` - // Deprecated, use creation_time_ns - // - // Deprecated: Do not use. - CreationDate int64 `protobuf:"varint,3,opt,name=creation_date,json=creationDate,proto3" json:"creation_date,omitempty"` - // Deprecated, use fee_sat or fee_msat. - // - // Deprecated: Do not use. - Fee int64 `protobuf:"varint,5,opt,name=fee,proto3" json:"fee,omitempty"` - // The payment preimage - PaymentPreimage string `protobuf:"bytes,6,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` - // The value of the payment in satoshis - ValueSat int64 `protobuf:"varint,7,opt,name=value_sat,json=valueSat,proto3" json:"value_sat,omitempty"` - // The value of the payment in milli-satoshis - ValueMsat int64 `protobuf:"varint,8,opt,name=value_msat,json=valueMsat,proto3" json:"value_msat,omitempty"` - // The optional payment request being fulfilled. - PaymentRequest string `protobuf:"bytes,9,opt,name=payment_request,json=paymentRequest,proto3" json:"payment_request,omitempty"` - // The status of the payment. - Status Payment_PaymentStatus `protobuf:"varint,10,opt,name=status,proto3,enum=lnrpc.Payment_PaymentStatus" json:"status,omitempty"` - // The fee paid for this payment in satoshis - FeeSat int64 `protobuf:"varint,11,opt,name=fee_sat,json=feeSat,proto3" json:"fee_sat,omitempty"` - // The fee paid for this payment in milli-satoshis - FeeMsat int64 `protobuf:"varint,12,opt,name=fee_msat,json=feeMsat,proto3" json:"fee_msat,omitempty"` - // The time in UNIX nanoseconds at which the payment was created. - CreationTimeNs int64 `protobuf:"varint,13,opt,name=creation_time_ns,json=creationTimeNs,proto3" json:"creation_time_ns,omitempty"` - // The HTLCs made in attempt to settle the payment. - Htlcs []*HTLCAttempt `protobuf:"bytes,14,rep,name=htlcs,proto3" json:"htlcs,omitempty"` - // The creation index of this payment. Each payment can be uniquely identified - // by this index, which may not strictly increment by 1 for payments made in - // older versions of lnd. - PaymentIndex uint64 `protobuf:"varint,15,opt,name=payment_index,json=paymentIndex,proto3" json:"payment_index,omitempty"` - FailureReason PaymentFailureReason `protobuf:"varint,16,opt,name=failure_reason,json=failureReason,proto3,enum=lnrpc.PaymentFailureReason" json:"failure_reason,omitempty"` -} - -func (x *Payment) Reset() { - *x = Payment{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[134] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Payment) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Payment) ProtoMessage() {} - -func (x *Payment) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[134] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Payment.ProtoReflect.Descriptor instead. -func (*Payment) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{134} -} - -func (x *Payment) GetPaymentHash() string { - if x != nil { - return x.PaymentHash - } - return "" -} - -// Deprecated: Do not use. -func (x *Payment) GetValue() int64 { - if x != nil { - return x.Value - } - return 0 -} - -// Deprecated: Do not use. -func (x *Payment) GetCreationDate() int64 { - if x != nil { - return x.CreationDate - } - return 0 -} - -// Deprecated: Do not use. -func (x *Payment) GetFee() int64 { - if x != nil { - return x.Fee - } - return 0 -} - -func (x *Payment) GetPaymentPreimage() string { - if x != nil { - return x.PaymentPreimage - } - return "" -} - -func (x *Payment) GetValueSat() int64 { - if x != nil { - return x.ValueSat - } - return 0 -} - -func (x *Payment) GetValueMsat() int64 { - if x != nil { - return x.ValueMsat - } - return 0 -} - -func (x *Payment) GetPaymentRequest() string { - if x != nil { - return x.PaymentRequest - } - return "" -} - -func (x *Payment) GetStatus() Payment_PaymentStatus { - if x != nil { - return x.Status - } - return Payment_UNKNOWN -} - -func (x *Payment) GetFeeSat() int64 { - if x != nil { - return x.FeeSat - } - return 0 -} - -func (x *Payment) GetFeeMsat() int64 { - if x != nil { - return x.FeeMsat - } - return 0 -} - -func (x *Payment) GetCreationTimeNs() int64 { - if x != nil { - return x.CreationTimeNs - } - return 0 -} - -func (x *Payment) GetHtlcs() []*HTLCAttempt { - if x != nil { - return x.Htlcs - } - return nil -} - -func (x *Payment) GetPaymentIndex() uint64 { - if x != nil { - return x.PaymentIndex - } - return 0 -} - -func (x *Payment) GetFailureReason() PaymentFailureReason { - if x != nil { - return x.FailureReason - } - return PaymentFailureReason_FAILURE_REASON_NONE -} - -type HTLCAttempt struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The unique ID that is used for this attempt. - AttemptId uint64 `protobuf:"varint,7,opt,name=attempt_id,json=attemptId,proto3" json:"attempt_id,omitempty"` - // The status of the HTLC. - Status HTLCAttempt_HTLCStatus `protobuf:"varint,1,opt,name=status,proto3,enum=lnrpc.HTLCAttempt_HTLCStatus" json:"status,omitempty"` - // The route taken by this HTLC. - Route *Route `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"` - // The time in UNIX nanoseconds at which this HTLC was sent. - AttemptTimeNs int64 `protobuf:"varint,3,opt,name=attempt_time_ns,json=attemptTimeNs,proto3" json:"attempt_time_ns,omitempty"` - // The time in UNIX nanoseconds at which this HTLC was settled or failed. - // This value will not be set if the HTLC is still IN_FLIGHT. - ResolveTimeNs int64 `protobuf:"varint,4,opt,name=resolve_time_ns,json=resolveTimeNs,proto3" json:"resolve_time_ns,omitempty"` - // Detailed htlc failure info. - Failure *Failure `protobuf:"bytes,5,opt,name=failure,proto3" json:"failure,omitempty"` - // The preimage that was used to settle the HTLC. - Preimage []byte `protobuf:"bytes,6,opt,name=preimage,proto3" json:"preimage,omitempty"` -} - -func (x *HTLCAttempt) Reset() { - *x = HTLCAttempt{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[135] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HTLCAttempt) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HTLCAttempt) ProtoMessage() {} - -func (x *HTLCAttempt) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[135] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HTLCAttempt.ProtoReflect.Descriptor instead. -func (*HTLCAttempt) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{135} -} - -func (x *HTLCAttempt) GetAttemptId() uint64 { - if x != nil { - return x.AttemptId - } - return 0 -} - -func (x *HTLCAttempt) GetStatus() HTLCAttempt_HTLCStatus { - if x != nil { - return x.Status - } - return HTLCAttempt_IN_FLIGHT -} - -func (x *HTLCAttempt) GetRoute() *Route { - if x != nil { - return x.Route - } - return nil -} - -func (x *HTLCAttempt) GetAttemptTimeNs() int64 { - if x != nil { - return x.AttemptTimeNs - } - return 0 -} - -func (x *HTLCAttempt) GetResolveTimeNs() int64 { - if x != nil { - return x.ResolveTimeNs - } - return 0 -} - -func (x *HTLCAttempt) GetFailure() *Failure { - if x != nil { - return x.Failure - } - return nil -} - -func (x *HTLCAttempt) GetPreimage() []byte { - if x != nil { - return x.Preimage - } - return nil -} - -type ListPaymentsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // If true, then return payments that have not yet fully completed. This means - // that pending payments, as well as failed payments will show up if this - // field is set to true. This flag doesn't change the meaning of the indices, - // which are tied to individual payments. - IncludeIncomplete bool `protobuf:"varint,1,opt,name=include_incomplete,json=includeIncomplete,proto3" json:"include_incomplete,omitempty"` - // The index of a payment that will be used as either the start or end of a - // query to determine which payments should be returned in the response. The - // index_offset is exclusive. In the case of a zero index_offset, the query - // will start with the oldest payment when paginating forwards, or will end - // with the most recent payment when paginating backwards. - IndexOffset uint64 `protobuf:"varint,2,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"` - // The maximal number of payments returned in the response to this query. - MaxPayments uint64 `protobuf:"varint,3,opt,name=max_payments,json=maxPayments,proto3" json:"max_payments,omitempty"` - // If set, the payments returned will result from seeking backwards from the - // specified index offset. This can be used to paginate backwards. The order - // of the returned payments is always oldest first (ascending index order). - Reversed bool `protobuf:"varint,4,opt,name=reversed,proto3" json:"reversed,omitempty"` - // If set, all payments (complete and incomplete, independent of the - // max_payments parameter) will be counted. Note that setting this to true will - // increase the run time of the call significantly on systems that have a lot - // of payments, as all of them have to be iterated through to be counted. - CountTotalPayments bool `protobuf:"varint,5,opt,name=count_total_payments,json=countTotalPayments,proto3" json:"count_total_payments,omitempty"` -} - -func (x *ListPaymentsRequest) Reset() { - *x = ListPaymentsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[136] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListPaymentsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPaymentsRequest) ProtoMessage() {} - -func (x *ListPaymentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[136] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListPaymentsRequest.ProtoReflect.Descriptor instead. -func (*ListPaymentsRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{136} -} - -func (x *ListPaymentsRequest) GetIncludeIncomplete() bool { - if x != nil { - return x.IncludeIncomplete - } - return false -} - -func (x *ListPaymentsRequest) GetIndexOffset() uint64 { - if x != nil { - return x.IndexOffset - } - return 0 -} - -func (x *ListPaymentsRequest) GetMaxPayments() uint64 { - if x != nil { - return x.MaxPayments - } - return 0 -} - -func (x *ListPaymentsRequest) GetReversed() bool { - if x != nil { - return x.Reversed - } - return false -} - -func (x *ListPaymentsRequest) GetCountTotalPayments() bool { - if x != nil { - return x.CountTotalPayments - } - return false -} - -type ListPaymentsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of payments - Payments []*Payment `protobuf:"bytes,1,rep,name=payments,proto3" json:"payments,omitempty"` - // The index of the first item in the set of returned payments. This can be - // used as the index_offset to continue seeking backwards in the next request. - FirstIndexOffset uint64 `protobuf:"varint,2,opt,name=first_index_offset,json=firstIndexOffset,proto3" json:"first_index_offset,omitempty"` - // The index of the last item in the set of returned payments. This can be used - // as the index_offset to continue seeking forwards in the next request. - LastIndexOffset uint64 `protobuf:"varint,3,opt,name=last_index_offset,json=lastIndexOffset,proto3" json:"last_index_offset,omitempty"` - // Will only be set if count_total_payments in the request was set. Represents - // the total number of payments (complete and incomplete, independent of the - // number of payments requested in the query) currently present in the payments - // database. - TotalNumPayments uint64 `protobuf:"varint,4,opt,name=total_num_payments,json=totalNumPayments,proto3" json:"total_num_payments,omitempty"` -} - -func (x *ListPaymentsResponse) Reset() { - *x = ListPaymentsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[137] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListPaymentsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPaymentsResponse) ProtoMessage() {} - -func (x *ListPaymentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[137] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListPaymentsResponse.ProtoReflect.Descriptor instead. -func (*ListPaymentsResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{137} -} - -func (x *ListPaymentsResponse) GetPayments() []*Payment { - if x != nil { - return x.Payments - } - return nil -} - -func (x *ListPaymentsResponse) GetFirstIndexOffset() uint64 { - if x != nil { - return x.FirstIndexOffset - } - return 0 -} - -func (x *ListPaymentsResponse) GetLastIndexOffset() uint64 { - if x != nil { - return x.LastIndexOffset - } - return 0 -} - -func (x *ListPaymentsResponse) GetTotalNumPayments() uint64 { - if x != nil { - return x.TotalNumPayments - } - return 0 -} - -type DeletePaymentRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Payment hash to delete. - PaymentHash []byte `protobuf:"bytes,1,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - // Only delete failed HTLCs from the payment, not the payment itself. - FailedHtlcsOnly bool `protobuf:"varint,2,opt,name=failed_htlcs_only,json=failedHtlcsOnly,proto3" json:"failed_htlcs_only,omitempty"` -} - -func (x *DeletePaymentRequest) Reset() { - *x = DeletePaymentRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[138] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeletePaymentRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeletePaymentRequest) ProtoMessage() {} - -func (x *DeletePaymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[138] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeletePaymentRequest.ProtoReflect.Descriptor instead. -func (*DeletePaymentRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{138} -} - -func (x *DeletePaymentRequest) GetPaymentHash() []byte { - if x != nil { - return x.PaymentHash - } - return nil -} - -func (x *DeletePaymentRequest) GetFailedHtlcsOnly() bool { - if x != nil { - return x.FailedHtlcsOnly - } - return false -} - -type DeleteAllPaymentsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Only delete failed payments. - FailedPaymentsOnly bool `protobuf:"varint,1,opt,name=failed_payments_only,json=failedPaymentsOnly,proto3" json:"failed_payments_only,omitempty"` - // Only delete failed HTLCs from payments, not the payment itself. - FailedHtlcsOnly bool `protobuf:"varint,2,opt,name=failed_htlcs_only,json=failedHtlcsOnly,proto3" json:"failed_htlcs_only,omitempty"` -} - -func (x *DeleteAllPaymentsRequest) Reset() { - *x = DeleteAllPaymentsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[139] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteAllPaymentsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteAllPaymentsRequest) ProtoMessage() {} - -func (x *DeleteAllPaymentsRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[139] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteAllPaymentsRequest.ProtoReflect.Descriptor instead. -func (*DeleteAllPaymentsRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{139} -} - -func (x *DeleteAllPaymentsRequest) GetFailedPaymentsOnly() bool { - if x != nil { - return x.FailedPaymentsOnly - } - return false -} - -func (x *DeleteAllPaymentsRequest) GetFailedHtlcsOnly() bool { - if x != nil { - return x.FailedHtlcsOnly - } - return false -} - -type DeletePaymentResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DeletePaymentResponse) Reset() { - *x = DeletePaymentResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[140] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeletePaymentResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeletePaymentResponse) ProtoMessage() {} - -func (x *DeletePaymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[140] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeletePaymentResponse.ProtoReflect.Descriptor instead. -func (*DeletePaymentResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{140} -} - -type DeleteAllPaymentsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DeleteAllPaymentsResponse) Reset() { - *x = DeleteAllPaymentsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[141] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteAllPaymentsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteAllPaymentsResponse) ProtoMessage() {} - -func (x *DeleteAllPaymentsResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[141] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteAllPaymentsResponse.ProtoReflect.Descriptor instead. -func (*DeleteAllPaymentsResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{141} -} - -type AbandonChannelRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChannelPoint *ChannelPoint `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` - PendingFundingShimOnly bool `protobuf:"varint,2,opt,name=pending_funding_shim_only,json=pendingFundingShimOnly,proto3" json:"pending_funding_shim_only,omitempty"` - // Override the requirement for being in dev mode by setting this to true and - // confirming the user knows what they are doing and this is a potential foot - // gun to lose funds if used on active channels. - IKnowWhatIAmDoing bool `protobuf:"varint,3,opt,name=i_know_what_i_am_doing,json=iKnowWhatIAmDoing,proto3" json:"i_know_what_i_am_doing,omitempty"` -} - -func (x *AbandonChannelRequest) Reset() { - *x = AbandonChannelRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[142] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AbandonChannelRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AbandonChannelRequest) ProtoMessage() {} - -func (x *AbandonChannelRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[142] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AbandonChannelRequest.ProtoReflect.Descriptor instead. -func (*AbandonChannelRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{142} -} - -func (x *AbandonChannelRequest) GetChannelPoint() *ChannelPoint { - if x != nil { - return x.ChannelPoint - } - return nil -} - -func (x *AbandonChannelRequest) GetPendingFundingShimOnly() bool { - if x != nil { - return x.PendingFundingShimOnly - } - return false -} - -func (x *AbandonChannelRequest) GetIKnowWhatIAmDoing() bool { - if x != nil { - return x.IKnowWhatIAmDoing - } - return false -} - -type AbandonChannelResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *AbandonChannelResponse) Reset() { - *x = AbandonChannelResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[143] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AbandonChannelResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AbandonChannelResponse) ProtoMessage() {} - -func (x *AbandonChannelResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[143] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AbandonChannelResponse.ProtoReflect.Descriptor instead. -func (*AbandonChannelResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{143} -} - -type DebugLevelRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Show bool `protobuf:"varint,1,opt,name=show,proto3" json:"show,omitempty"` - LevelSpec string `protobuf:"bytes,2,opt,name=level_spec,json=levelSpec,proto3" json:"level_spec,omitempty"` -} - -func (x *DebugLevelRequest) Reset() { - *x = DebugLevelRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[144] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DebugLevelRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DebugLevelRequest) ProtoMessage() {} - -func (x *DebugLevelRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[144] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DebugLevelRequest.ProtoReflect.Descriptor instead. -func (*DebugLevelRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{144} -} - -func (x *DebugLevelRequest) GetShow() bool { - if x != nil { - return x.Show - } - return false -} - -func (x *DebugLevelRequest) GetLevelSpec() string { - if x != nil { - return x.LevelSpec - } - return "" -} - -type DebugLevelResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SubSystems string `protobuf:"bytes,1,opt,name=sub_systems,json=subSystems,proto3" json:"sub_systems,omitempty"` -} - -func (x *DebugLevelResponse) Reset() { - *x = DebugLevelResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[145] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DebugLevelResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DebugLevelResponse) ProtoMessage() {} - -func (x *DebugLevelResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[145] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DebugLevelResponse.ProtoReflect.Descriptor instead. -func (*DebugLevelResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{145} -} - -func (x *DebugLevelResponse) GetSubSystems() string { - if x != nil { - return x.SubSystems - } - return "" -} - -type PayReqString struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The payment request string to be decoded - PayReq string `protobuf:"bytes,1,opt,name=pay_req,json=payReq,proto3" json:"pay_req,omitempty"` -} - -func (x *PayReqString) Reset() { - *x = PayReqString{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[146] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PayReqString) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PayReqString) ProtoMessage() {} - -func (x *PayReqString) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[146] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PayReqString.ProtoReflect.Descriptor instead. -func (*PayReqString) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{146} -} - -func (x *PayReqString) GetPayReq() string { - if x != nil { - return x.PayReq - } - return "" -} - -type PayReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Destination string `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"` - PaymentHash string `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` - NumSatoshis int64 `protobuf:"varint,3,opt,name=num_satoshis,json=numSatoshis,proto3" json:"num_satoshis,omitempty"` - Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - Expiry int64 `protobuf:"varint,5,opt,name=expiry,proto3" json:"expiry,omitempty"` - Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` - DescriptionHash string `protobuf:"bytes,7,opt,name=description_hash,json=descriptionHash,proto3" json:"description_hash,omitempty"` - FallbackAddr string `protobuf:"bytes,8,opt,name=fallback_addr,json=fallbackAddr,proto3" json:"fallback_addr,omitempty"` - CltvExpiry int64 `protobuf:"varint,9,opt,name=cltv_expiry,json=cltvExpiry,proto3" json:"cltv_expiry,omitempty"` - RouteHints []*RouteHint `protobuf:"bytes,10,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` - PaymentAddr []byte `protobuf:"bytes,11,opt,name=payment_addr,json=paymentAddr,proto3" json:"payment_addr,omitempty"` - NumMsat int64 `protobuf:"varint,12,opt,name=num_msat,json=numMsat,proto3" json:"num_msat,omitempty"` - 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"` -} - -func (x *PayReq) Reset() { - *x = PayReq{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[147] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PayReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PayReq) ProtoMessage() {} - -func (x *PayReq) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[147] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PayReq.ProtoReflect.Descriptor instead. -func (*PayReq) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{147} -} - -func (x *PayReq) GetDestination() string { - if x != nil { - return x.Destination - } - return "" -} - -func (x *PayReq) GetPaymentHash() string { - if x != nil { - return x.PaymentHash - } - return "" -} - -func (x *PayReq) GetNumSatoshis() int64 { - if x != nil { - return x.NumSatoshis - } - return 0 -} - -func (x *PayReq) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *PayReq) GetExpiry() int64 { - if x != nil { - return x.Expiry - } - return 0 -} - -func (x *PayReq) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *PayReq) GetDescriptionHash() string { - if x != nil { - return x.DescriptionHash - } - return "" -} - -func (x *PayReq) GetFallbackAddr() string { - if x != nil { - return x.FallbackAddr - } - return "" -} - -func (x *PayReq) GetCltvExpiry() int64 { - if x != nil { - return x.CltvExpiry - } - return 0 -} - -func (x *PayReq) GetRouteHints() []*RouteHint { - if x != nil { - return x.RouteHints - } - return nil -} - -func (x *PayReq) GetPaymentAddr() []byte { - if x != nil { - return x.PaymentAddr - } - return nil -} - -func (x *PayReq) GetNumMsat() int64 { - if x != nil { - return x.NumMsat - } - return 0 -} - -func (x *PayReq) GetFeatures() map[uint32]*Feature { - if x != nil { - return x.Features - } - return nil -} - -type Feature struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - IsRequired bool `protobuf:"varint,3,opt,name=is_required,json=isRequired,proto3" json:"is_required,omitempty"` - IsKnown bool `protobuf:"varint,4,opt,name=is_known,json=isKnown,proto3" json:"is_known,omitempty"` -} - -func (x *Feature) Reset() { - *x = Feature{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[148] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Feature) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Feature) ProtoMessage() {} - -func (x *Feature) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[148] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Feature.ProtoReflect.Descriptor instead. -func (*Feature) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{148} -} - -func (x *Feature) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *Feature) GetIsRequired() bool { - if x != nil { - return x.IsRequired - } - return false -} - -func (x *Feature) GetIsKnown() bool { - if x != nil { - return x.IsKnown - } - return false -} - -type FeeReportRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *FeeReportRequest) Reset() { - *x = FeeReportRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[149] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FeeReportRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FeeReportRequest) ProtoMessage() {} - -func (x *FeeReportRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[149] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FeeReportRequest.ProtoReflect.Descriptor instead. -func (*FeeReportRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{149} -} - -type ChannelFeeReport struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The short channel id that this fee report belongs to. - ChanId uint64 `protobuf:"varint,5,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` - // The channel that this fee report belongs to. - ChannelPoint string `protobuf:"bytes,1,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` - // The base fee charged regardless of the number of milli-satoshis sent. - BaseFeeMsat int64 `protobuf:"varint,2,opt,name=base_fee_msat,json=baseFeeMsat,proto3" json:"base_fee_msat,omitempty"` - // The amount charged per milli-satoshis transferred expressed in - // millionths of a satoshi. - FeePerMil int64 `protobuf:"varint,3,opt,name=fee_per_mil,json=feePerMil,proto3" json:"fee_per_mil,omitempty"` - // The effective fee rate in milli-satoshis. Computed by dividing the - // fee_per_mil value by 1 million. - FeeRate float64 `protobuf:"fixed64,4,opt,name=fee_rate,json=feeRate,proto3" json:"fee_rate,omitempty"` -} - -func (x *ChannelFeeReport) Reset() { - *x = ChannelFeeReport{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[150] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelFeeReport) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelFeeReport) ProtoMessage() {} - -func (x *ChannelFeeReport) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[150] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelFeeReport.ProtoReflect.Descriptor instead. -func (*ChannelFeeReport) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{150} -} - -func (x *ChannelFeeReport) GetChanId() uint64 { - if x != nil { - return x.ChanId - } - return 0 -} - -func (x *ChannelFeeReport) GetChannelPoint() string { - if x != nil { - return x.ChannelPoint - } - return "" -} - -func (x *ChannelFeeReport) GetBaseFeeMsat() int64 { - if x != nil { - return x.BaseFeeMsat - } - return 0 -} - -func (x *ChannelFeeReport) GetFeePerMil() int64 { - if x != nil { - return x.FeePerMil - } - return 0 -} - -func (x *ChannelFeeReport) GetFeeRate() float64 { - if x != nil { - return x.FeeRate - } - return 0 -} - -type FeeReportResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // An array of channel fee reports which describes the current fee schedule - // for each channel. - ChannelFees []*ChannelFeeReport `protobuf:"bytes,1,rep,name=channel_fees,json=channelFees,proto3" json:"channel_fees,omitempty"` - // The total amount of fee revenue (in satoshis) the switch has collected - // over the past 24 hrs. - DayFeeSum uint64 `protobuf:"varint,2,opt,name=day_fee_sum,json=dayFeeSum,proto3" json:"day_fee_sum,omitempty"` - // The total amount of fee revenue (in satoshis) the switch has collected - // over the past 1 week. - WeekFeeSum uint64 `protobuf:"varint,3,opt,name=week_fee_sum,json=weekFeeSum,proto3" json:"week_fee_sum,omitempty"` - // The total amount of fee revenue (in satoshis) the switch has collected - // over the past 1 month. - MonthFeeSum uint64 `protobuf:"varint,4,opt,name=month_fee_sum,json=monthFeeSum,proto3" json:"month_fee_sum,omitempty"` -} - -func (x *FeeReportResponse) Reset() { - *x = FeeReportResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[151] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FeeReportResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FeeReportResponse) ProtoMessage() {} - -func (x *FeeReportResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[151] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FeeReportResponse.ProtoReflect.Descriptor instead. -func (*FeeReportResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{151} -} - -func (x *FeeReportResponse) GetChannelFees() []*ChannelFeeReport { - if x != nil { - return x.ChannelFees - } - return nil -} - -func (x *FeeReportResponse) GetDayFeeSum() uint64 { - if x != nil { - return x.DayFeeSum - } - return 0 -} - -func (x *FeeReportResponse) GetWeekFeeSum() uint64 { - if x != nil { - return x.WeekFeeSum - } - return 0 -} - -func (x *FeeReportResponse) GetMonthFeeSum() uint64 { - if x != nil { - return x.MonthFeeSum - } - return 0 -} - -type PolicyUpdateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Scope: - // - // *PolicyUpdateRequest_Global - // *PolicyUpdateRequest_ChanPoint - Scope isPolicyUpdateRequest_Scope `protobuf_oneof:"scope"` - // The base fee charged regardless of the number of milli-satoshis sent. - BaseFeeMsat int64 `protobuf:"varint,3,opt,name=base_fee_msat,json=baseFeeMsat,proto3" json:"base_fee_msat,omitempty"` - // The effective fee rate in milli-satoshis. The precision of this value - // goes up to 6 decimal places, so 1e-6. - FeeRate float64 `protobuf:"fixed64,4,opt,name=fee_rate,json=feeRate,proto3" json:"fee_rate,omitempty"` - // The effective fee rate in micro-satoshis (parts per million). - FeeRatePpm uint32 `protobuf:"varint,9,opt,name=fee_rate_ppm,json=feeRatePpm,proto3" json:"fee_rate_ppm,omitempty"` - // The required timelock delta for HTLCs forwarded over the channel. - TimeLockDelta uint32 `protobuf:"varint,5,opt,name=time_lock_delta,json=timeLockDelta,proto3" json:"time_lock_delta,omitempty"` - // If set, the maximum HTLC size in milli-satoshis. If unset, the maximum - // HTLC will be unchanged. - MaxHtlcMsat uint64 `protobuf:"varint,6,opt,name=max_htlc_msat,json=maxHtlcMsat,proto3" json:"max_htlc_msat,omitempty"` - // The minimum HTLC size in milli-satoshis. Only applied if - // min_htlc_msat_specified is true. - MinHtlcMsat uint64 `protobuf:"varint,7,opt,name=min_htlc_msat,json=minHtlcMsat,proto3" json:"min_htlc_msat,omitempty"` - // If true, min_htlc_msat is applied. - MinHtlcMsatSpecified bool `protobuf:"varint,8,opt,name=min_htlc_msat_specified,json=minHtlcMsatSpecified,proto3" json:"min_htlc_msat_specified,omitempty"` -} - -func (x *PolicyUpdateRequest) Reset() { - *x = PolicyUpdateRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[152] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PolicyUpdateRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PolicyUpdateRequest) ProtoMessage() {} - -func (x *PolicyUpdateRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[152] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PolicyUpdateRequest.ProtoReflect.Descriptor instead. -func (*PolicyUpdateRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{152} -} - -func (m *PolicyUpdateRequest) GetScope() isPolicyUpdateRequest_Scope { - if m != nil { - return m.Scope - } - return nil -} - -func (x *PolicyUpdateRequest) GetGlobal() bool { - if x, ok := x.GetScope().(*PolicyUpdateRequest_Global); ok { - return x.Global - } - return false -} - -func (x *PolicyUpdateRequest) GetChanPoint() *ChannelPoint { - if x, ok := x.GetScope().(*PolicyUpdateRequest_ChanPoint); ok { - return x.ChanPoint - } - return nil -} - -func (x *PolicyUpdateRequest) GetBaseFeeMsat() int64 { - if x != nil { - return x.BaseFeeMsat - } - return 0 -} - -func (x *PolicyUpdateRequest) GetFeeRate() float64 { - if x != nil { - return x.FeeRate - } - return 0 -} - -func (x *PolicyUpdateRequest) GetFeeRatePpm() uint32 { - if x != nil { - return x.FeeRatePpm - } - return 0 -} - -func (x *PolicyUpdateRequest) GetTimeLockDelta() uint32 { - if x != nil { - return x.TimeLockDelta - } - return 0 -} - -func (x *PolicyUpdateRequest) GetMaxHtlcMsat() uint64 { - if x != nil { - return x.MaxHtlcMsat - } - return 0 -} - -func (x *PolicyUpdateRequest) GetMinHtlcMsat() uint64 { - if x != nil { - return x.MinHtlcMsat - } - return 0 -} - -func (x *PolicyUpdateRequest) GetMinHtlcMsatSpecified() bool { - if x != nil { - return x.MinHtlcMsatSpecified - } - return false -} - -type isPolicyUpdateRequest_Scope interface { - isPolicyUpdateRequest_Scope() -} - -type PolicyUpdateRequest_Global struct { - // If set, then this update applies to all currently active channels. - Global bool `protobuf:"varint,1,opt,name=global,proto3,oneof"` -} - -type PolicyUpdateRequest_ChanPoint struct { - // If set, this update will target a specific channel. - ChanPoint *ChannelPoint `protobuf:"bytes,2,opt,name=chan_point,json=chanPoint,proto3,oneof"` -} - -func (*PolicyUpdateRequest_Global) isPolicyUpdateRequest_Scope() {} - -func (*PolicyUpdateRequest_ChanPoint) isPolicyUpdateRequest_Scope() {} - -type FailedUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The outpoint in format txid:n - Outpoint *OutPoint `protobuf:"bytes,1,opt,name=outpoint,proto3" json:"outpoint,omitempty"` - // Reason for the policy update failure. - Reason UpdateFailure `protobuf:"varint,2,opt,name=reason,proto3,enum=lnrpc.UpdateFailure" json:"reason,omitempty"` - // A string representation of the policy update error. - UpdateError string `protobuf:"bytes,3,opt,name=update_error,json=updateError,proto3" json:"update_error,omitempty"` -} - -func (x *FailedUpdate) Reset() { - *x = FailedUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[153] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FailedUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FailedUpdate) ProtoMessage() {} - -func (x *FailedUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[153] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FailedUpdate.ProtoReflect.Descriptor instead. -func (*FailedUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{153} -} - -func (x *FailedUpdate) GetOutpoint() *OutPoint { - if x != nil { - return x.Outpoint - } - return nil -} - -func (x *FailedUpdate) GetReason() UpdateFailure { - if x != nil { - return x.Reason - } - return UpdateFailure_UPDATE_FAILURE_UNKNOWN -} - -func (x *FailedUpdate) GetUpdateError() string { - if x != nil { - return x.UpdateError - } - return "" -} - -type PolicyUpdateResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // List of failed policy updates. - FailedUpdates []*FailedUpdate `protobuf:"bytes,1,rep,name=failed_updates,json=failedUpdates,proto3" json:"failed_updates,omitempty"` -} - -func (x *PolicyUpdateResponse) Reset() { - *x = PolicyUpdateResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[154] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PolicyUpdateResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PolicyUpdateResponse) ProtoMessage() {} - -func (x *PolicyUpdateResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[154] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PolicyUpdateResponse.ProtoReflect.Descriptor instead. -func (*PolicyUpdateResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{154} -} - -func (x *PolicyUpdateResponse) GetFailedUpdates() []*FailedUpdate { - if x != nil { - return x.FailedUpdates - } - return nil -} - -type ForwardingHistoryRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Start time is the starting point of the forwarding history request. All - // records beyond this point will be included, respecting the end time, and - // the index offset. - StartTime uint64 `protobuf:"varint,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` - // End time is the end point of the forwarding history request. The - // response will carry at most 50k records between the start time and the - // end time. The index offset can be used to implement pagination. - EndTime uint64 `protobuf:"varint,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` - // Index offset is the offset in the time series to start at. As each - // response can only contain 50k records, callers can use this to skip - // around within a packed time series. - IndexOffset uint32 `protobuf:"varint,3,opt,name=index_offset,json=indexOffset,proto3" json:"index_offset,omitempty"` - // The max number of events to return in the response to this query. - NumMaxEvents uint32 `protobuf:"varint,4,opt,name=num_max_events,json=numMaxEvents,proto3" json:"num_max_events,omitempty"` -} - -func (x *ForwardingHistoryRequest) Reset() { - *x = ForwardingHistoryRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[155] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ForwardingHistoryRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ForwardingHistoryRequest) ProtoMessage() {} - -func (x *ForwardingHistoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[155] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ForwardingHistoryRequest.ProtoReflect.Descriptor instead. -func (*ForwardingHistoryRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{155} -} - -func (x *ForwardingHistoryRequest) GetStartTime() uint64 { - if x != nil { - return x.StartTime - } - return 0 -} - -func (x *ForwardingHistoryRequest) GetEndTime() uint64 { - if x != nil { - return x.EndTime - } - return 0 -} - -func (x *ForwardingHistoryRequest) GetIndexOffset() uint32 { - if x != nil { - return x.IndexOffset - } - return 0 -} - -func (x *ForwardingHistoryRequest) GetNumMaxEvents() uint32 { - if x != nil { - return x.NumMaxEvents - } - return 0 -} - -type ForwardingEvent struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Timestamp is the time (unix epoch offset) that this circuit was - // completed. Deprecated by timestamp_ns. - // - // Deprecated: Do not use. - Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // The incoming channel ID that carried the HTLC that created the circuit. - ChanIdIn uint64 `protobuf:"varint,2,opt,name=chan_id_in,json=chanIdIn,proto3" json:"chan_id_in,omitempty"` - // The outgoing channel ID that carried the preimage that completed the - // circuit. - ChanIdOut uint64 `protobuf:"varint,4,opt,name=chan_id_out,json=chanIdOut,proto3" json:"chan_id_out,omitempty"` - // The total amount (in satoshis) of the incoming HTLC that created half - // the circuit. - AmtIn uint64 `protobuf:"varint,5,opt,name=amt_in,json=amtIn,proto3" json:"amt_in,omitempty"` - // The total amount (in satoshis) of the outgoing HTLC that created the - // second half of the circuit. - AmtOut uint64 `protobuf:"varint,6,opt,name=amt_out,json=amtOut,proto3" json:"amt_out,omitempty"` - // The total fee (in satoshis) that this payment circuit carried. - Fee uint64 `protobuf:"varint,7,opt,name=fee,proto3" json:"fee,omitempty"` - // The total fee (in milli-satoshis) that this payment circuit carried. - FeeMsat uint64 `protobuf:"varint,8,opt,name=fee_msat,json=feeMsat,proto3" json:"fee_msat,omitempty"` - // The total amount (in milli-satoshis) of the incoming HTLC that created - // half the circuit. - AmtInMsat uint64 `protobuf:"varint,9,opt,name=amt_in_msat,json=amtInMsat,proto3" json:"amt_in_msat,omitempty"` - // The total amount (in milli-satoshis) of the outgoing HTLC that created - // the second half of the circuit. - AmtOutMsat uint64 `protobuf:"varint,10,opt,name=amt_out_msat,json=amtOutMsat,proto3" json:"amt_out_msat,omitempty"` - // The number of nanoseconds elapsed since January 1, 1970 UTC when this - // circuit was completed. - TimestampNs uint64 `protobuf:"varint,11,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` -} - -func (x *ForwardingEvent) Reset() { - *x = ForwardingEvent{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[156] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ForwardingEvent) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ForwardingEvent) ProtoMessage() {} - -func (x *ForwardingEvent) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[156] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ForwardingEvent.ProtoReflect.Descriptor instead. -func (*ForwardingEvent) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{156} -} - -// Deprecated: Do not use. -func (x *ForwardingEvent) GetTimestamp() uint64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *ForwardingEvent) GetChanIdIn() uint64 { - if x != nil { - return x.ChanIdIn - } - return 0 -} - -func (x *ForwardingEvent) GetChanIdOut() uint64 { - if x != nil { - return x.ChanIdOut - } - return 0 -} - -func (x *ForwardingEvent) GetAmtIn() uint64 { - if x != nil { - return x.AmtIn - } - return 0 -} - -func (x *ForwardingEvent) GetAmtOut() uint64 { - if x != nil { - return x.AmtOut - } - return 0 -} - -func (x *ForwardingEvent) GetFee() uint64 { - if x != nil { - return x.Fee - } - return 0 -} - -func (x *ForwardingEvent) GetFeeMsat() uint64 { - if x != nil { - return x.FeeMsat - } - return 0 -} - -func (x *ForwardingEvent) GetAmtInMsat() uint64 { - if x != nil { - return x.AmtInMsat - } - return 0 -} - -func (x *ForwardingEvent) GetAmtOutMsat() uint64 { - if x != nil { - return x.AmtOutMsat - } - return 0 -} - -func (x *ForwardingEvent) GetTimestampNs() uint64 { - if x != nil { - return x.TimestampNs - } - return 0 -} - -type ForwardingHistoryResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A list of forwarding events from the time slice of the time series - // specified in the request. - ForwardingEvents []*ForwardingEvent `protobuf:"bytes,1,rep,name=forwarding_events,json=forwardingEvents,proto3" json:"forwarding_events,omitempty"` - // The index of the last time in the set of returned forwarding events. Can - // be used to seek further, pagination style. - LastOffsetIndex uint32 `protobuf:"varint,2,opt,name=last_offset_index,json=lastOffsetIndex,proto3" json:"last_offset_index,omitempty"` -} - -func (x *ForwardingHistoryResponse) Reset() { - *x = ForwardingHistoryResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[157] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ForwardingHistoryResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ForwardingHistoryResponse) ProtoMessage() {} - -func (x *ForwardingHistoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[157] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ForwardingHistoryResponse.ProtoReflect.Descriptor instead. -func (*ForwardingHistoryResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{157} -} - -func (x *ForwardingHistoryResponse) GetForwardingEvents() []*ForwardingEvent { - if x != nil { - return x.ForwardingEvents - } - return nil -} - -func (x *ForwardingHistoryResponse) GetLastOffsetIndex() uint32 { - if x != nil { - return x.LastOffsetIndex - } - return 0 -} - -type ExportChannelBackupRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The target channel point to obtain a back up for. - ChanPoint *ChannelPoint `protobuf:"bytes,1,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` -} - -func (x *ExportChannelBackupRequest) Reset() { - *x = ExportChannelBackupRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[158] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ExportChannelBackupRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ExportChannelBackupRequest) ProtoMessage() {} - -func (x *ExportChannelBackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[158] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ExportChannelBackupRequest.ProtoReflect.Descriptor instead. -func (*ExportChannelBackupRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{158} -} - -func (x *ExportChannelBackupRequest) GetChanPoint() *ChannelPoint { - if x != nil { - return x.ChanPoint - } - return nil -} - -type ChannelBackup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Identifies the channel that this backup belongs to. - ChanPoint *ChannelPoint `protobuf:"bytes,1,opt,name=chan_point,json=chanPoint,proto3" json:"chan_point,omitempty"` - // Is an encrypted single-chan backup. this can be passed to - // RestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in - // order to trigger the recovery protocol. When using REST, this field must be - // encoded as base64. - ChanBackup []byte `protobuf:"bytes,2,opt,name=chan_backup,json=chanBackup,proto3" json:"chan_backup,omitempty"` -} - -func (x *ChannelBackup) Reset() { - *x = ChannelBackup{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[159] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelBackup) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelBackup) ProtoMessage() {} - -func (x *ChannelBackup) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[159] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelBackup.ProtoReflect.Descriptor instead. -func (*ChannelBackup) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{159} -} - -func (x *ChannelBackup) GetChanPoint() *ChannelPoint { - if x != nil { - return x.ChanPoint - } - return nil -} - -func (x *ChannelBackup) GetChanBackup() []byte { - if x != nil { - return x.ChanBackup - } - return nil -} - -type MultiChanBackup struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Is the set of all channels that are included in this multi-channel backup. - ChanPoints []*ChannelPoint `protobuf:"bytes,1,rep,name=chan_points,json=chanPoints,proto3" json:"chan_points,omitempty"` - // A single encrypted blob containing all the static channel backups of the - // channel listed above. This can be stored as a single file or blob, and - // safely be replaced with any prior/future versions. When using REST, this - // field must be encoded as base64. - MultiChanBackup []byte `protobuf:"bytes,2,opt,name=multi_chan_backup,json=multiChanBackup,proto3" json:"multi_chan_backup,omitempty"` -} - -func (x *MultiChanBackup) Reset() { - *x = MultiChanBackup{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[160] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MultiChanBackup) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MultiChanBackup) ProtoMessage() {} - -func (x *MultiChanBackup) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[160] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MultiChanBackup.ProtoReflect.Descriptor instead. -func (*MultiChanBackup) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{160} -} - -func (x *MultiChanBackup) GetChanPoints() []*ChannelPoint { - if x != nil { - return x.ChanPoints - } - return nil -} - -func (x *MultiChanBackup) GetMultiChanBackup() []byte { - if x != nil { - return x.MultiChanBackup - } - return nil -} - -type ChanBackupExportRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ChanBackupExportRequest) Reset() { - *x = ChanBackupExportRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[161] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChanBackupExportRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChanBackupExportRequest) ProtoMessage() {} - -func (x *ChanBackupExportRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[161] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChanBackupExportRequest.ProtoReflect.Descriptor instead. -func (*ChanBackupExportRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{161} -} - -type ChanBackupSnapshot struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The set of new channels that have been added since the last channel backup - // snapshot was requested. - SingleChanBackups *ChannelBackups `protobuf:"bytes,1,opt,name=single_chan_backups,json=singleChanBackups,proto3" json:"single_chan_backups,omitempty"` - // A multi-channel backup that covers all open channels currently known to - // lnd. - MultiChanBackup *MultiChanBackup `protobuf:"bytes,2,opt,name=multi_chan_backup,json=multiChanBackup,proto3" json:"multi_chan_backup,omitempty"` -} - -func (x *ChanBackupSnapshot) Reset() { - *x = ChanBackupSnapshot{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[162] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChanBackupSnapshot) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChanBackupSnapshot) ProtoMessage() {} - -func (x *ChanBackupSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[162] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChanBackupSnapshot.ProtoReflect.Descriptor instead. -func (*ChanBackupSnapshot) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{162} -} - -func (x *ChanBackupSnapshot) GetSingleChanBackups() *ChannelBackups { - if x != nil { - return x.SingleChanBackups - } - return nil -} - -func (x *ChanBackupSnapshot) GetMultiChanBackup() *MultiChanBackup { - if x != nil { - return x.MultiChanBackup - } - return nil -} - -type ChannelBackups struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A set of single-chan static channel backups. - ChanBackups []*ChannelBackup `protobuf:"bytes,1,rep,name=chan_backups,json=chanBackups,proto3" json:"chan_backups,omitempty"` -} - -func (x *ChannelBackups) Reset() { - *x = ChannelBackups{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[163] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelBackups) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelBackups) ProtoMessage() {} - -func (x *ChannelBackups) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[163] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelBackups.ProtoReflect.Descriptor instead. -func (*ChannelBackups) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{163} -} - -func (x *ChannelBackups) GetChanBackups() []*ChannelBackup { - if x != nil { - return x.ChanBackups - } - return nil -} - -type RestoreChanBackupRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Types that are assignable to Backup: - // - // *RestoreChanBackupRequest_ChanBackups - // *RestoreChanBackupRequest_MultiChanBackup - Backup isRestoreChanBackupRequest_Backup `protobuf_oneof:"backup"` -} - -func (x *RestoreChanBackupRequest) Reset() { - *x = RestoreChanBackupRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[164] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RestoreChanBackupRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RestoreChanBackupRequest) ProtoMessage() {} - -func (x *RestoreChanBackupRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[164] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RestoreChanBackupRequest.ProtoReflect.Descriptor instead. -func (*RestoreChanBackupRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{164} -} - -func (m *RestoreChanBackupRequest) GetBackup() isRestoreChanBackupRequest_Backup { - if m != nil { - return m.Backup - } - return nil -} - -func (x *RestoreChanBackupRequest) GetChanBackups() *ChannelBackups { - if x, ok := x.GetBackup().(*RestoreChanBackupRequest_ChanBackups); ok { - return x.ChanBackups - } - return nil -} - -func (x *RestoreChanBackupRequest) GetMultiChanBackup() []byte { - if x, ok := x.GetBackup().(*RestoreChanBackupRequest_MultiChanBackup); ok { - return x.MultiChanBackup - } - return nil -} - -type isRestoreChanBackupRequest_Backup interface { - isRestoreChanBackupRequest_Backup() -} - -type RestoreChanBackupRequest_ChanBackups struct { - // The channels to restore as a list of channel/backup pairs. - ChanBackups *ChannelBackups `protobuf:"bytes,1,opt,name=chan_backups,json=chanBackups,proto3,oneof"` -} - -type RestoreChanBackupRequest_MultiChanBackup struct { - // The channels to restore in the packed multi backup format. When using - // REST, this field must be encoded as base64. - MultiChanBackup []byte `protobuf:"bytes,2,opt,name=multi_chan_backup,json=multiChanBackup,proto3,oneof"` -} - -func (*RestoreChanBackupRequest_ChanBackups) isRestoreChanBackupRequest_Backup() {} - -func (*RestoreChanBackupRequest_MultiChanBackup) isRestoreChanBackupRequest_Backup() {} - -type RestoreBackupResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *RestoreBackupResponse) Reset() { - *x = RestoreBackupResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[165] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RestoreBackupResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RestoreBackupResponse) ProtoMessage() {} - -func (x *RestoreBackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[165] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RestoreBackupResponse.ProtoReflect.Descriptor instead. -func (*RestoreBackupResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{165} -} - -type ChannelBackupSubscription struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ChannelBackupSubscription) Reset() { - *x = ChannelBackupSubscription{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[166] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelBackupSubscription) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelBackupSubscription) ProtoMessage() {} - -func (x *ChannelBackupSubscription) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[166] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelBackupSubscription.ProtoReflect.Descriptor instead. -func (*ChannelBackupSubscription) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{166} -} - -type VerifyChanBackupResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *VerifyChanBackupResponse) Reset() { - *x = VerifyChanBackupResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[167] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VerifyChanBackupResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VerifyChanBackupResponse) ProtoMessage() {} - -func (x *VerifyChanBackupResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[167] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VerifyChanBackupResponse.ProtoReflect.Descriptor instead. -func (*VerifyChanBackupResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{167} -} - -type MacaroonPermission struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The entity a permission grants access to. - Entity string `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` - // The action that is granted. - Action string `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` -} - -func (x *MacaroonPermission) Reset() { - *x = MacaroonPermission{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[168] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MacaroonPermission) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MacaroonPermission) ProtoMessage() {} - -func (x *MacaroonPermission) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[168] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MacaroonPermission.ProtoReflect.Descriptor instead. -func (*MacaroonPermission) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{168} -} - -func (x *MacaroonPermission) GetEntity() string { - if x != nil { - return x.Entity - } - return "" -} - -func (x *MacaroonPermission) GetAction() string { - if x != nil { - return x.Action - } - return "" -} - -type BakeMacaroonRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of permissions the new macaroon should grant. - Permissions []*MacaroonPermission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"` - // The root key ID used to create the macaroon, must be a positive integer. - RootKeyId uint64 `protobuf:"varint,2,opt,name=root_key_id,json=rootKeyId,proto3" json:"root_key_id,omitempty"` - // Informs the RPC on whether to allow external permissions that LND is not - // aware of. - AllowExternalPermissions bool `protobuf:"varint,3,opt,name=allow_external_permissions,json=allowExternalPermissions,proto3" json:"allow_external_permissions,omitempty"` -} - -func (x *BakeMacaroonRequest) Reset() { - *x = BakeMacaroonRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[169] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BakeMacaroonRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BakeMacaroonRequest) ProtoMessage() {} - -func (x *BakeMacaroonRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[169] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BakeMacaroonRequest.ProtoReflect.Descriptor instead. -func (*BakeMacaroonRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{169} -} - -func (x *BakeMacaroonRequest) GetPermissions() []*MacaroonPermission { - if x != nil { - return x.Permissions - } - return nil -} - -func (x *BakeMacaroonRequest) GetRootKeyId() uint64 { - if x != nil { - return x.RootKeyId - } - return 0 -} - -func (x *BakeMacaroonRequest) GetAllowExternalPermissions() bool { - if x != nil { - return x.AllowExternalPermissions - } - return false -} - -type BakeMacaroonResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The hex encoded macaroon, serialized in binary format. - Macaroon string `protobuf:"bytes,1,opt,name=macaroon,proto3" json:"macaroon,omitempty"` -} - -func (x *BakeMacaroonResponse) Reset() { - *x = BakeMacaroonResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[170] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BakeMacaroonResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BakeMacaroonResponse) ProtoMessage() {} - -func (x *BakeMacaroonResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[170] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BakeMacaroonResponse.ProtoReflect.Descriptor instead. -func (*BakeMacaroonResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{170} -} - -func (x *BakeMacaroonResponse) GetMacaroon() string { - if x != nil { - return x.Macaroon - } - return "" -} - -type ListMacaroonIDsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ListMacaroonIDsRequest) Reset() { - *x = ListMacaroonIDsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[171] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListMacaroonIDsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMacaroonIDsRequest) ProtoMessage() {} - -func (x *ListMacaroonIDsRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[171] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMacaroonIDsRequest.ProtoReflect.Descriptor instead. -func (*ListMacaroonIDsRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{171} -} - -type ListMacaroonIDsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The list of root key IDs that are in use. - RootKeyIds []uint64 `protobuf:"varint,1,rep,packed,name=root_key_ids,json=rootKeyIds,proto3" json:"root_key_ids,omitempty"` -} - -func (x *ListMacaroonIDsResponse) Reset() { - *x = ListMacaroonIDsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[172] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListMacaroonIDsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListMacaroonIDsResponse) ProtoMessage() {} - -func (x *ListMacaroonIDsResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[172] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListMacaroonIDsResponse.ProtoReflect.Descriptor instead. -func (*ListMacaroonIDsResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{172} -} - -func (x *ListMacaroonIDsResponse) GetRootKeyIds() []uint64 { - if x != nil { - return x.RootKeyIds - } - return nil -} - -type DeleteMacaroonIDRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The root key ID to be removed. - RootKeyId uint64 `protobuf:"varint,1,opt,name=root_key_id,json=rootKeyId,proto3" json:"root_key_id,omitempty"` -} - -func (x *DeleteMacaroonIDRequest) Reset() { - *x = DeleteMacaroonIDRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[173] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteMacaroonIDRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteMacaroonIDRequest) ProtoMessage() {} - -func (x *DeleteMacaroonIDRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[173] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteMacaroonIDRequest.ProtoReflect.Descriptor instead. -func (*DeleteMacaroonIDRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{173} -} - -func (x *DeleteMacaroonIDRequest) GetRootKeyId() uint64 { - if x != nil { - return x.RootKeyId - } - return 0 -} - -type DeleteMacaroonIDResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A boolean indicates that the deletion is successful. - Deleted bool `protobuf:"varint,1,opt,name=deleted,proto3" json:"deleted,omitempty"` -} - -func (x *DeleteMacaroonIDResponse) Reset() { - *x = DeleteMacaroonIDResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[174] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteMacaroonIDResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteMacaroonIDResponse) ProtoMessage() {} - -func (x *DeleteMacaroonIDResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[174] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteMacaroonIDResponse.ProtoReflect.Descriptor instead. -func (*DeleteMacaroonIDResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{174} -} - -func (x *DeleteMacaroonIDResponse) GetDeleted() bool { - if x != nil { - return x.Deleted - } - return false -} - -type MacaroonPermissionList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A list of macaroon permissions. - Permissions []*MacaroonPermission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"` -} - -func (x *MacaroonPermissionList) Reset() { - *x = MacaroonPermissionList{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[175] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MacaroonPermissionList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MacaroonPermissionList) ProtoMessage() {} - -func (x *MacaroonPermissionList) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[175] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MacaroonPermissionList.ProtoReflect.Descriptor instead. -func (*MacaroonPermissionList) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{175} -} - -func (x *MacaroonPermissionList) GetPermissions() []*MacaroonPermission { - if x != nil { - return x.Permissions - } - return nil -} - -type ListPermissionsRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ListPermissionsRequest) Reset() { - *x = ListPermissionsRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[176] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListPermissionsRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPermissionsRequest) ProtoMessage() {} - -func (x *ListPermissionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[176] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListPermissionsRequest.ProtoReflect.Descriptor instead. -func (*ListPermissionsRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{176} -} - -type ListPermissionsResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // A map between all RPC method URIs and their required macaroon permissions to - // access them. - 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"` -} - -func (x *ListPermissionsResponse) Reset() { - *x = ListPermissionsResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[177] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListPermissionsResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPermissionsResponse) ProtoMessage() {} - -func (x *ListPermissionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[177] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ListPermissionsResponse.ProtoReflect.Descriptor instead. -func (*ListPermissionsResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{177} -} - -func (x *ListPermissionsResponse) GetMethodPermissions() map[string]*MacaroonPermissionList { - if x != nil { - return x.MethodPermissions - } - return nil -} - -type Failure struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Failure code as defined in the Lightning spec - Code Failure_FailureCode `protobuf:"varint,1,opt,name=code,proto3,enum=lnrpc.Failure_FailureCode" json:"code,omitempty"` - // An optional channel update message. - ChannelUpdate *ChannelUpdate `protobuf:"bytes,3,opt,name=channel_update,json=channelUpdate,proto3" json:"channel_update,omitempty"` - // A failure type-dependent htlc value. - HtlcMsat uint64 `protobuf:"varint,4,opt,name=htlc_msat,json=htlcMsat,proto3" json:"htlc_msat,omitempty"` - // The sha256 sum of the onion payload. - OnionSha_256 []byte `protobuf:"bytes,5,opt,name=onion_sha_256,json=onionSha256,proto3" json:"onion_sha_256,omitempty"` - // A failure type-dependent cltv expiry value. - CltvExpiry uint32 `protobuf:"varint,6,opt,name=cltv_expiry,json=cltvExpiry,proto3" json:"cltv_expiry,omitempty"` - // A failure type-dependent flags value. - Flags uint32 `protobuf:"varint,7,opt,name=flags,proto3" json:"flags,omitempty"` - // The position in the path of the intermediate or final node that generated - // the failure message. Position zero is the sender node. - FailureSourceIndex uint32 `protobuf:"varint,8,opt,name=failure_source_index,json=failureSourceIndex,proto3" json:"failure_source_index,omitempty"` - // A failure type-dependent block height. - Height uint32 `protobuf:"varint,9,opt,name=height,proto3" json:"height,omitempty"` -} - -func (x *Failure) Reset() { - *x = Failure{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[178] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Failure) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Failure) ProtoMessage() {} - -func (x *Failure) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[178] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Failure.ProtoReflect.Descriptor instead. -func (*Failure) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{178} -} - -func (x *Failure) GetCode() Failure_FailureCode { - if x != nil { - return x.Code - } - return Failure_RESERVED -} - -func (x *Failure) GetChannelUpdate() *ChannelUpdate { - if x != nil { - return x.ChannelUpdate - } - return nil -} - -func (x *Failure) GetHtlcMsat() uint64 { - if x != nil { - return x.HtlcMsat - } - return 0 -} - -func (x *Failure) GetOnionSha_256() []byte { - if x != nil { - return x.OnionSha_256 - } - return nil -} - -func (x *Failure) GetCltvExpiry() uint32 { - if x != nil { - return x.CltvExpiry - } - return 0 -} - -func (x *Failure) GetFlags() uint32 { - if x != nil { - return x.Flags - } - return 0 -} - -func (x *Failure) GetFailureSourceIndex() uint32 { - if x != nil { - return x.FailureSourceIndex - } - return 0 -} - -func (x *Failure) GetHeight() uint32 { - if x != nil { - return x.Height - } - return 0 -} - -type ChannelUpdate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The signature that validates the announced data and proves the ownership - // of node id. - Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` - // The target chain that this channel was opened within. This value - // should be the genesis hash of the target chain. Along with the short - // channel ID, this uniquely identifies the channel globally in a - // blockchain. - ChainHash []byte `protobuf:"bytes,2,opt,name=chain_hash,json=chainHash,proto3" json:"chain_hash,omitempty"` - // The unique description of the funding transaction. - ChanId uint64 `protobuf:"varint,3,opt,name=chan_id,json=chanId,proto3" json:"chan_id,omitempty"` - // A timestamp that allows ordering in the case of multiple announcements. - // We should ignore the message if timestamp is not greater than the - // last-received. - Timestamp uint32 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - // The bitfield that describes whether optional fields are present in this - // update. Currently, the least-significant bit must be set to 1 if the - // optional field MaxHtlc is present. - MessageFlags uint32 `protobuf:"varint,10,opt,name=message_flags,json=messageFlags,proto3" json:"message_flags,omitempty"` - // The bitfield that describes additional meta-data concerning how the - // update is to be interpreted. Currently, the least-significant bit must be - // set to 0 if the creating node corresponds to the first node in the - // previously sent channel announcement and 1 otherwise. If the second bit - // is set, then the channel is set to be disabled. - ChannelFlags uint32 `protobuf:"varint,5,opt,name=channel_flags,json=channelFlags,proto3" json:"channel_flags,omitempty"` - // The minimum number of blocks this node requires to be added to the expiry - // of HTLCs. This is a security parameter determined by the node operator. - // This value represents the required gap between the time locks of the - // incoming and outgoing HTLC's set to this node. - TimeLockDelta uint32 `protobuf:"varint,6,opt,name=time_lock_delta,json=timeLockDelta,proto3" json:"time_lock_delta,omitempty"` - // The minimum HTLC value which will be accepted. - HtlcMinimumMsat uint64 `protobuf:"varint,7,opt,name=htlc_minimum_msat,json=htlcMinimumMsat,proto3" json:"htlc_minimum_msat,omitempty"` - // The base fee that must be used for incoming HTLC's to this particular - // channel. This value will be tacked onto the required for a payment - // independent of the size of the payment. - BaseFee uint32 `protobuf:"varint,8,opt,name=base_fee,json=baseFee,proto3" json:"base_fee,omitempty"` - // The fee rate that will be charged per millionth of a satoshi. - FeeRate uint32 `protobuf:"varint,9,opt,name=fee_rate,json=feeRate,proto3" json:"fee_rate,omitempty"` - // The maximum HTLC value which will be accepted. - HtlcMaximumMsat uint64 `protobuf:"varint,11,opt,name=htlc_maximum_msat,json=htlcMaximumMsat,proto3" json:"htlc_maximum_msat,omitempty"` - // The set of data that was appended to this message, some of which we may - // not actually know how to iterate or parse. By holding onto this data, we - // ensure that we're able to properly validate the set of signatures that - // cover these new fields, and ensure we're able to make upgrades to the - // network in a forwards compatible manner. - ExtraOpaqueData []byte `protobuf:"bytes,12,opt,name=extra_opaque_data,json=extraOpaqueData,proto3" json:"extra_opaque_data,omitempty"` -} - -func (x *ChannelUpdate) Reset() { - *x = ChannelUpdate{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[179] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChannelUpdate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChannelUpdate) ProtoMessage() {} - -func (x *ChannelUpdate) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[179] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChannelUpdate.ProtoReflect.Descriptor instead. -func (*ChannelUpdate) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{179} -} - -func (x *ChannelUpdate) GetSignature() []byte { - if x != nil { - return x.Signature - } - return nil -} - -func (x *ChannelUpdate) GetChainHash() []byte { - if x != nil { - return x.ChainHash - } - return nil -} - -func (x *ChannelUpdate) GetChanId() uint64 { - if x != nil { - return x.ChanId - } - return 0 -} - -func (x *ChannelUpdate) GetTimestamp() uint32 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *ChannelUpdate) GetMessageFlags() uint32 { - if x != nil { - return x.MessageFlags - } - return 0 -} - -func (x *ChannelUpdate) GetChannelFlags() uint32 { - if x != nil { - return x.ChannelFlags - } - return 0 -} - -func (x *ChannelUpdate) GetTimeLockDelta() uint32 { - if x != nil { - return x.TimeLockDelta - } - return 0 -} - -func (x *ChannelUpdate) GetHtlcMinimumMsat() uint64 { - if x != nil { - return x.HtlcMinimumMsat - } - return 0 -} - -func (x *ChannelUpdate) GetBaseFee() uint32 { - if x != nil { - return x.BaseFee - } - return 0 -} - -func (x *ChannelUpdate) GetFeeRate() uint32 { - if x != nil { - return x.FeeRate - } - return 0 -} - -func (x *ChannelUpdate) GetHtlcMaximumMsat() uint64 { - if x != nil { - return x.HtlcMaximumMsat - } - return 0 -} - -func (x *ChannelUpdate) GetExtraOpaqueData() []byte { - if x != nil { - return x.ExtraOpaqueData - } - return nil -} - -type MacaroonId struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Nonce []byte `protobuf:"bytes,1,opt,name=nonce,proto3" json:"nonce,omitempty"` - StorageId []byte `protobuf:"bytes,2,opt,name=storageId,proto3" json:"storageId,omitempty"` - Ops []*Op `protobuf:"bytes,3,rep,name=ops,proto3" json:"ops,omitempty"` -} - -func (x *MacaroonId) Reset() { - *x = MacaroonId{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[180] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MacaroonId) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MacaroonId) ProtoMessage() {} - -func (x *MacaroonId) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[180] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MacaroonId.ProtoReflect.Descriptor instead. -func (*MacaroonId) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{180} -} - -func (x *MacaroonId) GetNonce() []byte { - if x != nil { - return x.Nonce - } - return nil -} - -func (x *MacaroonId) GetStorageId() []byte { - if x != nil { - return x.StorageId - } - return nil -} - -func (x *MacaroonId) GetOps() []*Op { - if x != nil { - return x.Ops - } - return nil -} - -type Op struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Entity string `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` - Actions []string `protobuf:"bytes,2,rep,name=actions,proto3" json:"actions,omitempty"` -} - -func (x *Op) Reset() { - *x = Op{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[181] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Op) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Op) ProtoMessage() {} - -func (x *Op) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[181] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Op.ProtoReflect.Descriptor instead. -func (*Op) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{181} -} - -func (x *Op) GetEntity() string { - if x != nil { - return x.Entity - } - return "" -} - -func (x *Op) GetActions() []string { - if x != nil { - return x.Actions - } - return nil -} - -type CheckMacPermRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Macaroon []byte `protobuf:"bytes,1,opt,name=macaroon,proto3" json:"macaroon,omitempty"` - Permissions []*MacaroonPermission `protobuf:"bytes,2,rep,name=permissions,proto3" json:"permissions,omitempty"` - FullMethod string `protobuf:"bytes,3,opt,name=fullMethod,proto3" json:"fullMethod,omitempty"` -} - -func (x *CheckMacPermRequest) Reset() { - *x = CheckMacPermRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[182] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CheckMacPermRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CheckMacPermRequest) ProtoMessage() {} - -func (x *CheckMacPermRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[182] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CheckMacPermRequest.ProtoReflect.Descriptor instead. -func (*CheckMacPermRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{182} -} - -func (x *CheckMacPermRequest) GetMacaroon() []byte { - if x != nil { - return x.Macaroon - } - return nil -} - -func (x *CheckMacPermRequest) GetPermissions() []*MacaroonPermission { - if x != nil { - return x.Permissions - } - return nil -} - -func (x *CheckMacPermRequest) GetFullMethod() string { - if x != nil { - return x.FullMethod - } - return "" -} - -type CheckMacPermResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"` -} - -func (x *CheckMacPermResponse) Reset() { - *x = CheckMacPermResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[183] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CheckMacPermResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CheckMacPermResponse) ProtoMessage() {} - -func (x *CheckMacPermResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[183] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CheckMacPermResponse.ProtoReflect.Descriptor instead. -func (*CheckMacPermResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{183} -} - -func (x *CheckMacPermResponse) GetValid() bool { - if x != nil { - return x.Valid - } - return false -} - -type RPCMiddlewareRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The unique ID of the intercepted original gRPC request. Useful for mapping - // request to response when implementing full duplex message interception. For - // streaming requests, this will be the same ID for all incoming and outgoing - // middleware intercept messages of the _same_ stream. - RequestId uint64 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - // The raw bytes of the complete macaroon as sent by the gRPC client in the - // original request. This might be empty for a request that doesn't require - // macaroons such as the wallet unlocker RPCs. - RawMacaroon []byte `protobuf:"bytes,2,opt,name=raw_macaroon,json=rawMacaroon,proto3" json:"raw_macaroon,omitempty"` - // The parsed condition of the macaroon's custom caveat for convenient access. - // This field only contains the value of the custom caveat that the handling - // middleware has registered itself for. The condition _must_ be validated for - // messages of intercept_type stream_auth and request! - CustomCaveatCondition string `protobuf:"bytes,3,opt,name=custom_caveat_condition,json=customCaveatCondition,proto3" json:"custom_caveat_condition,omitempty"` - // There are three types of messages that will be sent to the middleware for - // inspection and approval: Stream authentication, request and response - // interception. The first two can only be accepted (=forward to main RPC - // server) or denied (=return error to client). Intercepted responses can also - // be replaced/overwritten. - // - // Types that are assignable to InterceptType: - // - // *RPCMiddlewareRequest_StreamAuth - // *RPCMiddlewareRequest_Request - // *RPCMiddlewareRequest_Response - // *RPCMiddlewareRequest_RegComplete - InterceptType isRPCMiddlewareRequest_InterceptType `protobuf_oneof:"intercept_type"` - // The unique message ID of this middleware intercept message. There can be - // multiple middleware intercept messages per single gRPC request (one for the - // incoming request and one for the outgoing response) or gRPC stream (one for - // each incoming message and one for each outgoing response). This message ID - // must be referenced when responding (accepting/rejecting/modifying) to an - // intercept message. - MsgId uint64 `protobuf:"varint,7,opt,name=msg_id,json=msgId,proto3" json:"msg_id,omitempty"` -} - -func (x *RPCMiddlewareRequest) Reset() { - *x = RPCMiddlewareRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[184] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RPCMiddlewareRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RPCMiddlewareRequest) ProtoMessage() {} - -func (x *RPCMiddlewareRequest) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[184] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RPCMiddlewareRequest.ProtoReflect.Descriptor instead. -func (*RPCMiddlewareRequest) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{184} -} - -func (x *RPCMiddlewareRequest) GetRequestId() uint64 { - if x != nil { - return x.RequestId - } - return 0 -} - -func (x *RPCMiddlewareRequest) GetRawMacaroon() []byte { - if x != nil { - return x.RawMacaroon - } - return nil -} - -func (x *RPCMiddlewareRequest) GetCustomCaveatCondition() string { - if x != nil { - return x.CustomCaveatCondition - } - return "" -} - -func (m *RPCMiddlewareRequest) GetInterceptType() isRPCMiddlewareRequest_InterceptType { - if m != nil { - return m.InterceptType - } - return nil -} - -func (x *RPCMiddlewareRequest) GetStreamAuth() *StreamAuth { - if x, ok := x.GetInterceptType().(*RPCMiddlewareRequest_StreamAuth); ok { - return x.StreamAuth - } - return nil -} - -func (x *RPCMiddlewareRequest) GetRequest() *RPCMessage { - if x, ok := x.GetInterceptType().(*RPCMiddlewareRequest_Request); ok { - return x.Request - } - return nil -} - -func (x *RPCMiddlewareRequest) GetResponse() *RPCMessage { - if x, ok := x.GetInterceptType().(*RPCMiddlewareRequest_Response); ok { - return x.Response - } - return nil -} - -func (x *RPCMiddlewareRequest) GetRegComplete() bool { - if x, ok := x.GetInterceptType().(*RPCMiddlewareRequest_RegComplete); ok { - return x.RegComplete - } - return false -} - -func (x *RPCMiddlewareRequest) GetMsgId() uint64 { - if x != nil { - return x.MsgId - } - return 0 -} - -type isRPCMiddlewareRequest_InterceptType interface { - isRPCMiddlewareRequest_InterceptType() -} - -type RPCMiddlewareRequest_StreamAuth struct { - // Intercept stream authentication: each new streaming RPC call that is - // initiated against lnd and contains the middleware's custom macaroon - // caveat can be approved or denied based upon the macaroon in the stream - // header. This message will only be sent for streaming RPCs, unary RPCs - // must handle the macaroon authentication in the request interception to - // avoid an additional message round trip between lnd and the middleware. - StreamAuth *StreamAuth `protobuf:"bytes,4,opt,name=stream_auth,json=streamAuth,proto3,oneof"` -} - -type RPCMiddlewareRequest_Request struct { - // Intercept incoming gRPC client request message: all incoming messages, - // both on streaming and unary RPCs, are forwarded to the middleware for - // inspection. For unary RPC messages the middleware is also expected to - // validate the custom macaroon caveat of the request. - Request *RPCMessage `protobuf:"bytes,5,opt,name=request,proto3,oneof"` -} - -type RPCMiddlewareRequest_Response struct { - // Intercept outgoing gRPC response message: all outgoing messages, both on - // streaming and unary RPCs, are forwarded to the middleware for inspection - // and amendment. The response in this message is the original response as - // it was generated by the main RPC server. It can either be accepted - // (=forwarded to the client), replaced/overwritten with a new message of - // the same type, or replaced by an error message. - Response *RPCMessage `protobuf:"bytes,6,opt,name=response,proto3,oneof"` -} - -type RPCMiddlewareRequest_RegComplete struct { - // This is used to indicate to the client that the server has successfully - // registered the interceptor. This is only used in the very first message - // that the server sends to the client after the client sends the server - // the middleware registration message. - RegComplete bool `protobuf:"varint,8,opt,name=reg_complete,json=regComplete,proto3,oneof"` -} - -func (*RPCMiddlewareRequest_StreamAuth) isRPCMiddlewareRequest_InterceptType() {} - -func (*RPCMiddlewareRequest_Request) isRPCMiddlewareRequest_InterceptType() {} - -func (*RPCMiddlewareRequest_Response) isRPCMiddlewareRequest_InterceptType() {} - -func (*RPCMiddlewareRequest_RegComplete) isRPCMiddlewareRequest_InterceptType() {} - -type StreamAuth struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The full URI (in the format /./MethodName, for - // example /lnrpc.Lightning/GetInfo) of the streaming RPC method that was just - // established. - MethodFullUri string `protobuf:"bytes,1,opt,name=method_full_uri,json=methodFullUri,proto3" json:"method_full_uri,omitempty"` -} - -func (x *StreamAuth) Reset() { - *x = StreamAuth{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[185] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *StreamAuth) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*StreamAuth) ProtoMessage() {} - -func (x *StreamAuth) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[185] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use StreamAuth.ProtoReflect.Descriptor instead. -func (*StreamAuth) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{185} -} - -func (x *StreamAuth) GetMethodFullUri() string { - if x != nil { - return x.MethodFullUri - } - return "" -} - -type RPCMessage struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The full URI (in the format /./MethodName, for - // example /lnrpc.Lightning/GetInfo) of the RPC method the message was sent - // to/from. - MethodFullUri string `protobuf:"bytes,1,opt,name=method_full_uri,json=methodFullUri,proto3" json:"method_full_uri,omitempty"` - // Indicates whether the message was sent over a streaming RPC method or not. - StreamRpc bool `protobuf:"varint,2,opt,name=stream_rpc,json=streamRpc,proto3" json:"stream_rpc,omitempty"` - // The full canonical gRPC name of the message type (in the format - // .TypeName, for example lnrpc.GetInfoRequest). In case of an - // error being returned from lnd, this simply contains the string "error". - TypeName string `protobuf:"bytes,3,opt,name=type_name,json=typeName,proto3" json:"type_name,omitempty"` - // The full content of the gRPC message, serialized in the binary protobuf - // format. - Serialized []byte `protobuf:"bytes,4,opt,name=serialized,proto3" json:"serialized,omitempty"` - // Indicates that the response from lnd was an error, not a gRPC response. If - // this is set to true then the type_name contains the string "error" and - // serialized contains the error string. - IsError bool `protobuf:"varint,5,opt,name=is_error,json=isError,proto3" json:"is_error,omitempty"` -} - -func (x *RPCMessage) Reset() { - *x = RPCMessage{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[186] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RPCMessage) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RPCMessage) ProtoMessage() {} - -func (x *RPCMessage) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[186] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RPCMessage.ProtoReflect.Descriptor instead. -func (*RPCMessage) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{186} -} - -func (x *RPCMessage) GetMethodFullUri() string { - if x != nil { - return x.MethodFullUri - } - return "" -} - -func (x *RPCMessage) GetStreamRpc() bool { - if x != nil { - return x.StreamRpc - } - return false -} - -func (x *RPCMessage) GetTypeName() string { - if x != nil { - return x.TypeName - } - return "" -} - -func (x *RPCMessage) GetSerialized() []byte { - if x != nil { - return x.Serialized - } - return nil -} - -func (x *RPCMessage) GetIsError() bool { - if x != nil { - return x.IsError - } - return false -} - -type RPCMiddlewareResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The request message ID this response refers to. Must always be set when - // giving feedback to an intercept but is ignored for the initial registration - // message. - RefMsgId uint64 `protobuf:"varint,1,opt,name=ref_msg_id,json=refMsgId,proto3" json:"ref_msg_id,omitempty"` - // The middleware can only send two types of messages to lnd: The initial - // registration message that identifies the middleware and after that only - // feedback messages to requests sent to the middleware. - // - // Types that are assignable to MiddlewareMessage: - // - // *RPCMiddlewareResponse_Register - // *RPCMiddlewareResponse_Feedback - MiddlewareMessage isRPCMiddlewareResponse_MiddlewareMessage `protobuf_oneof:"middleware_message"` -} - -func (x *RPCMiddlewareResponse) Reset() { - *x = RPCMiddlewareResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[187] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RPCMiddlewareResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RPCMiddlewareResponse) ProtoMessage() {} - -func (x *RPCMiddlewareResponse) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[187] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RPCMiddlewareResponse.ProtoReflect.Descriptor instead. -func (*RPCMiddlewareResponse) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{187} -} - -func (x *RPCMiddlewareResponse) GetRefMsgId() uint64 { - if x != nil { - return x.RefMsgId - } - return 0 -} - -func (m *RPCMiddlewareResponse) GetMiddlewareMessage() isRPCMiddlewareResponse_MiddlewareMessage { - if m != nil { - return m.MiddlewareMessage - } - return nil -} - -func (x *RPCMiddlewareResponse) GetRegister() *MiddlewareRegistration { - if x, ok := x.GetMiddlewareMessage().(*RPCMiddlewareResponse_Register); ok { - return x.Register - } - return nil -} - -func (x *RPCMiddlewareResponse) GetFeedback() *InterceptFeedback { - if x, ok := x.GetMiddlewareMessage().(*RPCMiddlewareResponse_Feedback); ok { - return x.Feedback - } - return nil -} - -type isRPCMiddlewareResponse_MiddlewareMessage interface { - isRPCMiddlewareResponse_MiddlewareMessage() -} - -type RPCMiddlewareResponse_Register struct { - // The registration message identifies the middleware that's being - // registered in lnd. The registration message must be sent immediately - // after initiating the RegisterRpcMiddleware stream, otherwise lnd will - // time out the attempt and terminate the request. NOTE: The middleware - // will only receive interception messages for requests that contain a - // macaroon with the custom caveat that the middleware declares it is - // responsible for handling in the registration message! As a security - // measure, _no_ middleware can intercept requests made with _unencumbered_ - // macaroons! - Register *MiddlewareRegistration `protobuf:"bytes,2,opt,name=register,proto3,oneof"` -} - -type RPCMiddlewareResponse_Feedback struct { - // The middleware received an interception request and gives feedback to - // it. The request_id indicates what message the feedback refers to. - Feedback *InterceptFeedback `protobuf:"bytes,3,opt,name=feedback,proto3,oneof"` -} - -func (*RPCMiddlewareResponse_Register) isRPCMiddlewareResponse_MiddlewareMessage() {} - -func (*RPCMiddlewareResponse_Feedback) isRPCMiddlewareResponse_MiddlewareMessage() {} - -type MiddlewareRegistration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The name of the middleware to register. The name should be as informative - // as possible and is logged on registration. - MiddlewareName string `protobuf:"bytes,1,opt,name=middleware_name,json=middlewareName,proto3" json:"middleware_name,omitempty"` - // The name of the custom macaroon caveat that this middleware is responsible - // for. Only requests/responses that contain a macaroon with the registered - // custom caveat are forwarded for interception to the middleware. The - // exception being the read-only mode: All requests/responses are forwarded to - // a middleware that requests read-only access but such a middleware won't be - // allowed to _alter_ responses. As a security measure, _no_ middleware can - // change responses to requests made with _unencumbered_ macaroons! - // NOTE: Cannot be used at the same time as read_only_mode. - CustomMacaroonCaveatName string `protobuf:"bytes,2,opt,name=custom_macaroon_caveat_name,json=customMacaroonCaveatName,proto3" json:"custom_macaroon_caveat_name,omitempty"` - // Instead of defining a custom macaroon caveat name a middleware can register - // itself for read-only access only. In that mode all requests/responses are - // forwarded to the middleware but the middleware isn't allowed to alter any of - // the responses. - // NOTE: Cannot be used at the same time as custom_macaroon_caveat_name. - ReadOnlyMode bool `protobuf:"varint,3,opt,name=read_only_mode,json=readOnlyMode,proto3" json:"read_only_mode,omitempty"` -} - -func (x *MiddlewareRegistration) Reset() { - *x = MiddlewareRegistration{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[188] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MiddlewareRegistration) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MiddlewareRegistration) ProtoMessage() {} - -func (x *MiddlewareRegistration) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[188] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MiddlewareRegistration.ProtoReflect.Descriptor instead. -func (*MiddlewareRegistration) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{188} -} - -func (x *MiddlewareRegistration) GetMiddlewareName() string { - if x != nil { - return x.MiddlewareName - } - return "" -} - -func (x *MiddlewareRegistration) GetCustomMacaroonCaveatName() string { - if x != nil { - return x.CustomMacaroonCaveatName - } - return "" -} - -func (x *MiddlewareRegistration) GetReadOnlyMode() bool { - if x != nil { - return x.ReadOnlyMode - } - return false -} - -type InterceptFeedback struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The error to return to the user. If this is non-empty, the incoming gRPC - // stream/request is aborted and the error is returned to the gRPC client. If - // this value is empty, it means the middleware accepts the stream/request/ - // response and the processing of it can continue. - Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - // A boolean indicating that the gRPC message should be replaced/overwritten. - // This boolean is needed because in protobuf an empty message is serialized as - // a 0-length or nil byte slice and we wouldn't be able to distinguish between - // an empty replacement message and the "don't replace anything" case. - ReplaceResponse bool `protobuf:"varint,2,opt,name=replace_response,json=replaceResponse,proto3" json:"replace_response,omitempty"` - // If the replace_response field is set to true, this field must contain the - // binary serialized gRPC message in the protobuf format. - ReplacementSerialized []byte `protobuf:"bytes,3,opt,name=replacement_serialized,json=replacementSerialized,proto3" json:"replacement_serialized,omitempty"` -} - -func (x *InterceptFeedback) Reset() { - *x = InterceptFeedback{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[189] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InterceptFeedback) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InterceptFeedback) ProtoMessage() {} - -func (x *InterceptFeedback) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[189] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InterceptFeedback.ProtoReflect.Descriptor instead. -func (*InterceptFeedback) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{189} -} - -func (x *InterceptFeedback) GetError() string { - if x != nil { - return x.Error - } - return "" -} - -func (x *InterceptFeedback) GetReplaceResponse() bool { - if x != nil { - return x.ReplaceResponse - } - return false -} - -func (x *InterceptFeedback) GetReplacementSerialized() []byte { - if x != nil { - return x.ReplacementSerialized - } - return nil -} - -type PendingChannelsResponse_PendingChannel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - RemoteNodePub string `protobuf:"bytes,1,opt,name=remote_node_pub,json=remoteNodePub,proto3" json:"remote_node_pub,omitempty"` - ChannelPoint string `protobuf:"bytes,2,opt,name=channel_point,json=channelPoint,proto3" json:"channel_point,omitempty"` - Capacity int64 `protobuf:"varint,3,opt,name=capacity,proto3" json:"capacity,omitempty"` - LocalBalance int64 `protobuf:"varint,4,opt,name=local_balance,json=localBalance,proto3" json:"local_balance,omitempty"` - RemoteBalance int64 `protobuf:"varint,5,opt,name=remote_balance,json=remoteBalance,proto3" json:"remote_balance,omitempty"` - // The minimum satoshis this node is required to reserve in its - // balance. - LocalChanReserveSat int64 `protobuf:"varint,6,opt,name=local_chan_reserve_sat,json=localChanReserveSat,proto3" json:"local_chan_reserve_sat,omitempty"` - // The minimum satoshis the other node is required to reserve in its - // balance. - RemoteChanReserveSat int64 `protobuf:"varint,7,opt,name=remote_chan_reserve_sat,json=remoteChanReserveSat,proto3" json:"remote_chan_reserve_sat,omitempty"` - // The party that initiated opening the channel. - Initiator Initiator `protobuf:"varint,8,opt,name=initiator,proto3,enum=lnrpc.Initiator" json:"initiator,omitempty"` - // The commitment type used by this channel. - CommitmentType CommitmentType `protobuf:"varint,9,opt,name=commitment_type,json=commitmentType,proto3,enum=lnrpc.CommitmentType" json:"commitment_type,omitempty"` - // Total number of forwarding packages created in this channel. - NumForwardingPackages int64 `protobuf:"varint,10,opt,name=num_forwarding_packages,json=numForwardingPackages,proto3" json:"num_forwarding_packages,omitempty"` - // A set of flags showing the current state of the channel. - ChanStatusFlags string `protobuf:"bytes,11,opt,name=chan_status_flags,json=chanStatusFlags,proto3" json:"chan_status_flags,omitempty"` - // Whether this channel is advertised to the network or not. - Private bool `protobuf:"varint,12,opt,name=private,proto3" json:"private,omitempty"` -} - -func (x *PendingChannelsResponse_PendingChannel) Reset() { - *x = PendingChannelsResponse_PendingChannel{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[195] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PendingChannelsResponse_PendingChannel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PendingChannelsResponse_PendingChannel) ProtoMessage() {} - -func (x *PendingChannelsResponse_PendingChannel) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[195] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PendingChannelsResponse_PendingChannel.ProtoReflect.Descriptor instead. -func (*PendingChannelsResponse_PendingChannel) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{84, 0} -} - -func (x *PendingChannelsResponse_PendingChannel) GetRemoteNodePub() string { - if x != nil { - return x.RemoteNodePub - } - return "" -} - -func (x *PendingChannelsResponse_PendingChannel) GetChannelPoint() string { - if x != nil { - return x.ChannelPoint - } - return "" -} - -func (x *PendingChannelsResponse_PendingChannel) GetCapacity() int64 { - if x != nil { - return x.Capacity - } - return 0 -} - -func (x *PendingChannelsResponse_PendingChannel) GetLocalBalance() int64 { - if x != nil { - return x.LocalBalance - } - return 0 -} - -func (x *PendingChannelsResponse_PendingChannel) GetRemoteBalance() int64 { - if x != nil { - return x.RemoteBalance - } - return 0 -} - -func (x *PendingChannelsResponse_PendingChannel) GetLocalChanReserveSat() int64 { - if x != nil { - return x.LocalChanReserveSat - } - return 0 -} - -func (x *PendingChannelsResponse_PendingChannel) GetRemoteChanReserveSat() int64 { - if x != nil { - return x.RemoteChanReserveSat - } - return 0 -} - -func (x *PendingChannelsResponse_PendingChannel) GetInitiator() Initiator { - if x != nil { - return x.Initiator - } - return Initiator_INITIATOR_UNKNOWN -} - -func (x *PendingChannelsResponse_PendingChannel) GetCommitmentType() CommitmentType { - if x != nil { - return x.CommitmentType - } - return CommitmentType_UNKNOWN_COMMITMENT_TYPE -} - -func (x *PendingChannelsResponse_PendingChannel) GetNumForwardingPackages() int64 { - if x != nil { - return x.NumForwardingPackages - } - return 0 -} - -func (x *PendingChannelsResponse_PendingChannel) GetChanStatusFlags() string { - if x != nil { - return x.ChanStatusFlags - } - return "" -} - -func (x *PendingChannelsResponse_PendingChannel) GetPrivate() bool { - if x != nil { - return x.Private - } - return false -} - -type PendingChannelsResponse_PendingOpenChannel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The pending channel - Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` - // The amount calculated to be paid in fees for the current set of - // commitment transactions. The fee amount is persisted with the channel - // in order to allow the fee amount to be removed and recalculated with - // each channel state update, including updates that happen after a system - // restart. - CommitFee int64 `protobuf:"varint,4,opt,name=commit_fee,json=commitFee,proto3" json:"commit_fee,omitempty"` - // The weight of the commitment transaction - CommitWeight int64 `protobuf:"varint,5,opt,name=commit_weight,json=commitWeight,proto3" json:"commit_weight,omitempty"` - // The required number of satoshis per kilo-weight that the requester will - // pay at all times, for both the funding transaction and commitment - // transaction. This value can later be updated once the channel is open. - FeePerKw int64 `protobuf:"varint,6,opt,name=fee_per_kw,json=feePerKw,proto3" json:"fee_per_kw,omitempty"` -} - -func (x *PendingChannelsResponse_PendingOpenChannel) Reset() { - *x = PendingChannelsResponse_PendingOpenChannel{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[196] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PendingChannelsResponse_PendingOpenChannel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PendingChannelsResponse_PendingOpenChannel) ProtoMessage() {} - -func (x *PendingChannelsResponse_PendingOpenChannel) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[196] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PendingChannelsResponse_PendingOpenChannel.ProtoReflect.Descriptor instead. -func (*PendingChannelsResponse_PendingOpenChannel) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{84, 1} -} - -func (x *PendingChannelsResponse_PendingOpenChannel) GetChannel() *PendingChannelsResponse_PendingChannel { - if x != nil { - return x.Channel - } - return nil -} - -func (x *PendingChannelsResponse_PendingOpenChannel) GetCommitFee() int64 { - if x != nil { - return x.CommitFee - } - return 0 -} - -func (x *PendingChannelsResponse_PendingOpenChannel) GetCommitWeight() int64 { - if x != nil { - return x.CommitWeight - } - return 0 -} - -func (x *PendingChannelsResponse_PendingOpenChannel) GetFeePerKw() int64 { - if x != nil { - return x.FeePerKw - } - return 0 -} - -type PendingChannelsResponse_WaitingCloseChannel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The pending channel waiting for closing tx to confirm - Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` - // The balance in satoshis encumbered in this channel - LimboBalance int64 `protobuf:"varint,2,opt,name=limbo_balance,json=limboBalance,proto3" json:"limbo_balance,omitempty"` - // A list of valid commitment transactions. Any of these can confirm at - // this point. - Commitments *PendingChannelsResponse_Commitments `protobuf:"bytes,3,opt,name=commitments,proto3" json:"commitments,omitempty"` - // The transaction id of the closing transaction - ClosingTxid string `protobuf:"bytes,4,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"` -} - -func (x *PendingChannelsResponse_WaitingCloseChannel) Reset() { - *x = PendingChannelsResponse_WaitingCloseChannel{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[197] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PendingChannelsResponse_WaitingCloseChannel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PendingChannelsResponse_WaitingCloseChannel) ProtoMessage() {} - -func (x *PendingChannelsResponse_WaitingCloseChannel) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[197] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PendingChannelsResponse_WaitingCloseChannel.ProtoReflect.Descriptor instead. -func (*PendingChannelsResponse_WaitingCloseChannel) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{84, 2} -} - -func (x *PendingChannelsResponse_WaitingCloseChannel) GetChannel() *PendingChannelsResponse_PendingChannel { - if x != nil { - return x.Channel - } - return nil -} - -func (x *PendingChannelsResponse_WaitingCloseChannel) GetLimboBalance() int64 { - if x != nil { - return x.LimboBalance - } - return 0 -} - -func (x *PendingChannelsResponse_WaitingCloseChannel) GetCommitments() *PendingChannelsResponse_Commitments { - if x != nil { - return x.Commitments - } - return nil -} - -func (x *PendingChannelsResponse_WaitingCloseChannel) GetClosingTxid() string { - if x != nil { - return x.ClosingTxid - } - return "" -} - -type PendingChannelsResponse_Commitments struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Hash of the local version of the commitment tx. - LocalTxid string `protobuf:"bytes,1,opt,name=local_txid,json=localTxid,proto3" json:"local_txid,omitempty"` - // Hash of the remote version of the commitment tx. - RemoteTxid string `protobuf:"bytes,2,opt,name=remote_txid,json=remoteTxid,proto3" json:"remote_txid,omitempty"` - // Hash of the remote pending version of the commitment tx. - RemotePendingTxid string `protobuf:"bytes,3,opt,name=remote_pending_txid,json=remotePendingTxid,proto3" json:"remote_pending_txid,omitempty"` - // The amount in satoshis calculated to be paid in fees for the local - // commitment. - LocalCommitFeeSat uint64 `protobuf:"varint,4,opt,name=local_commit_fee_sat,json=localCommitFeeSat,proto3" json:"local_commit_fee_sat,omitempty"` - // The amount in satoshis calculated to be paid in fees for the remote - // commitment. - RemoteCommitFeeSat uint64 `protobuf:"varint,5,opt,name=remote_commit_fee_sat,json=remoteCommitFeeSat,proto3" json:"remote_commit_fee_sat,omitempty"` - // The amount in satoshis calculated to be paid in fees for the remote - // pending commitment. - RemotePendingCommitFeeSat uint64 `protobuf:"varint,6,opt,name=remote_pending_commit_fee_sat,json=remotePendingCommitFeeSat,proto3" json:"remote_pending_commit_fee_sat,omitempty"` -} - -func (x *PendingChannelsResponse_Commitments) Reset() { - *x = PendingChannelsResponse_Commitments{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[198] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PendingChannelsResponse_Commitments) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PendingChannelsResponse_Commitments) ProtoMessage() {} - -func (x *PendingChannelsResponse_Commitments) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[198] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PendingChannelsResponse_Commitments.ProtoReflect.Descriptor instead. -func (*PendingChannelsResponse_Commitments) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{84, 3} -} - -func (x *PendingChannelsResponse_Commitments) GetLocalTxid() string { - if x != nil { - return x.LocalTxid - } - return "" -} - -func (x *PendingChannelsResponse_Commitments) GetRemoteTxid() string { - if x != nil { - return x.RemoteTxid - } - return "" -} - -func (x *PendingChannelsResponse_Commitments) GetRemotePendingTxid() string { - if x != nil { - return x.RemotePendingTxid - } - return "" -} - -func (x *PendingChannelsResponse_Commitments) GetLocalCommitFeeSat() uint64 { - if x != nil { - return x.LocalCommitFeeSat - } - return 0 -} - -func (x *PendingChannelsResponse_Commitments) GetRemoteCommitFeeSat() uint64 { - if x != nil { - return x.RemoteCommitFeeSat - } - return 0 -} - -func (x *PendingChannelsResponse_Commitments) GetRemotePendingCommitFeeSat() uint64 { - if x != nil { - return x.RemotePendingCommitFeeSat - } - return 0 -} - -type PendingChannelsResponse_ClosedChannel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The pending channel to be closed - Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` - // The transaction id of the closing transaction - ClosingTxid string `protobuf:"bytes,2,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"` -} - -func (x *PendingChannelsResponse_ClosedChannel) Reset() { - *x = PendingChannelsResponse_ClosedChannel{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[199] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PendingChannelsResponse_ClosedChannel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PendingChannelsResponse_ClosedChannel) ProtoMessage() {} - -func (x *PendingChannelsResponse_ClosedChannel) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[199] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PendingChannelsResponse_ClosedChannel.ProtoReflect.Descriptor instead. -func (*PendingChannelsResponse_ClosedChannel) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{84, 4} -} - -func (x *PendingChannelsResponse_ClosedChannel) GetChannel() *PendingChannelsResponse_PendingChannel { - if x != nil { - return x.Channel - } - return nil -} - -func (x *PendingChannelsResponse_ClosedChannel) GetClosingTxid() string { - if x != nil { - return x.ClosingTxid - } - return "" -} - -type PendingChannelsResponse_ForceClosedChannel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The pending channel to be force closed - Channel *PendingChannelsResponse_PendingChannel `protobuf:"bytes,1,opt,name=channel,proto3" json:"channel,omitempty"` - // The transaction id of the closing transaction - ClosingTxid string `protobuf:"bytes,2,opt,name=closing_txid,json=closingTxid,proto3" json:"closing_txid,omitempty"` - // The balance in satoshis encumbered in this pending channel - LimboBalance int64 `protobuf:"varint,3,opt,name=limbo_balance,json=limboBalance,proto3" json:"limbo_balance,omitempty"` - // The height at which funds can be swept into the wallet - MaturityHeight uint32 `protobuf:"varint,4,opt,name=maturity_height,json=maturityHeight,proto3" json:"maturity_height,omitempty"` - // Remaining # of blocks until the commitment output can be swept. - // Negative values indicate how many blocks have passed since becoming - // mature. - BlocksTilMaturity int32 `protobuf:"varint,5,opt,name=blocks_til_maturity,json=blocksTilMaturity,proto3" json:"blocks_til_maturity,omitempty"` - // The total value of funds successfully recovered from this channel - RecoveredBalance int64 `protobuf:"varint,6,opt,name=recovered_balance,json=recoveredBalance,proto3" json:"recovered_balance,omitempty"` - PendingHtlcs []*PendingHTLC `protobuf:"bytes,8,rep,name=pending_htlcs,json=pendingHtlcs,proto3" json:"pending_htlcs,omitempty"` - Anchor PendingChannelsResponse_ForceClosedChannel_AnchorState `protobuf:"varint,9,opt,name=anchor,proto3,enum=lnrpc.PendingChannelsResponse_ForceClosedChannel_AnchorState" json:"anchor,omitempty"` -} - -func (x *PendingChannelsResponse_ForceClosedChannel) Reset() { - *x = PendingChannelsResponse_ForceClosedChannel{} - if protoimpl.UnsafeEnabled { - mi := &file_lightning_proto_msgTypes[200] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PendingChannelsResponse_ForceClosedChannel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PendingChannelsResponse_ForceClosedChannel) ProtoMessage() {} - -func (x *PendingChannelsResponse_ForceClosedChannel) ProtoReflect() protoreflect.Message { - mi := &file_lightning_proto_msgTypes[200] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PendingChannelsResponse_ForceClosedChannel.ProtoReflect.Descriptor instead. -func (*PendingChannelsResponse_ForceClosedChannel) Descriptor() ([]byte, []int) { - return file_lightning_proto_rawDescGZIP(), []int{84, 5} -} - -func (x *PendingChannelsResponse_ForceClosedChannel) GetChannel() *PendingChannelsResponse_PendingChannel { - if x != nil { - return x.Channel - } - return nil -} - -func (x *PendingChannelsResponse_ForceClosedChannel) GetClosingTxid() string { - if x != nil { - return x.ClosingTxid - } - return "" -} - -func (x *PendingChannelsResponse_ForceClosedChannel) GetLimboBalance() int64 { - if x != nil { - return x.LimboBalance - } - return 0 -} - -func (x *PendingChannelsResponse_ForceClosedChannel) GetMaturityHeight() uint32 { - if x != nil { - return x.MaturityHeight - } - return 0 -} - -func (x *PendingChannelsResponse_ForceClosedChannel) GetBlocksTilMaturity() int32 { - if x != nil { - return x.BlocksTilMaturity - } - return 0 -} - -func (x *PendingChannelsResponse_ForceClosedChannel) GetRecoveredBalance() int64 { - if x != nil { - return x.RecoveredBalance - } - return 0 -} - -func (x *PendingChannelsResponse_ForceClosedChannel) GetPendingHtlcs() []*PendingHTLC { - if x != nil { - return x.PendingHtlcs - } - return nil -} - -func (x *PendingChannelsResponse_ForceClosedChannel) GetAnchor() PendingChannelsResponse_ForceClosedChannel_AnchorState { - if x != nil { - return x.Anchor - } - return PendingChannelsResponse_ForceClosedChannel_LIMBO -} - -var File_lightning_proto protoreflect.FileDescriptor - -var file_lightning_proto_rawDesc = []byte{ - 0x0a, 0x0f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x05, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x22, 0x20, 0x0a, 0x1e, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x0d, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x56, 0x0a, 0x18, 0x53, 0x65, 0x6e, 0x64, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, - 0x1b, 0x0a, 0x19, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe6, 0x01, 0x0a, - 0x04, 0x55, 0x74, 0x78, 0x6f, 0x12, 0x35, 0x0a, 0x0c, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x0b, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x53, 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6b, 0x5f, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6b, 0x53, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x12, 0x2b, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x75, 0x74, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x24, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xe0, 0x01, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x38, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6b, - 0x5f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x6b, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x69, 0x73, 0x5f, 0x6f, 0x75, 0x72, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x73, 0x4f, 0x75, - 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0xce, 0x03, 0x0a, 0x0b, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x78, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6e, 0x75, 0x6d, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x66, 0x65, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x6f, 0x74, - 0x61, 0x6c, 0x46, 0x65, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x12, 0x3a, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0d, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1c, 0x0a, - 0x0a, 0x72, 0x61, 0x77, 0x5f, 0x74, 0x78, 0x5f, 0x68, 0x65, 0x78, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x72, 0x61, 0x77, 0x54, 0x78, 0x48, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 0x12, 0x46, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x6f, 0x75, - 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x4f, 0x75, - 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x11, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x74, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x64, 0x5f, 0x68, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x65, 0x6e, 0x64, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, - 0x4c, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x36, 0x0a, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x68, 0x0a, - 0x08, 0x46, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x05, 0x66, 0x69, 0x78, - 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x09, 0x66, 0x69, 0x78, 0x65, 0x64, 0x4d, 0x73, - 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x07, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x42, 0x07, - 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xea, 0x05, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x64, 0x65, 0x73, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, - 0x6d, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x6d, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x21, 0x0a, - 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, - 0x12, 0x32, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x11, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, - 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, - 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6c, - 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x46, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x08, 0x66, 0x65, 0x65, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x2c, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, - 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x02, 0x30, 0x01, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, - 0x6e, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, - 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6c, 0x61, - 0x73, 0x74, 0x48, 0x6f, 0x70, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, - 0x6c, 0x74, 0x76, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x09, 0x63, 0x6c, 0x74, 0x76, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x59, 0x0a, 0x13, 0x64, 0x65, - 0x73, 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x73, 0x74, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x73, - 0x65, 0x6c, 0x66, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x53, 0x65, 0x6c, 0x66, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x69, 0x74, 0x52, 0x0c, 0x64, - 0x65, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x1a, 0x44, - 0x0a, 0x16, 0x44, 0x65, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb4, 0x01, 0x0a, 0x0c, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x31, 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0c, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x22, 0x95, 0x01, 0x0a, 0x12, - 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, - 0x61, 0x73, 0x68, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x22, 0x0a, 0x05, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x4a, 0x04, 0x08, - 0x03, 0x10, 0x04, 0x22, 0xec, 0x04, 0x0a, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, - 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x1d, 0x0a, - 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0f, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, - 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x61, 0x6d, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x41, 0x6d, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x61, 0x6d, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x70, 0x75, 0x73, 0x68, 0x41, 0x6d, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x75, 0x73, 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x64, 0x75, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, - 0x2d, 0x0a, 0x13, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x5f, - 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x6d, 0x61, - 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x27, - 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x69, 0x6e, 0x5f, 0x68, - 0x74, 0x6c, 0x63, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x48, 0x74, - 0x6c, 0x63, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6b, 0x77, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x65, 0x72, 0x4b, 0x77, - 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x73, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2c, 0x0a, - 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x74, - 0x6c, 0x63, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, - 0x12, 0x3e, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x26, 0x0a, 0x0f, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x77, 0x61, 0x6e, 0x74, 0x73, - 0x5a, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x28, 0x0a, 0x10, 0x77, 0x61, 0x6e, 0x74, - 0x73, 0x5f, 0x73, 0x63, 0x69, 0x64, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0e, 0x77, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x63, 0x69, 0x64, 0x41, 0x6c, 0x69, - 0x61, 0x73, 0x22, 0x90, 0x03, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x61, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x75, 0x70, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x5f, 0x73, 0x68, - 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, - 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x53, 0x68, 0x75, 0x74, 0x64, 0x6f, 0x77, 0x6e, 0x12, 0x1b, 0x0a, - 0x09, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x08, 0x63, 0x73, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0a, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x53, 0x61, 0x74, 0x12, 0x2b, 0x0a, 0x12, 0x69, - 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x69, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x4d, 0x61, 0x78, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, - 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x48, 0x74, 0x6c, 0x63, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, - 0x0a, 0x0b, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x09, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x12, 0x28, - 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x64, 0x65, 0x70, - 0x74, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x41, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x44, 0x65, 0x70, 0x74, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x7a, 0x65, 0x72, 0x6f, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x7a, 0x65, 0x72, - 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x22, 0x9d, 0x01, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x00, 0x52, 0x10, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, - 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x10, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x53, - 0x74, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x0e, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x74, 0x78, 0x69, 0x64, 0x22, 0x67, 0x0a, 0x08, 0x4f, 0x75, 0x74, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x78, 0x69, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x74, 0x78, 0x69, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x74, 0x78, 0x69, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x74, 0x78, 0x69, 0x64, 0x53, 0x74, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x52, - 0x0a, 0x10, 0x50, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x4f, 0x75, 0x74, 0x50, 0x6f, 0x69, - 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x22, - 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6f, 0x75, 0x72, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x4f, 0x75, 0x72, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x22, 0x3e, 0x0a, 0x10, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x12, - 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, - 0x73, 0x74, 0x22, 0x91, 0x02, 0x0a, 0x12, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, - 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4f, 0x0a, 0x0c, 0x41, 0x64, 0x64, - 0x72, 0x54, 0x6f, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, - 0x46, 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x54, - 0x6f, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x41, 0x64, - 0x64, 0x72, 0x54, 0x6f, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x1b, 0x0a, 0x09, 0x6d, - 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x6e, - 0x64, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x55, 0x6e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x65, 0x64, 0x1a, 0x3f, 0x0a, 0x11, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x87, 0x01, 0x0a, 0x13, 0x45, 0x73, 0x74, 0x69, 0x6d, - 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, - 0x0a, 0x07, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x66, 0x65, 0x65, 0x53, 0x61, 0x74, 0x12, 0x33, 0x0a, 0x14, 0x66, 0x65, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x66, 0x65, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x53, 0x61, 0x74, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0d, - 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x61, 0x74, 0x50, 0x65, 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, - 0x22, 0xeb, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4c, 0x0a, 0x0c, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x41, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x41, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, - 0x6f, 0x6e, 0x66, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, - 0x62, 0x79, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x61, 0x74, 0x50, - 0x65, 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0c, 0x73, 0x61, 0x74, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, - 0x01, 0x52, 0x0a, 0x73, 0x61, 0x74, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, - 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x70, 0x65, - 0x6e, 0x64, 0x55, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x1a, 0x3f, 0x0a, - 0x11, 0x41, 0x64, 0x64, 0x72, 0x54, 0x6f, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x26, - 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0xa4, 0x02, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x43, - 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, - 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, 0x64, 0x72, 0x12, - 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, - 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x5f, - 0x70, 0x65, 0x72, 0x5f, 0x76, 0x62, 0x79, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0b, 0x73, 0x61, 0x74, 0x50, 0x65, 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0c, - 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x73, 0x61, 0x74, 0x50, 0x65, 0x72, 0x42, 0x79, - 0x74, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x65, 0x6e, 0x64, 0x41, 0x6c, 0x6c, 0x12, 0x14, 0x0a, - 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, - 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x70, 0x65, - 0x6e, 0x64, 0x55, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x22, 0x27, 0x0a, - 0x11, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x22, 0x68, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, - 0x73, 0x70, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x08, 0x6d, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x61, - 0x78, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x22, 0x38, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x55, - 0x74, 0x78, 0x6f, 0x52, 0x05, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x22, 0x55, 0x0a, 0x11, 0x4e, 0x65, - 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, - 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x22, 0x2e, 0x0a, 0x12, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x22, 0x47, 0x0a, 0x12, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x22, 0x33, 0x0a, 0x13, 0x53, 0x69, - 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, - 0x46, 0x0a, 0x14, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x22, 0x45, 0x0a, 0x15, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x22, 0x6f, - 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, - 0x6e, 0x69, 0x6e, 0x67, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x04, 0x61, 0x64, 0x64, - 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x65, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x04, 0x70, 0x65, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, - 0x15, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x30, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x69, 0x73, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x86, 0x02, 0x0a, 0x04, 0x48, 0x54, 0x4c, 0x43, 0x12, 0x1a, 0x0a, 0x08, 0x69, - 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, - 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, - 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x08, 0x68, 0x61, 0x73, 0x68, 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x2b, 0x0a, 0x11, - 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x74, 0x6c, - 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x68, - 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2d, 0x0a, 0x12, 0x66, 0x6f, 0x72, 0x77, - 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x15, 0x66, 0x6f, 0x72, 0x77, 0x61, - 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x13, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x84, 0x02, 0x0a, 0x12, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x63, 0x73, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, - 0x28, 0x0a, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, - 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x52, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x53, 0x61, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x75, 0x73, - 0x74, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0c, 0x64, 0x75, 0x73, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x61, 0x74, 0x12, - 0x2f, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, - 0x6d, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6d, - 0x61, 0x78, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x74, 0x4d, 0x73, 0x61, 0x74, - 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, - 0x4d, 0x73, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x63, 0x63, 0x65, - 0x70, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x10, 0x6d, 0x61, 0x78, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x65, 0x64, 0x48, 0x74, 0x6c, - 0x63, 0x73, 0x22, 0xce, 0x0a, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, - 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, - 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, - 0x74, 0x46, 0x65, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x77, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6b, 0x77, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, - 0x65, 0x65, 0x50, 0x65, 0x72, 0x4b, 0x77, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x73, 0x65, 0x74, - 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x10, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x61, - 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x61, 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, - 0x53, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x73, 0x61, - 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x61, 0x74, 0x6f, - 0x73, 0x68, 0x69, 0x73, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, - 0x6e, 0x75, 0x6d, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x30, 0x0a, - 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x0f, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x54, 0x4c, - 0x43, 0x52, 0x0c, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x12, - 0x1f, 0x0a, 0x09, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x10, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, 0x63, 0x73, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, - 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, - 0x6c, 0x61, 0x67, 0x73, 0x12, 0x37, 0x0a, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x14, - 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, - 0x68, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x53, 0x61, 0x74, 0x12, 0x39, 0x0a, - 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x53, 0x61, 0x74, 0x12, 0x2e, 0x0a, 0x11, 0x73, 0x74, 0x61, 0x74, - 0x69, 0x63, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x73, 0x74, 0x61, 0x74, 0x69, 0x63, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, - 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, - 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x69, 0x66, 0x65, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6c, 0x69, 0x66, 0x65, - 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x18, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x19, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x73, 0x61, 0x74, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x70, 0x75, 0x73, 0x68, - 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x68, 0x61, - 0x77, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, - 0x74, 0x68, 0x61, 0x77, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x46, 0x0a, 0x11, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, - 0x1d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, - 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x48, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, - 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, - 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x73, 0x63, 0x69, 0x64, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, - 0x04, 0x52, 0x0a, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x63, 0x69, 0x64, 0x73, 0x12, 0x1b, 0x0a, - 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x20, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x08, 0x7a, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x37, 0x0a, 0x18, 0x7a, 0x65, - 0x72, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, - 0x64, 0x5f, 0x73, 0x63, 0x69, 0x64, 0x18, 0x21, 0x20, 0x01, 0x28, 0x04, 0x52, 0x15, 0x7a, 0x65, - 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x53, - 0x63, 0x69, 0x64, 0x22, 0xb3, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x23, 0x0a, 0x0d, - 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0c, 0x69, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x4f, 0x6e, 0x6c, - 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4f, 0x6e, - 0x6c, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x42, 0x0a, 0x14, 0x4c, 0x69, 0x73, - 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0x41, 0x0a, - 0x08, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4d, 0x61, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, - 0x65, 0x5f, 0x73, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x62, 0x61, - 0x73, 0x65, 0x53, 0x63, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x07, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, - 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x45, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, - 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, - 0x0a, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x6d, 0x61, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x4d, - 0x61, 0x70, 0x52, 0x09, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x4d, 0x61, 0x70, 0x73, 0x22, 0xb6, 0x06, - 0x0a, 0x13, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, - 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, - 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, - 0x67, 0x5f, 0x74, 0x78, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, - 0x0a, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x75, 0x62, - 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, - 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x48, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x73, 0x65, 0x74, - 0x74, 0x6c, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, - 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x6f, - 0x63, 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x26, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x43, 0x6c, 0x6f, 0x73, - 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x37, 0x0a, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x6f, 0x70, - 0x65, 0x6e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x0f, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x49, 0x6e, 0x69, - 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x33, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, - 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, - 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x73, 0x63, 0x69, 0x64, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x04, - 0x52, 0x0a, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x63, 0x69, 0x64, 0x73, 0x12, 0x3b, 0x0a, 0x18, - 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x65, 0x64, 0x5f, 0x73, 0x63, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, - 0x30, 0x01, 0x52, 0x15, 0x7a, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x65, 0x64, 0x53, 0x63, 0x69, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x43, 0x6c, - 0x6f, 0x73, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x4f, 0x4f, - 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x00, - 0x12, 0x15, 0x0a, 0x11, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, - 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x4d, 0x4f, 0x54, - 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, 0x02, 0x12, - 0x10, 0x0a, 0x0c, 0x42, 0x52, 0x45, 0x41, 0x43, 0x48, 0x5f, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x10, - 0x03, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x55, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x43, 0x41, 0x4e, - 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x42, 0x41, 0x4e, 0x44, - 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x05, 0x22, 0xeb, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, - 0x52, 0x07, 0x6f, 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x08, 0x6f, 0x75, 0x74, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x6f, 0x75, - 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x6d, 0x6f, 0x75, - 0x6e, 0x74, 0x53, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x74, - 0x78, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x77, 0x65, 0x65, 0x70, - 0x54, 0x78, 0x69, 0x64, 0x22, 0xde, 0x01, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, - 0x0a, 0x0b, 0x63, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x63, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, - 0x6f, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x72, 0x65, 0x61, 0x63, 0x68, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x62, 0x72, 0x65, 0x61, 0x63, 0x68, 0x12, 0x29, 0x0a, 0x10, - 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x62, 0x61, 0x6e, 0x64, - 0x6f, 0x6e, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x62, 0x61, 0x6e, - 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x22, 0x50, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x36, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x08, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0x8b, 0x05, 0x0a, 0x04, 0x50, 0x65, 0x65, 0x72, - 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x73, 0x65, 0x6e, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x53, 0x65, - 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x63, 0x76, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x63, - 0x76, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x61, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x07, 0x73, 0x61, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x73, 0x61, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x73, 0x61, 0x74, 0x52, 0x65, 0x63, 0x76, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x31, - 0x0a, 0x09, 0x73, 0x79, 0x6e, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x2e, 0x53, - 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x73, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x35, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0b, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x65, 0x72, - 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x6c, 0x61, - 0x70, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x66, - 0x6c, 0x61, 0x70, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x6c, 0x61, 0x73, 0x74, - 0x5f, 0x66, 0x6c, 0x61, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, - 0x6c, 0x61, 0x73, 0x74, 0x46, 0x6c, 0x61, 0x70, 0x4e, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x50, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x1a, 0x4b, 0x0a, 0x0d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x50, 0x0a, 0x08, 0x53, 0x79, 0x6e, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x10, 0x0a, 0x0c, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x59, 0x4e, 0x43, 0x10, - 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x59, 0x4e, 0x43, - 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x41, 0x53, 0x53, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x59, - 0x4e, 0x43, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x49, 0x4e, 0x4e, 0x45, 0x44, 0x5f, 0x53, - 0x59, 0x4e, 0x43, 0x10, 0x03, 0x22, 0x46, 0x0a, 0x10, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x35, 0x0a, - 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0x36, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x70, 0x65, 0x65, - 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x65, 0x65, 0x72, 0x52, 0x05, 0x70, 0x65, 0x65, 0x72, 0x73, 0x22, 0x17, 0x0a, 0x15, - 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x84, 0x01, 0x0a, 0x09, 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x2e, 0x0a, 0x09, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x45, 0x45, - 0x52, 0x5f, 0x4f, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x45, - 0x45, 0x52, 0x5f, 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x22, 0x10, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xc1, - 0x06, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x27, 0x0a, - 0x0f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, - 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x14, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x12, 0x6e, 0x75, 0x6d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x13, 0x6e, 0x75, 0x6d, 0x49, 0x6e, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, - 0x70, 0x65, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x75, 0x6d, - 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x48, 0x61, 0x73, 0x68, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x65, 0x73, 0x74, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x62, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x0f, 0x73, - 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x54, 0x6f, 0x43, 0x68, - 0x61, 0x69, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x79, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x74, 0x6f, - 0x5f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x79, - 0x6e, 0x63, 0x65, 0x64, 0x54, 0x6f, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x1c, 0x0a, 0x07, 0x74, - 0x65, 0x73, 0x74, 0x6e, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x07, 0x74, 0x65, 0x73, 0x74, 0x6e, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x06, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x12, - 0x12, 0x0a, 0x04, 0x75, 0x72, 0x69, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x75, - 0x72, 0x69, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, - 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x65, - 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, - 0x72, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x48, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, 0x70, 0x74, 0x6f, 0x72, 0x1a, - 0x4b, 0x0a, 0x0d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x0b, - 0x10, 0x0c, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x87, 0x01, 0x0a, - 0x17, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x79, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0c, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2b, 0x0a, - 0x11, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x37, 0x0a, 0x05, 0x43, 0x68, 0x61, 0x69, 0x6e, 0x12, - 0x14, 0x0a, 0x05, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, - 0x7a, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x73, - 0x68, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x53, - 0x68, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x73, 0x5f, 0x6c, 0x65, 0x66, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, - 0x75, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x4c, 0x65, 0x66, 0x74, 0x22, 0x4d, 0x0a, 0x11, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x38, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x51, 0x0a, 0x12, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, - 0x78, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0xa6, 0x02, - 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, - 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x24, 0x0a, 0x0c, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x0a, 0x73, 0x61, 0x74, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x10, - 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x6c, 0x69, 0x76, 0x65, 0x72, 0x79, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x5f, 0x70, - 0x65, 0x72, 0x5f, 0x76, 0x62, 0x79, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x73, 0x61, 0x74, 0x50, 0x65, 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x6d, - 0x61, 0x78, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x62, 0x79, 0x74, 0x65, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6d, 0x61, 0x78, 0x46, 0x65, 0x65, 0x50, 0x65, - 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, 0x22, 0x96, 0x01, 0x0a, 0x11, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0d, - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x3a, 0x0a, 0x0a, 0x63, 0x68, 0x61, - 0x6e, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, - 0x46, 0x0a, 0x0d, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, - 0x74, 0x78, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x79, 0x0a, 0x13, 0x52, 0x65, 0x61, 0x64, 0x79, - 0x46, 0x6f, 0x72, 0x50, 0x73, 0x62, 0x74, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27, - 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x66, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0d, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x73, 0x62, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x70, 0x73, - 0x62, 0x74, 0x22, 0xf3, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x33, - 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, - 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x76, 0x62, 0x79, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x73, 0x61, 0x74, - 0x50, 0x65, 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x69, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x75, - 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x10, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x55, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0xf5, 0x02, 0x0a, 0x10, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1f, 0x0a, - 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x30, - 0x0a, 0x14, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x19, 0x0a, 0x08, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x07, 0x70, 0x75, 0x73, 0x68, 0x53, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, - 0x63, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6d, 0x69, - 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, 0x73, 0x76, 0x44, 0x65, - 0x6c, 0x61, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, - 0x12, 0x3e, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x22, 0x5b, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x10, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0f, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xbc, 0x06, - 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x5f, - 0x76, 0x62, 0x79, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x73, 0x61, 0x74, - 0x50, 0x65, 0x72, 0x56, 0x62, 0x79, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x64, 0x65, - 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x6e, - 0x6f, 0x64, 0x65, 0x50, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x12, 0x6e, 0x6f, 0x64, - 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x10, 0x6e, 0x6f, 0x64, 0x65, 0x50, - 0x75, 0x62, 0x6b, 0x65, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x6d, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, - 0x08, 0x70, 0x75, 0x73, 0x68, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x07, 0x70, 0x75, 0x73, 0x68, 0x53, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x24, 0x0a, 0x0c, 0x73, 0x61, 0x74, - 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x0a, 0x73, 0x61, 0x74, 0x50, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, - 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x28, 0x0a, - 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x73, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x61, - 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x43, - 0x73, 0x76, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x43, - 0x6f, 0x6e, 0x66, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x75, 0x6e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x10, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x55, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, - 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x35, 0x0a, 0x0c, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x73, 0x68, 0x69, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, - 0x52, 0x0b, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, 0x12, 0x43, 0x0a, - 0x1f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x5f, 0x69, 0x6e, 0x5f, 0x66, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x61, - 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x46, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x4d, 0x73, - 0x61, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x78, - 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x4d, 0x61, 0x78, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x22, 0x0a, 0x0d, - 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x73, 0x76, 0x18, 0x11, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x73, 0x76, - 0x12, 0x3e, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1b, 0x0a, 0x09, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x08, 0x7a, 0x65, 0x72, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x12, 0x1d, 0x0a, - 0x0a, 0x73, 0x63, 0x69, 0x64, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x73, 0x63, 0x69, 0x64, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0xf3, 0x01, 0x0a, - 0x10, 0x4f, 0x70, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, - 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x37, 0x0a, 0x09, - 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, - 0x70, 0x65, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x63, 0x68, 0x61, - 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x39, 0x0a, 0x09, 0x70, 0x73, 0x62, 0x74, 0x5f, 0x66, 0x75, - 0x6e, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x52, 0x65, 0x61, 0x64, 0x79, 0x46, 0x6f, 0x72, 0x50, 0x73, 0x62, 0x74, 0x46, 0x75, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x08, 0x70, 0x73, 0x62, 0x74, 0x46, 0x75, 0x6e, 0x64, - 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x22, 0x48, 0x0a, 0x0a, 0x4b, 0x65, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, - 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6b, 0x65, 0x79, 0x46, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x12, - 0x1b, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x5f, 0x0a, 0x0d, - 0x4b, 0x65, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, - 0x0d, 0x72, 0x61, 0x77, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x72, 0x61, 0x77, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x12, 0x2a, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x5f, 0x6c, 0x6f, 0x63, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4b, 0x65, 0x79, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6b, 0x65, 0x79, 0x4c, 0x6f, 0x63, 0x22, 0xf0, 0x01, - 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x68, 0x69, 0x6d, 0x12, - 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x6d, - 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x31, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x4b, 0x65, 0x79, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, - 0x1f, 0x0a, 0x0b, 0x74, 0x68, 0x61, 0x77, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x74, 0x68, 0x61, 0x77, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x22, 0x6e, 0x0a, 0x08, 0x50, 0x73, 0x62, 0x74, 0x53, 0x68, 0x69, 0x6d, 0x12, 0x26, 0x0a, 0x0f, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, - 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x73, 0x62, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x50, 0x73, 0x62, - 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6e, 0x6f, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6e, 0x6f, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, - 0x22, 0x85, 0x01, 0x0a, 0x0b, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, - 0x12, 0x3e, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, - 0x68, 0x69, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x68, 0x69, 0x6d, 0x48, - 0x00, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x68, 0x69, 0x6d, - 0x12, 0x2e, 0x0a, 0x09, 0x70, 0x73, 0x62, 0x74, 0x5f, 0x73, 0x68, 0x69, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x73, 0x62, 0x74, - 0x53, 0x68, 0x69, 0x6d, 0x48, 0x00, 0x52, 0x08, 0x70, 0x73, 0x62, 0x74, 0x53, 0x68, 0x69, 0x6d, - 0x42, 0x06, 0x0a, 0x04, 0x73, 0x68, 0x69, 0x6d, 0x22, 0x3b, 0x0a, 0x11, 0x46, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x26, 0x0a, - 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, - 0x68, 0x61, 0x6e, 0x49, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x11, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x50, 0x73, 0x62, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x66, - 0x75, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x70, 0x73, 0x62, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x64, 0x65, 0x64, 0x50, 0x73, 0x62, 0x74, 0x12, 0x26, 0x0a, 0x0f, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, - 0x61, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x66, 0x69, 0x6e, - 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x73, 0x6b, 0x69, - 0x70, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x13, 0x46, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x73, 0x62, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x70, 0x73, 0x62, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x50, 0x73, - 0x62, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x70, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x69, - 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x61, 0x77, 0x5f, 0x74, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x52, 0x61, 0x77, 0x54, 0x78, 0x22, 0x99, 0x02, 0x0a, - 0x14, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x39, 0x0a, 0x0d, 0x73, 0x68, 0x69, 0x6d, 0x5f, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, - 0x48, 0x00, 0x52, 0x0c, 0x73, 0x68, 0x69, 0x6d, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x3b, 0x0a, 0x0b, 0x73, 0x68, 0x69, 0x6d, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x48, - 0x00, 0x52, 0x0a, 0x73, 0x68, 0x69, 0x6d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x12, 0x3b, 0x0a, - 0x0b, 0x70, 0x73, 0x62, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x50, 0x73, 0x62, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x48, 0x00, 0x52, 0x0a, - 0x70, 0x73, 0x62, 0x74, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x41, 0x0a, 0x0d, 0x70, 0x73, - 0x62, 0x74, 0x5f, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x50, 0x73, 0x62, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x48, 0x00, 0x52, - 0x0c, 0x70, 0x73, 0x62, 0x74, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x42, 0x09, 0x0a, - 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x22, 0x16, 0x0a, 0x14, 0x46, 0x75, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x22, 0xcc, 0x01, 0x0a, 0x0b, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x54, 0x4c, 0x43, - 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x68, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x73, 0x5f, 0x74, 0x69, 0x6c, 0x5f, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x54, 0x69, - 0x6c, 0x4d, 0x61, 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x74, 0x61, 0x67, 0x65, 0x22, - 0x18, 0x0a, 0x16, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xf3, 0x12, 0x0a, 0x17, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6c, - 0x69, 0x6d, 0x62, 0x6f, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4c, 0x69, 0x6d, 0x62, 0x6f, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x65, 0x0a, 0x15, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x13, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x6a, 0x0a, 0x18, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x16, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x76, 0x0a, 0x1e, 0x70, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, - 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x52, 0x1b, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x6f, 0x72, 0x63, - 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x12, 0x68, 0x0a, 0x16, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x6f, 0x73, - 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x32, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x14, 0x77, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x9f, 0x04, 0x0a, 0x0e, 0x50, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x26, 0x0a, - 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x75, 0x62, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, - 0x64, 0x65, 0x50, 0x75, 0x62, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, - 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, - 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, - 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x13, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x52, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x53, 0x61, 0x74, 0x12, 0x35, 0x0a, 0x17, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x73, - 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x43, 0x68, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x53, 0x61, 0x74, 0x12, 0x2e, - 0x0a, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x74, 0x6f, 0x72, 0x52, 0x09, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x3e, - 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x36, - 0x0a, 0x17, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, - 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x15, 0x6e, 0x75, 0x6d, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x46, 0x6c, 0x61, - 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x1a, 0xc5, 0x01, 0x0a, - 0x12, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x65, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, - 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, - 0x12, 0x1c, 0x0a, 0x0a, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6b, 0x77, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x65, 0x65, 0x50, 0x65, 0x72, 0x4b, 0x77, 0x4a, 0x04, - 0x08, 0x02, 0x10, 0x03, 0x1a, 0xf4, 0x01, 0x0a, 0x13, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6e, 0x67, - 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x47, 0x0a, 0x07, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x62, 0x6f, 0x5f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x69, - 0x6d, 0x62, 0x6f, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x63, 0x6f, - 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x6d, - 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, - 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x1a, 0xa3, 0x02, 0x0a, 0x0b, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x54, 0x78, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x54, 0x78, 0x69, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x14, 0x6c, - 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, - 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x11, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x65, 0x65, 0x53, 0x61, 0x74, 0x12, 0x31, 0x0a, 0x15, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x65, - 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x65, 0x65, 0x53, 0x61, 0x74, 0x12, - 0x40, 0x0a, 0x1d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x61, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x19, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x46, 0x65, 0x65, 0x53, 0x61, - 0x74, 0x1a, 0x7b, 0x0a, 0x0d, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x63, - 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, 0x64, 0x1a, 0xee, - 0x03, 0x0a, 0x12, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x47, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x21, - 0x0a, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x69, - 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x69, 0x6d, 0x62, 0x6f, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6c, 0x69, 0x6d, 0x62, 0x6f, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0e, 0x6d, 0x61, 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, - 0x2e, 0x0a, 0x13, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x5f, 0x74, 0x69, 0x6c, 0x5f, 0x6d, 0x61, - 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x73, 0x54, 0x69, 0x6c, 0x4d, 0x61, 0x74, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, - 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x72, 0x65, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x37, 0x0a, 0x0d, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x48, 0x54, 0x4c, 0x43, 0x52, 0x0c, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x48, 0x74, 0x6c, 0x63, 0x73, 0x12, 0x55, 0x0a, 0x06, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x06, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x0b, - 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x4c, - 0x49, 0x4d, 0x42, 0x4f, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x43, 0x4f, 0x56, 0x45, - 0x52, 0x45, 0x44, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4c, 0x4f, 0x53, 0x54, 0x10, 0x02, 0x22, - 0x1a, 0x0a, 0x18, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xff, 0x04, 0x0a, 0x12, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x33, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x6e, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x43, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, - 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x48, 0x00, 0x52, 0x0d, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3c, 0x0a, 0x0e, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x10, 0x69, 0x6e, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x48, 0x0a, 0x14, - 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x48, 0x00, 0x52, 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x4b, 0x0a, 0x16, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x14, 0x66, - 0x75, 0x6c, 0x6c, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x24, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x92, 0x01, - 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, - 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x12, - 0x0a, 0x0e, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, - 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x43, 0x48, 0x41, - 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, - 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x43, 0x48, 0x41, - 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x46, 0x55, 0x4c, 0x4c, 0x59, 0x5f, - 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, - 0x10, 0x05, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x74, 0x0a, - 0x14, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, - 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, - 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x12, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xbd, 0x03, 0x0a, 0x15, - 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x75, 0x6e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, - 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x6f, 0x63, 0x6b, - 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0d, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x3f, 0x0a, 0x1c, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x43, 0x68, 0x61, 0x6e, - 0x12, 0x59, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x5e, 0x0a, 0x13, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x2e, 0x0a, 0x06, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x03, 0x73, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x73, 0x61, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x6d, 0x73, 0x61, 0x74, 0x22, 0x17, 0x0a, 0x15, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x80, 0x04, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x1c, 0x0a, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, - 0x14, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x62, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x42, 0x61, 0x6c, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x0d, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x45, 0x0a, - 0x17, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, - 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x15, 0x75, - 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x47, 0x0a, 0x18, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, - 0x64, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x16, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, - 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x4a, 0x0a, - 0x1a, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x52, 0x17, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x1b, 0x70, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x18, 0x70, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xcb, 0x06, 0x0a, 0x12, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, - 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6d, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x61, 0x6d, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6d, 0x74, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x61, 0x6d, 0x74, - 0x4d, 0x73, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x6c, - 0x74, 0x76, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, - 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x74, 0x76, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x2c, - 0x0a, 0x09, 0x66, 0x65, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x65, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x52, 0x08, 0x66, 0x65, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x23, 0x0a, 0x0d, - 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0c, 0x52, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x4e, 0x6f, 0x64, 0x65, - 0x73, 0x12, 0x3b, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, 0x65, 0x64, 0x67, - 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x45, 0x64, 0x67, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x45, 0x64, 0x67, 0x65, 0x73, 0x12, 0x24, - 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x75, - 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x5f, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 0x4d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x34, 0x0a, 0x0d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x5f, - 0x70, 0x61, 0x69, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0c, 0x69, 0x67, - 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x50, 0x61, 0x69, 0x72, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, - 0x74, 0x76, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, - 0x63, 0x6c, 0x74, 0x76, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x60, 0x0a, 0x13, 0x64, 0x65, 0x73, - 0x74, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2c, 0x0a, 0x10, 0x6f, - 0x75, 0x74, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x67, 0x6f, - 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, - 0x74, 0x5f, 0x68, 0x6f, 0x70, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x48, 0x6f, 0x70, 0x50, 0x75, 0x62, 0x6b, 0x65, - 0x79, 0x12, 0x31, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, - 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x48, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x0d, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x42, 0x69, 0x74, 0x52, 0x0c, - 0x64, 0x65, 0x73, 0x74, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, - 0x08, 0x74, 0x69, 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x1a, 0x44, 0x0a, 0x16, 0x44, 0x65, 0x73, - 0x74, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, - 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x2e, 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x69, - 0x72, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x74, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x02, 0x74, 0x6f, 0x22, 0x5d, 0x0a, 0x0b, 0x45, 0x64, 0x67, 0x65, 0x4c, 0x6f, 0x63, - 0x61, 0x74, 0x6f, 0x72, 0x12, 0x21, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x09, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x10, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x76, - 0x65, 0x72, 0x73, 0x65, 0x22, 0x5e, 0x0a, 0x13, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x06, 0x72, - 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x6f, - 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x50, 0x72, 0x6f, 0x62, 0x22, 0xb1, 0x04, 0x0a, 0x03, 0x48, 0x6f, 0x70, 0x12, 0x1b, 0x0a, 0x07, - 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, - 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0d, 0x63, 0x68, 0x61, - 0x6e, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, - 0x74, 0x79, 0x12, 0x28, 0x0a, 0x0e, 0x61, 0x6d, 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x6f, 0x72, - 0x77, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0c, - 0x61, 0x6d, 0x74, 0x54, 0x6f, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x03, - 0x66, 0x65, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x66, - 0x65, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x13, 0x61, 0x6d, - 0x74, 0x5f, 0x74, 0x6f, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x61, 0x6d, 0x74, 0x54, 0x6f, 0x46, 0x6f, - 0x72, 0x77, 0x61, 0x72, 0x64, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x66, 0x65, 0x65, - 0x4d, 0x73, 0x61, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x23, 0x0a, - 0x0b, 0x74, 0x6c, 0x76, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x74, 0x6c, 0x76, 0x50, 0x61, 0x79, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x6d, 0x70, 0x70, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4d, - 0x50, 0x50, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x6d, 0x70, 0x70, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x0a, 0x61, 0x6d, 0x70, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, - 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x41, 0x4d, 0x50, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x09, 0x61, 0x6d, 0x70, 0x52, 0x65, - 0x63, 0x6f, 0x72, 0x64, 0x12, 0x44, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, 0x6f, 0x70, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x54, 0x0a, 0x09, 0x4d, 0x50, 0x50, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x22, 0x62, - 0x0a, 0x09, 0x41, 0x4d, 0x50, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, - 0x6f, 0x6f, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x22, 0xe1, 0x01, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, - 0x4c, 0x6f, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x66, 0x65, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x09, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x61, 0x6d, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x08, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x68, 0x6f, 0x70, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, - 0x6f, 0x70, 0x52, 0x04, 0x68, 0x6f, 0x70, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x73, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x73, 0x4d, 0x73, 0x61, 0x74, - 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, - 0x6d, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x22, 0x55, 0x0a, 0x0f, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, - 0x65, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xae, 0x01, - 0x0a, 0x08, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x04, 0x6e, 0x6f, - 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x04, - 0x6e, 0x6f, 0x64, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, - 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x2e, - 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x45, 0x64, 0x67, 0x65, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xb4, - 0x02, 0x0a, 0x0d, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, - 0x12, 0x30, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, - 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, - 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x4b, 0x0a, 0x0d, 0x46, 0x65, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3b, 0x0a, 0x0b, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x12, - 0x0a, 0x04, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x64, - 0x64, 0x72, 0x22, 0x86, 0x02, 0x0a, 0x0d, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, - 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, - 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x19, 0x0a, 0x08, - 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, - 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x65, 0x65, 0x5f, 0x62, - 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, - 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x66, - 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x5f, 0x6d, 0x73, - 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, - 0x65, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x74, - 0x6c, 0x63, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, - 0x61, 0x78, 0x48, 0x74, 0x6c, 0x63, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0xbc, 0x02, 0x0a, 0x0b, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x64, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0a, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x02, 0x30, 0x01, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, - 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x31, 0x5f, 0x70, 0x75, 0x62, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x31, 0x50, 0x75, 0x62, 0x12, - 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x32, 0x5f, 0x70, 0x75, 0x62, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x32, 0x50, 0x75, 0x62, 0x12, 0x1a, 0x0a, 0x08, - 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, - 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, - 0x31, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, 0x31, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x37, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x32, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0b, 0x6e, - 0x6f, 0x64, 0x65, 0x32, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x46, 0x0a, 0x13, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x61, 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x75, 0x6e, 0x61, - 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x55, 0x6e, 0x61, 0x6e, 0x6e, 0x6f, 0x75, 0x6e, 0x63, - 0x65, 0x64, 0x22, 0x64, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x6e, - 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x28, - 0x0a, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x64, 0x67, - 0x65, 0x52, 0x05, 0x65, 0x64, 0x67, 0x65, 0x73, 0x22, 0x41, 0x0a, 0x12, 0x4e, 0x6f, 0x64, 0x65, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, - 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x15, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0xe1, 0x01, 0x0a, 0x13, - 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6c, 0x0a, 0x16, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x6e, 0x65, - 0x73, 0x73, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x65, 0x6e, 0x74, 0x72, - 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x15, 0x62, 0x65, 0x74, 0x77, - 0x65, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x73, 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x74, - 0x79, 0x1a, 0x5c, 0x0a, 0x1a, 0x42, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x6e, 0x65, 0x73, 0x73, - 0x43, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x28, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x65, - 0x74, 0x72, 0x69, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x4e, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, - 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0f, - 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x2e, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x22, - 0x14, 0x0a, 0x12, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xd5, 0x03, 0x0a, 0x0b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x67, 0x72, 0x61, 0x70, 0x68, 0x5f, 0x64, - 0x69, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x44, 0x69, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0e, - 0x61, 0x76, 0x67, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, 0x67, 0x72, 0x65, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x01, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x4f, 0x75, 0x74, 0x44, 0x65, 0x67, 0x72, - 0x65, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x64, 0x65, - 0x67, 0x72, 0x65, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x4f, - 0x75, 0x74, 0x44, 0x65, 0x67, 0x72, 0x65, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x75, 0x6d, 0x5f, - 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x75, 0x6d, - 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, - 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x28, - 0x0a, 0x10, 0x61, 0x76, 0x67, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x61, 0x76, 0x67, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x6d, 0x61, - 0x78, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x35, 0x0a, 0x17, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x14, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x69, 0x7a, 0x65, - 0x53, 0x61, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x7a, 0x6f, 0x6d, 0x62, 0x69, - 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6e, - 0x75, 0x6d, 0x5a, 0x6f, 0x6d, 0x62, 0x69, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x73, 0x22, 0x0d, 0x0a, - 0x0b, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0e, 0x0a, 0x0c, - 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x0a, 0x19, - 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xcd, 0x01, 0x0a, 0x13, 0x47, 0x72, - 0x61, 0x70, 0x68, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x34, 0x0a, 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x4e, 0x6f, 0x64, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x6e, 0x6f, 0x64, 0x65, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x45, 0x64, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6c, - 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x63, 0x6c, - 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x73, 0x22, 0xef, 0x02, 0x0a, 0x0a, 0x4e, 0x6f, - 0x64, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x4b, 0x65, 0x79, 0x12, 0x2b, 0x0a, - 0x0f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x62, - 0x61, 0x6c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x39, 0x0a, 0x0e, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x4b, - 0x0a, 0x0d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x91, 0x02, 0x0a, 0x11, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x64, 0x67, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x32, - 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, - 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x3b, - 0x0a, 0x0e, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0d, 0x72, 0x6f, - 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x29, 0x0a, 0x10, 0x61, - 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74, 0x69, 0x73, 0x69, - 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x64, 0x65, 0x22, - 0xa7, 0x01, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, - 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, - 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x48, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, - 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xcf, 0x01, 0x0a, 0x07, 0x48, 0x6f, - 0x70, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x1b, - 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, - 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x66, - 0x65, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x0b, 0x66, 0x65, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, - 0x3e, 0x0a, 0x1b, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x19, 0x66, 0x65, 0x65, 0x50, 0x72, 0x6f, 0x70, 0x6f, 0x72, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4d, 0x69, 0x6c, 0x6c, 0x69, 0x6f, 0x6e, 0x74, 0x68, 0x73, 0x12, - 0x2a, 0x0a, 0x11, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x5f, 0x64, - 0x65, 0x6c, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x63, 0x6c, 0x74, 0x76, - 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x22, 0x1e, 0x0a, 0x05, 0x53, - 0x65, 0x74, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x09, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x09, 0x68, 0x6f, 0x70, 0x5f, - 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x48, 0x6f, 0x70, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x08, 0x68, 0x6f, 0x70, - 0x48, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xa8, 0x01, 0x0a, 0x0f, 0x41, 0x4d, 0x50, 0x49, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x54, 0x4c, 0x43, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x74, - 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, - 0x61, 0x6d, 0x74, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x6d, 0x74, 0x50, 0x61, 0x69, 0x64, 0x4d, 0x73, 0x61, 0x74, - 0x22, 0xc3, 0x09, 0x0a, 0x07, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, - 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x5f, 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x72, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, - 0x15, 0x0a, 0x06, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x05, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x73, - 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, - 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1f, - 0x0a, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, - 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, - 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, - 0x79, 0x12, 0x31, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, - 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x48, - 0x69, 0x6e, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x08, 0x61, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x73, - 0x65, 0x74, 0x74, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x04, 0x52, 0x0b, 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, - 0x0a, 0x08, 0x61, 0x6d, 0x74, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x03, - 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x61, 0x6d, 0x74, 0x50, 0x61, 0x69, 0x64, 0x12, 0x20, 0x0a, - 0x0c, 0x61, 0x6d, 0x74, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x13, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x6d, 0x74, 0x50, 0x61, 0x69, 0x64, 0x53, 0x61, 0x74, 0x12, - 0x22, 0x0a, 0x0d, 0x61, 0x6d, 0x74, 0x5f, 0x70, 0x61, 0x69, 0x64, 0x5f, 0x6d, 0x73, 0x61, 0x74, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x61, 0x6d, 0x74, 0x50, 0x61, 0x69, 0x64, 0x4d, - 0x73, 0x61, 0x74, 0x12, 0x31, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x15, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x18, - 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, - 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x54, 0x4c, 0x43, 0x52, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, - 0x12, 0x38, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x18, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, - 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x69, 0x73, 0x4b, 0x65, 0x79, 0x73, 0x65, 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x15, 0x0a, 0x06, - 0x69, 0x73, 0x5f, 0x61, 0x6d, 0x70, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, - 0x41, 0x6d, 0x70, 0x12, 0x4f, 0x0a, 0x11, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x2e, 0x41, - 0x6d, 0x70, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0f, 0x61, 0x6d, 0x70, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x1a, 0x4b, 0x0a, 0x0d, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, - 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x1a, 0x5a, 0x0a, 0x14, 0x41, 0x6d, 0x70, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x4d, 0x50, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x41, 0x0a, - 0x0c, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x08, 0x0a, - 0x04, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x54, 0x54, 0x4c, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, - 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, 0x03, - 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xfc, 0x03, 0x0a, 0x0b, 0x49, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x48, 0x54, 0x4c, 0x43, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, - 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x68, 0x74, 0x6c, 0x63, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x61, 0x6d, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x23, 0x0a, - 0x0d, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x48, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, - 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x65, - 0x78, 0x70, 0x69, 0x72, 0x79, 0x48, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x2d, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x54, 0x4c, 0x43, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x0e, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, - 0x63, 0x65, 0x48, 0x54, 0x4c, 0x43, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x12, 0x6d, 0x70, 0x70, 0x5f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6d, 0x70, 0x70, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, - 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1c, 0x0a, 0x03, 0x61, 0x6d, 0x70, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x4d, 0x50, 0x52, 0x03, - 0x61, 0x6d, 0x70, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8c, 0x01, 0x0a, 0x03, 0x41, 0x4d, 0x50, 0x12, 0x1d, 0x0a, - 0x0a, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x53, 0x68, 0x61, 0x72, 0x65, 0x12, 0x15, 0x0a, 0x06, - 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x70, 0x72, 0x65, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x22, 0x94, 0x01, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x76, 0x6f, - 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x72, - 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x61, - 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x61, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, - 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x72, 0x22, 0x46, 0x0a, 0x0b, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0a, 0x72, 0x5f, - 0x68, 0x61, 0x73, 0x68, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, - 0x18, 0x01, 0x52, 0x08, 0x72, 0x48, 0x61, 0x73, 0x68, 0x53, 0x74, 0x72, 0x12, 0x15, 0x0a, 0x06, - 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x72, 0x48, - 0x61, 0x73, 0x68, 0x22, 0xa0, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, - 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x21, 0x0a, - 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x12, 0x28, 0x0a, 0x10, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x6e, 0x76, 0x6f, - 0x69, 0x63, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6e, 0x75, 0x6d, 0x4d, - 0x61, 0x78, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, - 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x49, - 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, - 0x0a, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x52, 0x08, 0x69, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x10, 0x66, 0x69, 0x72, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, - 0x66, 0x73, 0x65, 0x74, 0x22, 0x55, 0x0a, 0x13, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, - 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, - 0x61, 0x64, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x74, - 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, - 0x73, 0x65, 0x74, 0x74, 0x6c, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x8a, 0x05, 0x0a, 0x07, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, - 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, - 0x03, 0x66, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, - 0x66, 0x65, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, - 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x1b, - 0x0a, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x66, 0x65, 0x65, - 0x5f, 0x73, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x66, 0x65, 0x65, 0x53, - 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x66, 0x65, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x28, 0x0a, - 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, - 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x28, 0x0a, 0x05, 0x68, 0x74, 0x6c, 0x63, 0x73, - 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x48, - 0x54, 0x4c, 0x43, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x52, 0x05, 0x68, 0x74, 0x6c, 0x63, - 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x42, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, - 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, - 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0d, 0x66, 0x61, 0x69, - 0x6c, 0x75, 0x72, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x0d, 0x50, 0x61, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x5f, 0x46, - 0x4c, 0x49, 0x47, 0x48, 0x54, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, - 0x45, 0x44, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, - 0x10, 0x03, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0xd5, 0x02, 0x0a, 0x0b, 0x48, 0x54, 0x4c, - 0x43, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, 0x74, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x48, 0x54, 0x4c, 0x43, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x2e, 0x48, 0x54, 0x4c, 0x43, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, - 0x0a, 0x05, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x05, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x4e, 0x73, 0x12, 0x28, 0x0a, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x61, 0x69, 0x6c, - 0x75, 0x72, 0x65, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, - 0x70, 0x72, 0x65, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x36, 0x0a, 0x0a, 0x48, 0x54, 0x4c, 0x43, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x5f, 0x46, 0x4c, 0x49, - 0x47, 0x48, 0x54, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, - 0x22, 0xd8, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x49, 0x6e, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, - 0x78, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, - 0x08, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x08, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x54, 0x6f, - 0x74, 0x61, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xca, 0x01, 0x0a, 0x14, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x2c, 0x0a, 0x12, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2a, - 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x6f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4e, 0x75, 0x6d, - 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x65, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x74, - 0x6c, 0x63, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x48, 0x74, 0x6c, 0x63, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, - 0x78, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x66, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x6f, - 0x6e, 0x6c, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x2a, 0x0a, - 0x11, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x73, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x48, 0x74, 0x6c, 0x63, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x50, - 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xbf, 0x01, 0x0a, 0x15, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x0d, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x19, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, - 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x68, 0x69, 0x6d, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, - 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x68, 0x69, 0x6d, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x31, - 0x0a, 0x16, 0x69, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x5f, 0x77, 0x68, 0x61, 0x74, 0x5f, 0x69, 0x5f, - 0x61, 0x6d, 0x5f, 0x64, 0x6f, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, - 0x69, 0x4b, 0x6e, 0x6f, 0x77, 0x57, 0x68, 0x61, 0x74, 0x49, 0x41, 0x6d, 0x44, 0x6f, 0x69, 0x6e, - 0x67, 0x22, 0x18, 0x0a, 0x16, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x0a, 0x11, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, - 0x73, 0x68, 0x6f, 0x77, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x73, 0x70, - 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x53, - 0x70, 0x65, 0x63, 0x22, 0x35, 0x0a, 0x12, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x75, 0x62, - 0x5f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x75, 0x62, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x27, 0x0a, 0x0c, 0x50, 0x61, - 0x79, 0x52, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x61, - 0x79, 0x5f, 0x72, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x79, - 0x52, 0x65, 0x71, 0x22, 0xb0, 0x04, 0x0a, 0x06, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12, 0x20, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x61, 0x74, 0x6f, 0x73, - 0x68, 0x69, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x53, 0x61, - 0x74, 0x6f, 0x73, 0x68, 0x69, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, - 0x0a, 0x10, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x61, 0x6c, - 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x66, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x41, 0x64, 0x64, 0x72, 0x12, 0x1f, - 0x0a, 0x0b, 0x63, 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, - 0x31, 0x0a, 0x0b, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x0a, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x6f, 0x75, - 0x74, 0x65, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x69, 0x6e, - 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x41, 0x64, 0x64, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, - 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, - 0x12, 0x37, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, - 0x71, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x4b, 0x0a, 0x0d, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x59, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x6b, 0x6e, 0x6f, - 0x77, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x4b, 0x6e, 0x6f, 0x77, - 0x6e, 0x22, 0x12, 0x0a, 0x10, 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xb3, 0x01, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, - 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, - 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, - 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x4d, 0x73, 0x61, 0x74, - 0x12, 0x1e, 0x0a, 0x0b, 0x66, 0x65, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x6d, 0x69, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x66, 0x65, 0x65, 0x50, 0x65, 0x72, 0x4d, 0x69, 0x6c, - 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x22, 0xb5, 0x01, 0x0a, 0x11, - 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3a, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, 0x65, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x46, 0x65, 0x65, 0x73, 0x12, 0x1e, 0x0a, - 0x0b, 0x64, 0x61, 0x79, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x09, 0x64, 0x61, 0x79, 0x46, 0x65, 0x65, 0x53, 0x75, 0x6d, 0x12, 0x20, 0x0a, - 0x0c, 0x77, 0x65, 0x65, 0x6b, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x75, 0x6d, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x0a, 0x77, 0x65, 0x65, 0x6b, 0x46, 0x65, 0x65, 0x53, 0x75, 0x6d, 0x12, - 0x22, 0x0a, 0x0d, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x73, 0x75, 0x6d, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x46, 0x65, 0x65, - 0x53, 0x75, 0x6d, 0x22, 0xf6, 0x02, 0x0a, 0x13, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x48, 0x00, - 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x62, - 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, - 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x07, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x66, 0x65, - 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x70, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x50, 0x70, 0x6d, 0x12, 0x26, 0x0a, 0x0f, - 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x44, - 0x65, 0x6c, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x61, 0x78, 0x5f, 0x68, 0x74, 0x6c, 0x63, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x61, 0x78, - 0x48, 0x74, 0x6c, 0x63, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x5f, - 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0b, 0x6d, 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x35, 0x0a, 0x17, - 0x6d, 0x69, 0x6e, 0x5f, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x5f, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x6d, - 0x69, 0x6e, 0x48, 0x74, 0x6c, 0x63, 0x4d, 0x73, 0x61, 0x74, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x8c, 0x01, 0x0a, - 0x0c, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, - 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, - 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, - 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x52, 0x0a, 0x14, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x22, - 0x9d, 0x01, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x69, - 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, - 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, - 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x4d, 0x61, 0x78, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0xbb, 0x02, 0x0a, 0x0f, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x20, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, - 0x5f, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x08, 0x63, - 0x68, 0x61, 0x6e, 0x49, 0x64, 0x49, 0x6e, 0x12, 0x22, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x5f, - 0x69, 0x64, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, - 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x4f, 0x75, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x61, - 0x6d, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x61, 0x6d, 0x74, - 0x49, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x61, 0x6d, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x74, 0x4f, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, - 0x65, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x66, 0x65, 0x65, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x07, 0x66, 0x65, 0x65, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x6d, 0x74, 0x5f, - 0x69, 0x6e, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x61, - 0x6d, 0x74, 0x49, 0x6e, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x6d, 0x74, 0x5f, - 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, - 0x61, 0x6d, 0x74, 0x4f, 0x75, 0x74, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x5f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x4e, 0x73, 0x22, 0x8c, 0x01, - 0x0a, 0x19, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x11, 0x66, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, - 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x10, - 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6c, 0x61, 0x73, - 0x74, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x50, 0x0a, 0x1a, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x63, 0x68, - 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x64, - 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, - 0x32, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x22, 0x73, 0x0a, 0x0f, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, - 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x34, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x5f, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, - 0x74, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x2a, 0x0a, - 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, - 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x19, 0x0a, 0x17, 0x43, 0x68, 0x61, - 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x9f, 0x01, 0x0a, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x45, 0x0a, 0x13, 0x73, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, - 0x11, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x73, 0x12, 0x42, 0x0a, 0x11, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x22, 0x49, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x37, 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, - 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, - 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3a, - 0x0a, 0x0c, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x48, 0x00, 0x52, 0x0b, 0x63, - 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, - 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x42, 0x08, 0x0a, 0x06, 0x62, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x0a, 0x19, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1a, 0x0a, 0x18, 0x56, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x0a, 0x12, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb0, 0x01, 0x0a, 0x13, 0x42, - 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x1e, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, - 0x3c, 0x0a, 0x1a, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x32, 0x0a, - 0x14, 0x42, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, - 0x6e, 0x22, 0x18, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, - 0x6e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x17, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x6f, - 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x22, 0x39, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x4b, 0x65, - 0x79, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, - 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x55, 0x0a, 0x16, 0x4d, 0x61, 0x63, - 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x18, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xe4, 0x01, 0x0a, 0x17, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x12, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x63, 0x0a, 0x16, - 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0xb0, 0x08, 0x0a, 0x07, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x2e, 0x0a, - 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2e, 0x46, 0x61, 0x69, 0x6c, - 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x3b, 0x0a, - 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x74, - 0x6c, 0x63, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x68, - 0x74, 0x6c, 0x63, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x22, 0x0a, 0x0d, 0x6f, 0x6e, 0x69, 0x6f, 0x6e, - 0x5f, 0x73, 0x68, 0x61, 0x5f, 0x32, 0x35, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, - 0x6f, 0x6e, 0x69, 0x6f, 0x6e, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1f, 0x0a, 0x0b, 0x63, - 0x6c, 0x74, 0x76, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x0a, 0x63, 0x6c, 0x74, 0x76, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x66, 0x6c, 0x61, - 0x67, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0xef, 0x05, 0x0a, - 0x0b, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0c, 0x0a, 0x08, - 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x49, 0x4e, - 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, - 0x4c, 0x53, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, - 0x54, 0x5f, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, - 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x43, 0x4f, - 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x43, 0x4c, 0x54, 0x56, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, - 0x59, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x43, - 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x41, 0x4d, 0x4f, 0x55, - 0x4e, 0x54, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x46, 0x49, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x58, - 0x50, 0x49, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x53, 0x4f, 0x4f, 0x4e, 0x10, 0x05, 0x12, - 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x4c, 0x4d, - 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, - 0x5f, 0x53, 0x4f, 0x4f, 0x4e, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x56, 0x41, 0x4c, - 0x49, 0x44, 0x5f, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, - 0x10, 0x08, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4f, 0x4e, - 0x49, 0x4f, 0x4e, 0x5f, 0x48, 0x4d, 0x41, 0x43, 0x10, 0x09, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x45, 0x59, 0x10, - 0x0a, 0x12, 0x18, 0x0a, 0x14, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, 0x5f, 0x42, 0x45, 0x4c, 0x4f, - 0x57, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x55, 0x4d, 0x10, 0x0b, 0x12, 0x14, 0x0a, 0x10, 0x46, - 0x45, 0x45, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x10, - 0x0c, 0x12, 0x19, 0x0a, 0x15, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x43, - 0x4c, 0x54, 0x56, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x59, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, - 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x45, 0x44, - 0x10, 0x0e, 0x12, 0x1d, 0x0a, 0x19, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, - 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, - 0x0f, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x4e, 0x4f, - 0x44, 0x45, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, - 0x4e, 0x47, 0x10, 0x10, 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, - 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, - 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x10, 0x11, 0x12, 0x15, 0x0a, 0x11, 0x55, 0x4e, - 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x4e, 0x45, 0x58, 0x54, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x10, - 0x12, 0x12, 0x1a, 0x0a, 0x16, 0x54, 0x45, 0x4d, 0x50, 0x4f, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4e, - 0x4f, 0x44, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x13, 0x12, 0x1a, 0x0a, - 0x16, 0x50, 0x45, 0x52, 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x44, 0x45, 0x5f, - 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x14, 0x12, 0x1d, 0x0a, 0x19, 0x50, 0x45, 0x52, - 0x4d, 0x41, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x15, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x58, 0x50, 0x49, - 0x52, 0x59, 0x5f, 0x54, 0x4f, 0x4f, 0x5f, 0x46, 0x41, 0x52, 0x10, 0x16, 0x12, 0x0f, 0x0a, 0x0b, - 0x4d, 0x50, 0x50, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x17, 0x12, 0x19, 0x0a, - 0x15, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x50, - 0x41, 0x59, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x18, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x4e, 0x54, 0x45, - 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0xe5, 0x07, 0x12, - 0x14, 0x0a, 0x0f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, - 0x52, 0x45, 0x10, 0xe6, 0x07, 0x12, 0x17, 0x0a, 0x12, 0x55, 0x4e, 0x52, 0x45, 0x41, 0x44, 0x41, - 0x42, 0x4c, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0xe7, 0x07, 0x4a, 0x04, - 0x08, 0x02, 0x10, 0x03, 0x22, 0xb3, 0x03, 0x0a, 0x0d, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x68, 0x61, - 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x1b, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x04, 0x42, 0x02, 0x30, 0x01, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, - 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x23, - 0x0a, 0x0d, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x4c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x6c, 0x74, 0x61, - 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, - 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x68, 0x74, 0x6c, - 0x63, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x19, 0x0a, 0x08, - 0x62, 0x61, 0x73, 0x65, 0x5f, 0x66, 0x65, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, - 0x62, 0x61, 0x73, 0x65, 0x46, 0x65, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x5f, 0x72, - 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x66, 0x65, 0x65, 0x52, 0x61, - 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x74, 0x6c, 0x63, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, - 0x75, 0x6d, 0x5f, 0x6d, 0x73, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x68, - 0x74, 0x6c, 0x63, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x4d, 0x73, 0x61, 0x74, 0x12, 0x2a, - 0x0a, 0x11, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x6f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x4f, 0x70, 0x61, 0x71, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x22, 0x5d, 0x0a, 0x0a, 0x4d, 0x61, - 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x6e, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x09, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x03, - 0x6f, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x4f, 0x70, 0x52, 0x03, 0x6f, 0x70, 0x73, 0x22, 0x36, 0x0a, 0x02, 0x4f, 0x70, 0x12, - 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x61, 0x63, 0x50, 0x65, - 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x63, - 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6d, 0x61, 0x63, - 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x75, 0x6c, 0x6c, 0x4d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x22, 0x2c, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x61, 0x63, 0x50, 0x65, - 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x22, 0xf4, 0x02, 0x0a, 0x14, 0x52, 0x50, 0x43, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, - 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x61, 0x77, 0x5f, - 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, - 0x72, 0x61, 0x77, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x17, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x61, 0x75, - 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0a, 0x73, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x41, 0x75, 0x74, 0x68, 0x12, 0x2d, 0x0a, 0x07, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, - 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, - 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x72, 0x65, 0x67, - 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x48, - 0x00, 0x52, 0x0b, 0x72, 0x65, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x15, - 0x0a, 0x06, 0x6d, 0x73, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, - 0x6d, 0x73, 0x67, 0x49, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x63, 0x65, - 0x70, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x34, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x41, 0x75, 0x74, 0x68, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, - 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x46, 0x75, 0x6c, 0x6c, 0x55, 0x72, 0x69, 0x22, 0xab, 0x01, - 0x0a, 0x0a, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x75, 0x72, 0x69, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x46, 0x75, 0x6c, - 0x6c, 0x55, 0x72, 0x69, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x72, - 0x70, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x52, 0x70, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, - 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc0, 0x01, 0x0a, 0x15, - 0x52, 0x50, 0x43, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x5f, 0x6d, 0x73, 0x67, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x72, 0x65, 0x66, 0x4d, 0x73, - 0x67, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4d, 0x69, - 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x36, 0x0a, 0x08, 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x72, - 0x63, 0x65, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x48, 0x00, 0x52, 0x08, - 0x66, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x42, 0x14, 0x0a, 0x12, 0x6d, 0x69, 0x64, 0x64, - 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa6, - 0x01, 0x0a, 0x16, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x69, 0x64, - 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x61, 0x63, - 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x76, 0x65, 0x61, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, - 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x43, 0x61, 0x76, 0x65, 0x61, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x5f, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x61, 0x64, 0x4f, - 0x6e, 0x6c, 0x79, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x74, 0x65, - 0x72, 0x63, 0x65, 0x70, 0x74, 0x46, 0x65, 0x65, 0x64, 0x62, 0x61, 0x63, 0x6b, 0x12, 0x14, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x5f, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, - 0x0a, 0x16, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, - 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x15, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x69, 0x61, - 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x2a, 0xcb, 0x02, 0x0a, 0x10, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x43, - 0x52, 0x49, 0x50, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4b, 0x45, 0x59, - 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x43, 0x52, 0x49, 0x50, - 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x48, 0x41, - 0x53, 0x48, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x56, 0x30, 0x5f, 0x50, - 0x55, 0x42, 0x4b, 0x45, 0x59, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, - 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, 0x54, 0x4e, - 0x45, 0x53, 0x53, 0x5f, 0x56, 0x30, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x48, 0x41, - 0x53, 0x48, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x50, 0x55, 0x42, 0x4b, 0x45, 0x59, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, - 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x55, 0x4c, 0x54, - 0x49, 0x53, 0x49, 0x47, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x55, 0x4c, 0x4c, 0x44, 0x41, 0x54, 0x41, 0x10, 0x06, - 0x12, 0x1c, 0x0a, 0x18, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x4e, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x07, 0x12, 0x1f, - 0x0a, 0x1b, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, 0x49, - 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x08, 0x12, - 0x22, 0x0a, 0x1e, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x57, - 0x49, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x56, 0x31, 0x5f, 0x54, 0x41, 0x50, 0x52, 0x4f, 0x4f, - 0x54, 0x10, 0x09, 0x2a, 0xac, 0x01, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x13, 0x57, 0x49, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x50, - 0x55, 0x42, 0x4b, 0x45, 0x59, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, - 0x4e, 0x45, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x55, 0x42, 0x4b, 0x45, 0x59, 0x5f, 0x48, 0x41, - 0x53, 0x48, 0x10, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, 0x5f, 0x57, - 0x49, 0x54, 0x4e, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x55, 0x42, 0x4b, 0x45, 0x59, 0x5f, 0x48, 0x41, - 0x53, 0x48, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x4e, 0x55, 0x53, 0x45, 0x44, 0x5f, 0x4e, - 0x45, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x55, 0x42, 0x4b, 0x45, 0x59, 0x5f, 0x48, 0x41, 0x53, - 0x48, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x54, 0x41, 0x50, 0x52, 0x4f, 0x4f, 0x54, 0x5f, 0x50, - 0x55, 0x42, 0x4b, 0x45, 0x59, 0x10, 0x04, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x4e, 0x55, 0x53, 0x45, - 0x44, 0x5f, 0x54, 0x41, 0x50, 0x52, 0x4f, 0x4f, 0x54, 0x5f, 0x50, 0x55, 0x42, 0x4b, 0x45, 0x59, - 0x10, 0x05, 0x2a, 0x78, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x6d, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, - 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x45, 0x47, 0x41, 0x43, 0x59, 0x10, 0x01, 0x12, 0x15, 0x0a, - 0x11, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x4b, - 0x45, 0x59, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x53, 0x10, - 0x03, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, 0x45, 0x4e, 0x46, 0x4f, - 0x52, 0x43, 0x45, 0x44, 0x5f, 0x4c, 0x45, 0x41, 0x53, 0x45, 0x10, 0x04, 0x2a, 0x61, 0x0a, 0x09, - 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x15, 0x0a, 0x11, 0x49, 0x4e, 0x49, - 0x54, 0x49, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, - 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x4c, 0x4f, - 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, - 0x4f, 0x52, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x49, - 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x03, 0x2a, - 0x60, 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x10, 0x01, 0x12, - 0x11, 0x0a, 0x0d, 0x49, 0x4e, 0x43, 0x4f, 0x4d, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x54, 0x4c, 0x43, - 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x4f, 0x55, 0x54, 0x47, 0x4f, 0x49, 0x4e, 0x47, 0x5f, 0x48, - 0x54, 0x4c, 0x43, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x10, - 0x04, 0x2a, 0x71, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x4f, 0x55, 0x54, 0x43, 0x4f, 0x4d, - 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x43, - 0x4c, 0x41, 0x49, 0x4d, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x43, 0x4c, - 0x41, 0x49, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x42, 0x41, 0x4e, 0x44, - 0x4f, 0x4e, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x49, 0x52, 0x53, 0x54, 0x5f, - 0x53, 0x54, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x49, 0x4d, 0x45, 0x4f, - 0x55, 0x54, 0x10, 0x05, 0x2a, 0x39, 0x0a, 0x0e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, - 0x69, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x45, 0x54, 0x57, 0x45, 0x45, 0x4e, 0x4e, 0x45, - 0x53, 0x53, 0x5f, 0x43, 0x45, 0x4e, 0x54, 0x52, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, 0x2a, - 0x3b, 0x0a, 0x10, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x48, 0x54, 0x4c, 0x43, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x43, 0x43, 0x45, 0x50, 0x54, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x45, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, - 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x2a, 0xd9, 0x01, 0x0a, - 0x14, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x13, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x1a, - 0x0a, 0x16, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x41, - 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x5f, - 0x52, 0x4f, 0x55, 0x54, 0x45, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x41, 0x49, 0x4c, 0x55, - 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, - 0x03, 0x12, 0x2c, 0x0a, 0x28, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x43, 0x4f, 0x52, 0x52, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x41, - 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0x04, 0x12, - 0x27, 0x0a, 0x23, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x49, 0x4e, 0x53, 0x55, 0x46, 0x46, 0x49, 0x43, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x42, - 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x05, 0x2a, 0xcf, 0x04, 0x0a, 0x0a, 0x46, 0x65, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x42, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x41, 0x54, 0x41, 0x4c, - 0x4f, 0x53, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x10, - 0x00, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x41, 0x54, 0x41, 0x4c, 0x4f, 0x53, 0x53, 0x5f, 0x50, 0x52, - 0x4f, 0x54, 0x45, 0x43, 0x54, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x49, - 0x4e, 0x49, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x52, 0x4f, 0x55, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x59, - 0x4e, 0x43, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x50, 0x46, 0x52, 0x4f, 0x4e, 0x54, 0x5f, - 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x5f, - 0x52, 0x45, 0x51, 0x10, 0x04, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x50, 0x46, 0x52, 0x4f, 0x4e, 0x54, - 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x5f, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, - 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, - 0x5f, 0x51, 0x55, 0x45, 0x52, 0x49, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x06, 0x12, 0x16, - 0x0a, 0x12, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x49, 0x45, 0x53, - 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x07, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x4c, 0x56, 0x5f, 0x4f, 0x4e, - 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x54, 0x4c, 0x56, - 0x5f, 0x4f, 0x4e, 0x49, 0x4f, 0x4e, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x09, 0x12, 0x1a, 0x0a, 0x16, - 0x45, 0x58, 0x54, 0x5f, 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x49, - 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x0a, 0x12, 0x1a, 0x0a, 0x16, 0x45, 0x58, 0x54, 0x5f, - 0x47, 0x4f, 0x53, 0x53, 0x49, 0x50, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x49, 0x45, 0x53, 0x5f, 0x4f, - 0x50, 0x54, 0x10, 0x0b, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x52, - 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x0c, 0x12, - 0x19, 0x0a, 0x15, 0x53, 0x54, 0x41, 0x54, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, - 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x0d, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, - 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x0e, - 0x12, 0x14, 0x0a, 0x10, 0x50, 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, 0x52, - 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x0f, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x50, 0x50, 0x5f, 0x52, 0x45, - 0x51, 0x10, 0x10, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x50, 0x50, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x11, - 0x12, 0x16, 0x0a, 0x12, 0x57, 0x55, 0x4d, 0x42, 0x4f, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, - 0x4c, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x12, 0x12, 0x16, 0x0a, 0x12, 0x57, 0x55, 0x4d, 0x42, - 0x4f, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x13, - 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x10, - 0x14, 0x12, 0x0f, 0x0a, 0x0b, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x53, 0x5f, 0x4f, 0x50, 0x54, - 0x10, 0x15, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x53, 0x5f, 0x5a, 0x45, - 0x52, 0x4f, 0x5f, 0x46, 0x45, 0x45, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x52, 0x45, 0x51, 0x10, - 0x16, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x53, 0x5f, 0x5a, 0x45, 0x52, - 0x4f, 0x5f, 0x46, 0x45, 0x45, 0x5f, 0x48, 0x54, 0x4c, 0x43, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x17, - 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4d, 0x50, 0x5f, 0x52, 0x45, 0x51, 0x10, 0x1e, 0x12, 0x0b, 0x0a, - 0x07, 0x41, 0x4d, 0x50, 0x5f, 0x4f, 0x50, 0x54, 0x10, 0x1f, 0x2a, 0xac, 0x01, 0x0a, 0x0d, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x16, - 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x55, 0x50, 0x44, 0x41, - 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, - 0x4e, 0x47, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, - 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, - 0x10, 0x02, 0x12, 0x1f, 0x0a, 0x1b, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, 0x49, - 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, - 0x52, 0x10, 0x03, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x55, 0x52, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x50, 0x41, - 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x10, 0x04, 0x32, 0x8f, 0x26, 0x0a, 0x09, 0x4c, 0x69, - 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x4a, 0x0a, 0x0d, 0x57, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, - 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x44, 0x0a, 0x0b, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x12, 0x19, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, - 0x65, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x46, 0x65, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x69, - 0x6e, 0x73, 0x12, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, - 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x69, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x73, - 0x70, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x6e, 0x73, 0x70, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x6e, 0x73, 0x70, - 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x15, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x61, 0x6e, - 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x08, 0x53, 0x65, 0x6e, - 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x12, 0x16, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, - 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x61, 0x6e, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x65, 0x77, - 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x53, 0x69, 0x67, - 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x69, 0x67, 0x6e, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4a, 0x0a, 0x0d, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0b, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6f, - 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, - 0x65, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x63, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, - 0x6e, 0x65, 0x63, 0x74, 0x50, 0x65, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3e, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 0x17, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x65, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x47, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x50, 0x65, 0x65, - 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x65, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x38, 0x0a, 0x07, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0f, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x56, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x30, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x43, 0x6c, 0x6f, 0x73, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0f, 0x4f, 0x70, 0x65, 0x6e, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x0b, 0x4f, 0x70, - 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x70, 0x65, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x30, 0x01, 0x12, - 0x53, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x12, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x10, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x12, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x46, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x75, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x74, 0x65, 0x70, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x50, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, - 0x65, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x28, 0x01, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, - 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x30, 0x01, 0x12, 0x4d, 0x0a, 0x0e, - 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x62, 0x61, 0x6e, 0x64, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0b, 0x53, - 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x28, 0x01, 0x30, 0x01, 0x12, 0x3a, 0x0a, 0x0f, - 0x53, 0x65, 0x6e, 0x64, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x12, - 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x53, 0x65, 0x6e, 0x64, - 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x28, 0x01, 0x30, 0x01, - 0x12, 0x41, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x53, - 0x79, 0x6e, 0x63, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, - 0x54, 0x6f, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x12, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, - 0x65, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x49, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0c, - 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x0d, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x49, 0x6e, 0x76, - 0x6f, 0x69, 0x63, 0x65, 0x12, 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x61, 0x73, 0x68, 0x1a, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x11, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x0e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x30, 0x01, 0x12, 0x32, 0x0a, 0x0c, 0x44, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12, 0x13, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x1a, 0x0d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x12, - 0x47, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, - 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, - 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x6c, 0x50, 0x61, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0d, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x1a, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x61, - 0x70, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x61, 0x70, 0x68, 0x12, 0x47, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, - 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x43, 0x68, - 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x68, 0x61, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x64, - 0x67, 0x65, 0x12, 0x36, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x16, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x44, 0x0a, 0x0b, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, - 0x66, 0x6f, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x66, - 0x6f, 0x12, 0x35, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x70, 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x12, - 0x12, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x70, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x15, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x12, 0x20, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x72, 0x61, 0x70, 0x68, 0x54, - 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x1a, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x72, 0x61, 0x70, - 0x68, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x30, - 0x01, 0x12, 0x41, 0x0a, 0x0a, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, - 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x17, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x46, 0x65, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1a, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x11, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, - 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x13, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x12, 0x21, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x54, 0x0a, 0x17, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x12, 0x4e, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x68, 0x61, 0x6e, - 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, - 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x1a, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, - 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x56, 0x0a, 0x15, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x1f, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x42, - 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, - 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x17, 0x53, 0x75, - 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x20, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, - 0x6f, 0x74, 0x30, 0x01, 0x12, 0x47, 0x0a, 0x0c, 0x42, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x63, 0x61, - 0x72, 0x6f, 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x6b, - 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x61, 0x6b, 0x65, 0x4d, 0x61, 0x63, - 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, - 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x73, - 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, - 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x61, 0x63, 0x61, - 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x53, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, - 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x49, 0x44, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x18, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, - 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, - 0x4d, 0x61, 0x63, 0x50, 0x65, 0x72, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x61, 0x63, 0x50, - 0x65, 0x72, 0x6d, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x15, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x50, 0x43, 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, - 0x77, 0x61, 0x72, 0x65, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, - 0x4d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x50, 0x43, 0x4d, 0x69, - 0x64, 0x64, 0x6c, 0x65, 0x77, 0x61, 0x72, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x28, - 0x01, 0x30, 0x01, 0x12, 0x56, 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6c, 0x6e, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x17, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x30, 0x01, 0x12, 0x44, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x69, - 0x61, 0x73, 0x65, 0x73, 0x12, 0x19, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x69, 0x61, - 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x27, 0x5a, 0x25, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, - 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6c, 0x6e, 0x64, 0x2f, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_lightning_proto_rawDescOnce sync.Once - file_lightning_proto_rawDescData = file_lightning_proto_rawDesc -) - -func file_lightning_proto_rawDescGZIP() []byte { - file_lightning_proto_rawDescOnce.Do(func() { - file_lightning_proto_rawDescData = protoimpl.X.CompressGZIP(file_lightning_proto_rawDescData) - }) - return file_lightning_proto_rawDescData -} - -var file_lightning_proto_enumTypes = make([]protoimpl.EnumInfo, 20) -var file_lightning_proto_msgTypes = make([]protoimpl.MessageInfo, 212) -var file_lightning_proto_goTypes = []interface{}{ - (OutputScriptType)(0), // 0: lnrpc.OutputScriptType - (AddressType)(0), // 1: lnrpc.AddressType - (CommitmentType)(0), // 2: lnrpc.CommitmentType - (Initiator)(0), // 3: lnrpc.Initiator - (ResolutionType)(0), // 4: lnrpc.ResolutionType - (ResolutionOutcome)(0), // 5: lnrpc.ResolutionOutcome - (NodeMetricType)(0), // 6: lnrpc.NodeMetricType - (InvoiceHTLCState)(0), // 7: lnrpc.InvoiceHTLCState - (PaymentFailureReason)(0), // 8: lnrpc.PaymentFailureReason - (FeatureBit)(0), // 9: lnrpc.FeatureBit - (UpdateFailure)(0), // 10: lnrpc.UpdateFailure - (ChannelCloseSummary_ClosureType)(0), // 11: lnrpc.ChannelCloseSummary.ClosureType - (Peer_SyncType)(0), // 12: lnrpc.Peer.SyncType - (PeerEvent_EventType)(0), // 13: lnrpc.PeerEvent.EventType - (PendingChannelsResponse_ForceClosedChannel_AnchorState)(0), // 14: lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState - (ChannelEventUpdate_UpdateType)(0), // 15: lnrpc.ChannelEventUpdate.UpdateType - (Invoice_InvoiceState)(0), // 16: lnrpc.Invoice.InvoiceState - (Payment_PaymentStatus)(0), // 17: lnrpc.Payment.PaymentStatus - (HTLCAttempt_HTLCStatus)(0), // 18: lnrpc.HTLCAttempt.HTLCStatus - (Failure_FailureCode)(0), // 19: lnrpc.Failure.FailureCode - (*SubscribeCustomMessagesRequest)(nil), // 20: lnrpc.SubscribeCustomMessagesRequest - (*CustomMessage)(nil), // 21: lnrpc.CustomMessage - (*SendCustomMessageRequest)(nil), // 22: lnrpc.SendCustomMessageRequest - (*SendCustomMessageResponse)(nil), // 23: lnrpc.SendCustomMessageResponse - (*Utxo)(nil), // 24: lnrpc.Utxo - (*OutputDetail)(nil), // 25: lnrpc.OutputDetail - (*Transaction)(nil), // 26: lnrpc.Transaction - (*GetTransactionsRequest)(nil), // 27: lnrpc.GetTransactionsRequest - (*TransactionDetails)(nil), // 28: lnrpc.TransactionDetails - (*FeeLimit)(nil), // 29: lnrpc.FeeLimit - (*SendRequest)(nil), // 30: lnrpc.SendRequest - (*SendResponse)(nil), // 31: lnrpc.SendResponse - (*SendToRouteRequest)(nil), // 32: lnrpc.SendToRouteRequest - (*ChannelAcceptRequest)(nil), // 33: lnrpc.ChannelAcceptRequest - (*ChannelAcceptResponse)(nil), // 34: lnrpc.ChannelAcceptResponse - (*ChannelPoint)(nil), // 35: lnrpc.ChannelPoint - (*OutPoint)(nil), // 36: lnrpc.OutPoint - (*PreviousOutPoint)(nil), // 37: lnrpc.PreviousOutPoint - (*LightningAddress)(nil), // 38: lnrpc.LightningAddress - (*EstimateFeeRequest)(nil), // 39: lnrpc.EstimateFeeRequest - (*EstimateFeeResponse)(nil), // 40: lnrpc.EstimateFeeResponse - (*SendManyRequest)(nil), // 41: lnrpc.SendManyRequest - (*SendManyResponse)(nil), // 42: lnrpc.SendManyResponse - (*SendCoinsRequest)(nil), // 43: lnrpc.SendCoinsRequest - (*SendCoinsResponse)(nil), // 44: lnrpc.SendCoinsResponse - (*ListUnspentRequest)(nil), // 45: lnrpc.ListUnspentRequest - (*ListUnspentResponse)(nil), // 46: lnrpc.ListUnspentResponse - (*NewAddressRequest)(nil), // 47: lnrpc.NewAddressRequest - (*NewAddressResponse)(nil), // 48: lnrpc.NewAddressResponse - (*SignMessageRequest)(nil), // 49: lnrpc.SignMessageRequest - (*SignMessageResponse)(nil), // 50: lnrpc.SignMessageResponse - (*VerifyMessageRequest)(nil), // 51: lnrpc.VerifyMessageRequest - (*VerifyMessageResponse)(nil), // 52: lnrpc.VerifyMessageResponse - (*ConnectPeerRequest)(nil), // 53: lnrpc.ConnectPeerRequest - (*ConnectPeerResponse)(nil), // 54: lnrpc.ConnectPeerResponse - (*DisconnectPeerRequest)(nil), // 55: lnrpc.DisconnectPeerRequest - (*DisconnectPeerResponse)(nil), // 56: lnrpc.DisconnectPeerResponse - (*HTLC)(nil), // 57: lnrpc.HTLC - (*ChannelConstraints)(nil), // 58: lnrpc.ChannelConstraints - (*Channel)(nil), // 59: lnrpc.Channel - (*ListChannelsRequest)(nil), // 60: lnrpc.ListChannelsRequest - (*ListChannelsResponse)(nil), // 61: lnrpc.ListChannelsResponse - (*AliasMap)(nil), // 62: lnrpc.AliasMap - (*ListAliasesRequest)(nil), // 63: lnrpc.ListAliasesRequest - (*ListAliasesResponse)(nil), // 64: lnrpc.ListAliasesResponse - (*ChannelCloseSummary)(nil), // 65: lnrpc.ChannelCloseSummary - (*Resolution)(nil), // 66: lnrpc.Resolution - (*ClosedChannelsRequest)(nil), // 67: lnrpc.ClosedChannelsRequest - (*ClosedChannelsResponse)(nil), // 68: lnrpc.ClosedChannelsResponse - (*Peer)(nil), // 69: lnrpc.Peer - (*TimestampedError)(nil), // 70: lnrpc.TimestampedError - (*ListPeersRequest)(nil), // 71: lnrpc.ListPeersRequest - (*ListPeersResponse)(nil), // 72: lnrpc.ListPeersResponse - (*PeerEventSubscription)(nil), // 73: lnrpc.PeerEventSubscription - (*PeerEvent)(nil), // 74: lnrpc.PeerEvent - (*GetInfoRequest)(nil), // 75: lnrpc.GetInfoRequest - (*GetInfoResponse)(nil), // 76: lnrpc.GetInfoResponse - (*GetRecoveryInfoRequest)(nil), // 77: lnrpc.GetRecoveryInfoRequest - (*GetRecoveryInfoResponse)(nil), // 78: lnrpc.GetRecoveryInfoResponse - (*Chain)(nil), // 79: lnrpc.Chain - (*ConfirmationUpdate)(nil), // 80: lnrpc.ConfirmationUpdate - (*ChannelOpenUpdate)(nil), // 81: lnrpc.ChannelOpenUpdate - (*ChannelCloseUpdate)(nil), // 82: lnrpc.ChannelCloseUpdate - (*CloseChannelRequest)(nil), // 83: lnrpc.CloseChannelRequest - (*CloseStatusUpdate)(nil), // 84: lnrpc.CloseStatusUpdate - (*PendingUpdate)(nil), // 85: lnrpc.PendingUpdate - (*ReadyForPsbtFunding)(nil), // 86: lnrpc.ReadyForPsbtFunding - (*BatchOpenChannelRequest)(nil), // 87: lnrpc.BatchOpenChannelRequest - (*BatchOpenChannel)(nil), // 88: lnrpc.BatchOpenChannel - (*BatchOpenChannelResponse)(nil), // 89: lnrpc.BatchOpenChannelResponse - (*OpenChannelRequest)(nil), // 90: lnrpc.OpenChannelRequest - (*OpenStatusUpdate)(nil), // 91: lnrpc.OpenStatusUpdate - (*KeyLocator)(nil), // 92: lnrpc.KeyLocator - (*KeyDescriptor)(nil), // 93: lnrpc.KeyDescriptor - (*ChanPointShim)(nil), // 94: lnrpc.ChanPointShim - (*PsbtShim)(nil), // 95: lnrpc.PsbtShim - (*FundingShim)(nil), // 96: lnrpc.FundingShim - (*FundingShimCancel)(nil), // 97: lnrpc.FundingShimCancel - (*FundingPsbtVerify)(nil), // 98: lnrpc.FundingPsbtVerify - (*FundingPsbtFinalize)(nil), // 99: lnrpc.FundingPsbtFinalize - (*FundingTransitionMsg)(nil), // 100: lnrpc.FundingTransitionMsg - (*FundingStateStepResp)(nil), // 101: lnrpc.FundingStateStepResp - (*PendingHTLC)(nil), // 102: lnrpc.PendingHTLC - (*PendingChannelsRequest)(nil), // 103: lnrpc.PendingChannelsRequest - (*PendingChannelsResponse)(nil), // 104: lnrpc.PendingChannelsResponse - (*ChannelEventSubscription)(nil), // 105: lnrpc.ChannelEventSubscription - (*ChannelEventUpdate)(nil), // 106: lnrpc.ChannelEventUpdate - (*WalletAccountBalance)(nil), // 107: lnrpc.WalletAccountBalance - (*WalletBalanceRequest)(nil), // 108: lnrpc.WalletBalanceRequest - (*WalletBalanceResponse)(nil), // 109: lnrpc.WalletBalanceResponse - (*Amount)(nil), // 110: lnrpc.Amount - (*ChannelBalanceRequest)(nil), // 111: lnrpc.ChannelBalanceRequest - (*ChannelBalanceResponse)(nil), // 112: lnrpc.ChannelBalanceResponse - (*QueryRoutesRequest)(nil), // 113: lnrpc.QueryRoutesRequest - (*NodePair)(nil), // 114: lnrpc.NodePair - (*EdgeLocator)(nil), // 115: lnrpc.EdgeLocator - (*QueryRoutesResponse)(nil), // 116: lnrpc.QueryRoutesResponse - (*Hop)(nil), // 117: lnrpc.Hop - (*MPPRecord)(nil), // 118: lnrpc.MPPRecord - (*AMPRecord)(nil), // 119: lnrpc.AMPRecord - (*Route)(nil), // 120: lnrpc.Route - (*NodeInfoRequest)(nil), // 121: lnrpc.NodeInfoRequest - (*NodeInfo)(nil), // 122: lnrpc.NodeInfo - (*LightningNode)(nil), // 123: lnrpc.LightningNode - (*NodeAddress)(nil), // 124: lnrpc.NodeAddress - (*RoutingPolicy)(nil), // 125: lnrpc.RoutingPolicy - (*ChannelEdge)(nil), // 126: lnrpc.ChannelEdge - (*ChannelGraphRequest)(nil), // 127: lnrpc.ChannelGraphRequest - (*ChannelGraph)(nil), // 128: lnrpc.ChannelGraph - (*NodeMetricsRequest)(nil), // 129: lnrpc.NodeMetricsRequest - (*NodeMetricsResponse)(nil), // 130: lnrpc.NodeMetricsResponse - (*FloatMetric)(nil), // 131: lnrpc.FloatMetric - (*ChanInfoRequest)(nil), // 132: lnrpc.ChanInfoRequest - (*NetworkInfoRequest)(nil), // 133: lnrpc.NetworkInfoRequest - (*NetworkInfo)(nil), // 134: lnrpc.NetworkInfo - (*StopRequest)(nil), // 135: lnrpc.StopRequest - (*StopResponse)(nil), // 136: lnrpc.StopResponse - (*GraphTopologySubscription)(nil), // 137: lnrpc.GraphTopologySubscription - (*GraphTopologyUpdate)(nil), // 138: lnrpc.GraphTopologyUpdate - (*NodeUpdate)(nil), // 139: lnrpc.NodeUpdate - (*ChannelEdgeUpdate)(nil), // 140: lnrpc.ChannelEdgeUpdate - (*ClosedChannelUpdate)(nil), // 141: lnrpc.ClosedChannelUpdate - (*HopHint)(nil), // 142: lnrpc.HopHint - (*SetID)(nil), // 143: lnrpc.SetID - (*RouteHint)(nil), // 144: lnrpc.RouteHint - (*AMPInvoiceState)(nil), // 145: lnrpc.AMPInvoiceState - (*Invoice)(nil), // 146: lnrpc.Invoice - (*InvoiceHTLC)(nil), // 147: lnrpc.InvoiceHTLC - (*AMP)(nil), // 148: lnrpc.AMP - (*AddInvoiceResponse)(nil), // 149: lnrpc.AddInvoiceResponse - (*PaymentHash)(nil), // 150: lnrpc.PaymentHash - (*ListInvoiceRequest)(nil), // 151: lnrpc.ListInvoiceRequest - (*ListInvoiceResponse)(nil), // 152: lnrpc.ListInvoiceResponse - (*InvoiceSubscription)(nil), // 153: lnrpc.InvoiceSubscription - (*Payment)(nil), // 154: lnrpc.Payment - (*HTLCAttempt)(nil), // 155: lnrpc.HTLCAttempt - (*ListPaymentsRequest)(nil), // 156: lnrpc.ListPaymentsRequest - (*ListPaymentsResponse)(nil), // 157: lnrpc.ListPaymentsResponse - (*DeletePaymentRequest)(nil), // 158: lnrpc.DeletePaymentRequest - (*DeleteAllPaymentsRequest)(nil), // 159: lnrpc.DeleteAllPaymentsRequest - (*DeletePaymentResponse)(nil), // 160: lnrpc.DeletePaymentResponse - (*DeleteAllPaymentsResponse)(nil), // 161: lnrpc.DeleteAllPaymentsResponse - (*AbandonChannelRequest)(nil), // 162: lnrpc.AbandonChannelRequest - (*AbandonChannelResponse)(nil), // 163: lnrpc.AbandonChannelResponse - (*DebugLevelRequest)(nil), // 164: lnrpc.DebugLevelRequest - (*DebugLevelResponse)(nil), // 165: lnrpc.DebugLevelResponse - (*PayReqString)(nil), // 166: lnrpc.PayReqString - (*PayReq)(nil), // 167: lnrpc.PayReq - (*Feature)(nil), // 168: lnrpc.Feature - (*FeeReportRequest)(nil), // 169: lnrpc.FeeReportRequest - (*ChannelFeeReport)(nil), // 170: lnrpc.ChannelFeeReport - (*FeeReportResponse)(nil), // 171: lnrpc.FeeReportResponse - (*PolicyUpdateRequest)(nil), // 172: lnrpc.PolicyUpdateRequest - (*FailedUpdate)(nil), // 173: lnrpc.FailedUpdate - (*PolicyUpdateResponse)(nil), // 174: lnrpc.PolicyUpdateResponse - (*ForwardingHistoryRequest)(nil), // 175: lnrpc.ForwardingHistoryRequest - (*ForwardingEvent)(nil), // 176: lnrpc.ForwardingEvent - (*ForwardingHistoryResponse)(nil), // 177: lnrpc.ForwardingHistoryResponse - (*ExportChannelBackupRequest)(nil), // 178: lnrpc.ExportChannelBackupRequest - (*ChannelBackup)(nil), // 179: lnrpc.ChannelBackup - (*MultiChanBackup)(nil), // 180: lnrpc.MultiChanBackup - (*ChanBackupExportRequest)(nil), // 181: lnrpc.ChanBackupExportRequest - (*ChanBackupSnapshot)(nil), // 182: lnrpc.ChanBackupSnapshot - (*ChannelBackups)(nil), // 183: lnrpc.ChannelBackups - (*RestoreChanBackupRequest)(nil), // 184: lnrpc.RestoreChanBackupRequest - (*RestoreBackupResponse)(nil), // 185: lnrpc.RestoreBackupResponse - (*ChannelBackupSubscription)(nil), // 186: lnrpc.ChannelBackupSubscription - (*VerifyChanBackupResponse)(nil), // 187: lnrpc.VerifyChanBackupResponse - (*MacaroonPermission)(nil), // 188: lnrpc.MacaroonPermission - (*BakeMacaroonRequest)(nil), // 189: lnrpc.BakeMacaroonRequest - (*BakeMacaroonResponse)(nil), // 190: lnrpc.BakeMacaroonResponse - (*ListMacaroonIDsRequest)(nil), // 191: lnrpc.ListMacaroonIDsRequest - (*ListMacaroonIDsResponse)(nil), // 192: lnrpc.ListMacaroonIDsResponse - (*DeleteMacaroonIDRequest)(nil), // 193: lnrpc.DeleteMacaroonIDRequest - (*DeleteMacaroonIDResponse)(nil), // 194: lnrpc.DeleteMacaroonIDResponse - (*MacaroonPermissionList)(nil), // 195: lnrpc.MacaroonPermissionList - (*ListPermissionsRequest)(nil), // 196: lnrpc.ListPermissionsRequest - (*ListPermissionsResponse)(nil), // 197: lnrpc.ListPermissionsResponse - (*Failure)(nil), // 198: lnrpc.Failure - (*ChannelUpdate)(nil), // 199: lnrpc.ChannelUpdate - (*MacaroonId)(nil), // 200: lnrpc.MacaroonId - (*Op)(nil), // 201: lnrpc.Op - (*CheckMacPermRequest)(nil), // 202: lnrpc.CheckMacPermRequest - (*CheckMacPermResponse)(nil), // 203: lnrpc.CheckMacPermResponse - (*RPCMiddlewareRequest)(nil), // 204: lnrpc.RPCMiddlewareRequest - (*StreamAuth)(nil), // 205: lnrpc.StreamAuth - (*RPCMessage)(nil), // 206: lnrpc.RPCMessage - (*RPCMiddlewareResponse)(nil), // 207: lnrpc.RPCMiddlewareResponse - (*MiddlewareRegistration)(nil), // 208: lnrpc.MiddlewareRegistration - (*InterceptFeedback)(nil), // 209: lnrpc.InterceptFeedback - nil, // 210: lnrpc.SendRequest.DestCustomRecordsEntry - nil, // 211: lnrpc.EstimateFeeRequest.AddrToAmountEntry - nil, // 212: lnrpc.SendManyRequest.AddrToAmountEntry - nil, // 213: lnrpc.Peer.FeaturesEntry - nil, // 214: lnrpc.GetInfoResponse.FeaturesEntry - (*PendingChannelsResponse_PendingChannel)(nil), // 215: lnrpc.PendingChannelsResponse.PendingChannel - (*PendingChannelsResponse_PendingOpenChannel)(nil), // 216: lnrpc.PendingChannelsResponse.PendingOpenChannel - (*PendingChannelsResponse_WaitingCloseChannel)(nil), // 217: lnrpc.PendingChannelsResponse.WaitingCloseChannel - (*PendingChannelsResponse_Commitments)(nil), // 218: lnrpc.PendingChannelsResponse.Commitments - (*PendingChannelsResponse_ClosedChannel)(nil), // 219: lnrpc.PendingChannelsResponse.ClosedChannel - (*PendingChannelsResponse_ForceClosedChannel)(nil), // 220: lnrpc.PendingChannelsResponse.ForceClosedChannel - nil, // 221: lnrpc.WalletBalanceResponse.AccountBalanceEntry - nil, // 222: lnrpc.QueryRoutesRequest.DestCustomRecordsEntry - nil, // 223: lnrpc.Hop.CustomRecordsEntry - nil, // 224: lnrpc.LightningNode.FeaturesEntry - nil, // 225: lnrpc.NodeMetricsResponse.BetweennessCentralityEntry - nil, // 226: lnrpc.NodeUpdate.FeaturesEntry - nil, // 227: lnrpc.Invoice.FeaturesEntry - nil, // 228: lnrpc.Invoice.AmpInvoiceStateEntry - nil, // 229: lnrpc.InvoiceHTLC.CustomRecordsEntry - nil, // 230: lnrpc.PayReq.FeaturesEntry - nil, // 231: lnrpc.ListPermissionsResponse.MethodPermissionsEntry -} -var file_lightning_proto_depIdxs = []int32{ - 1, // 0: lnrpc.Utxo.address_type:type_name -> lnrpc.AddressType - 36, // 1: lnrpc.Utxo.outpoint:type_name -> lnrpc.OutPoint - 0, // 2: lnrpc.OutputDetail.output_type:type_name -> lnrpc.OutputScriptType - 25, // 3: lnrpc.Transaction.output_details:type_name -> lnrpc.OutputDetail - 37, // 4: lnrpc.Transaction.previous_outpoints:type_name -> lnrpc.PreviousOutPoint - 26, // 5: lnrpc.TransactionDetails.transactions:type_name -> lnrpc.Transaction - 29, // 6: lnrpc.SendRequest.fee_limit:type_name -> lnrpc.FeeLimit - 210, // 7: lnrpc.SendRequest.dest_custom_records:type_name -> lnrpc.SendRequest.DestCustomRecordsEntry - 9, // 8: lnrpc.SendRequest.dest_features:type_name -> lnrpc.FeatureBit - 120, // 9: lnrpc.SendResponse.payment_route:type_name -> lnrpc.Route - 120, // 10: lnrpc.SendToRouteRequest.route:type_name -> lnrpc.Route - 2, // 11: lnrpc.ChannelAcceptRequest.commitment_type:type_name -> lnrpc.CommitmentType - 211, // 12: lnrpc.EstimateFeeRequest.AddrToAmount:type_name -> lnrpc.EstimateFeeRequest.AddrToAmountEntry - 212, // 13: lnrpc.SendManyRequest.AddrToAmount:type_name -> lnrpc.SendManyRequest.AddrToAmountEntry - 24, // 14: lnrpc.ListUnspentResponse.utxos:type_name -> lnrpc.Utxo - 1, // 15: lnrpc.NewAddressRequest.type:type_name -> lnrpc.AddressType - 38, // 16: lnrpc.ConnectPeerRequest.addr:type_name -> lnrpc.LightningAddress - 57, // 17: lnrpc.Channel.pending_htlcs:type_name -> lnrpc.HTLC - 2, // 18: lnrpc.Channel.commitment_type:type_name -> lnrpc.CommitmentType - 58, // 19: lnrpc.Channel.local_constraints:type_name -> lnrpc.ChannelConstraints - 58, // 20: lnrpc.Channel.remote_constraints:type_name -> lnrpc.ChannelConstraints - 59, // 21: lnrpc.ListChannelsResponse.channels:type_name -> lnrpc.Channel - 62, // 22: lnrpc.ListAliasesResponse.alias_maps:type_name -> lnrpc.AliasMap - 11, // 23: lnrpc.ChannelCloseSummary.close_type:type_name -> lnrpc.ChannelCloseSummary.ClosureType - 3, // 24: lnrpc.ChannelCloseSummary.open_initiator:type_name -> lnrpc.Initiator - 3, // 25: lnrpc.ChannelCloseSummary.close_initiator:type_name -> lnrpc.Initiator - 66, // 26: lnrpc.ChannelCloseSummary.resolutions:type_name -> lnrpc.Resolution - 4, // 27: lnrpc.Resolution.resolution_type:type_name -> lnrpc.ResolutionType - 5, // 28: lnrpc.Resolution.outcome:type_name -> lnrpc.ResolutionOutcome - 36, // 29: lnrpc.Resolution.outpoint:type_name -> lnrpc.OutPoint - 65, // 30: lnrpc.ClosedChannelsResponse.channels:type_name -> lnrpc.ChannelCloseSummary - 12, // 31: lnrpc.Peer.sync_type:type_name -> lnrpc.Peer.SyncType - 213, // 32: lnrpc.Peer.features:type_name -> lnrpc.Peer.FeaturesEntry - 70, // 33: lnrpc.Peer.errors:type_name -> lnrpc.TimestampedError - 69, // 34: lnrpc.ListPeersResponse.peers:type_name -> lnrpc.Peer - 13, // 35: lnrpc.PeerEvent.type:type_name -> lnrpc.PeerEvent.EventType - 79, // 36: lnrpc.GetInfoResponse.chains:type_name -> lnrpc.Chain - 214, // 37: lnrpc.GetInfoResponse.features:type_name -> lnrpc.GetInfoResponse.FeaturesEntry - 35, // 38: lnrpc.ChannelOpenUpdate.channel_point:type_name -> lnrpc.ChannelPoint - 35, // 39: lnrpc.CloseChannelRequest.channel_point:type_name -> lnrpc.ChannelPoint - 85, // 40: lnrpc.CloseStatusUpdate.close_pending:type_name -> lnrpc.PendingUpdate - 82, // 41: lnrpc.CloseStatusUpdate.chan_close:type_name -> lnrpc.ChannelCloseUpdate - 88, // 42: lnrpc.BatchOpenChannelRequest.channels:type_name -> lnrpc.BatchOpenChannel - 2, // 43: lnrpc.BatchOpenChannel.commitment_type:type_name -> lnrpc.CommitmentType - 85, // 44: lnrpc.BatchOpenChannelResponse.pending_channels:type_name -> lnrpc.PendingUpdate - 96, // 45: lnrpc.OpenChannelRequest.funding_shim:type_name -> lnrpc.FundingShim - 2, // 46: lnrpc.OpenChannelRequest.commitment_type:type_name -> lnrpc.CommitmentType - 85, // 47: lnrpc.OpenStatusUpdate.chan_pending:type_name -> lnrpc.PendingUpdate - 81, // 48: lnrpc.OpenStatusUpdate.chan_open:type_name -> lnrpc.ChannelOpenUpdate - 86, // 49: lnrpc.OpenStatusUpdate.psbt_fund:type_name -> lnrpc.ReadyForPsbtFunding - 92, // 50: lnrpc.KeyDescriptor.key_loc:type_name -> lnrpc.KeyLocator - 35, // 51: lnrpc.ChanPointShim.chan_point:type_name -> lnrpc.ChannelPoint - 93, // 52: lnrpc.ChanPointShim.local_key:type_name -> lnrpc.KeyDescriptor - 94, // 53: lnrpc.FundingShim.chan_point_shim:type_name -> lnrpc.ChanPointShim - 95, // 54: lnrpc.FundingShim.psbt_shim:type_name -> lnrpc.PsbtShim - 96, // 55: lnrpc.FundingTransitionMsg.shim_register:type_name -> lnrpc.FundingShim - 97, // 56: lnrpc.FundingTransitionMsg.shim_cancel:type_name -> lnrpc.FundingShimCancel - 98, // 57: lnrpc.FundingTransitionMsg.psbt_verify:type_name -> lnrpc.FundingPsbtVerify - 99, // 58: lnrpc.FundingTransitionMsg.psbt_finalize:type_name -> lnrpc.FundingPsbtFinalize - 216, // 59: lnrpc.PendingChannelsResponse.pending_open_channels:type_name -> lnrpc.PendingChannelsResponse.PendingOpenChannel - 219, // 60: lnrpc.PendingChannelsResponse.pending_closing_channels:type_name -> lnrpc.PendingChannelsResponse.ClosedChannel - 220, // 61: lnrpc.PendingChannelsResponse.pending_force_closing_channels:type_name -> lnrpc.PendingChannelsResponse.ForceClosedChannel - 217, // 62: lnrpc.PendingChannelsResponse.waiting_close_channels:type_name -> lnrpc.PendingChannelsResponse.WaitingCloseChannel - 59, // 63: lnrpc.ChannelEventUpdate.open_channel:type_name -> lnrpc.Channel - 65, // 64: lnrpc.ChannelEventUpdate.closed_channel:type_name -> lnrpc.ChannelCloseSummary - 35, // 65: lnrpc.ChannelEventUpdate.active_channel:type_name -> lnrpc.ChannelPoint - 35, // 66: lnrpc.ChannelEventUpdate.inactive_channel:type_name -> lnrpc.ChannelPoint - 85, // 67: lnrpc.ChannelEventUpdate.pending_open_channel:type_name -> lnrpc.PendingUpdate - 35, // 68: lnrpc.ChannelEventUpdate.fully_resolved_channel:type_name -> lnrpc.ChannelPoint - 15, // 69: lnrpc.ChannelEventUpdate.type:type_name -> lnrpc.ChannelEventUpdate.UpdateType - 221, // 70: lnrpc.WalletBalanceResponse.account_balance:type_name -> lnrpc.WalletBalanceResponse.AccountBalanceEntry - 110, // 71: lnrpc.ChannelBalanceResponse.local_balance:type_name -> lnrpc.Amount - 110, // 72: lnrpc.ChannelBalanceResponse.remote_balance:type_name -> lnrpc.Amount - 110, // 73: lnrpc.ChannelBalanceResponse.unsettled_local_balance:type_name -> lnrpc.Amount - 110, // 74: lnrpc.ChannelBalanceResponse.unsettled_remote_balance:type_name -> lnrpc.Amount - 110, // 75: lnrpc.ChannelBalanceResponse.pending_open_local_balance:type_name -> lnrpc.Amount - 110, // 76: lnrpc.ChannelBalanceResponse.pending_open_remote_balance:type_name -> lnrpc.Amount - 29, // 77: lnrpc.QueryRoutesRequest.fee_limit:type_name -> lnrpc.FeeLimit - 115, // 78: lnrpc.QueryRoutesRequest.ignored_edges:type_name -> lnrpc.EdgeLocator - 114, // 79: lnrpc.QueryRoutesRequest.ignored_pairs:type_name -> lnrpc.NodePair - 222, // 80: lnrpc.QueryRoutesRequest.dest_custom_records:type_name -> lnrpc.QueryRoutesRequest.DestCustomRecordsEntry - 144, // 81: lnrpc.QueryRoutesRequest.route_hints:type_name -> lnrpc.RouteHint - 9, // 82: lnrpc.QueryRoutesRequest.dest_features:type_name -> lnrpc.FeatureBit - 120, // 83: lnrpc.QueryRoutesResponse.routes:type_name -> lnrpc.Route - 118, // 84: lnrpc.Hop.mpp_record:type_name -> lnrpc.MPPRecord - 119, // 85: lnrpc.Hop.amp_record:type_name -> lnrpc.AMPRecord - 223, // 86: lnrpc.Hop.custom_records:type_name -> lnrpc.Hop.CustomRecordsEntry - 117, // 87: lnrpc.Route.hops:type_name -> lnrpc.Hop - 123, // 88: lnrpc.NodeInfo.node:type_name -> lnrpc.LightningNode - 126, // 89: lnrpc.NodeInfo.channels:type_name -> lnrpc.ChannelEdge - 124, // 90: lnrpc.LightningNode.addresses:type_name -> lnrpc.NodeAddress - 224, // 91: lnrpc.LightningNode.features:type_name -> lnrpc.LightningNode.FeaturesEntry - 125, // 92: lnrpc.ChannelEdge.node1_policy:type_name -> lnrpc.RoutingPolicy - 125, // 93: lnrpc.ChannelEdge.node2_policy:type_name -> lnrpc.RoutingPolicy - 123, // 94: lnrpc.ChannelGraph.nodes:type_name -> lnrpc.LightningNode - 126, // 95: lnrpc.ChannelGraph.edges:type_name -> lnrpc.ChannelEdge - 6, // 96: lnrpc.NodeMetricsRequest.types:type_name -> lnrpc.NodeMetricType - 225, // 97: lnrpc.NodeMetricsResponse.betweenness_centrality:type_name -> lnrpc.NodeMetricsResponse.BetweennessCentralityEntry - 139, // 98: lnrpc.GraphTopologyUpdate.node_updates:type_name -> lnrpc.NodeUpdate - 140, // 99: lnrpc.GraphTopologyUpdate.channel_updates:type_name -> lnrpc.ChannelEdgeUpdate - 141, // 100: lnrpc.GraphTopologyUpdate.closed_chans:type_name -> lnrpc.ClosedChannelUpdate - 124, // 101: lnrpc.NodeUpdate.node_addresses:type_name -> lnrpc.NodeAddress - 226, // 102: lnrpc.NodeUpdate.features:type_name -> lnrpc.NodeUpdate.FeaturesEntry - 35, // 103: lnrpc.ChannelEdgeUpdate.chan_point:type_name -> lnrpc.ChannelPoint - 125, // 104: lnrpc.ChannelEdgeUpdate.routing_policy:type_name -> lnrpc.RoutingPolicy - 35, // 105: lnrpc.ClosedChannelUpdate.chan_point:type_name -> lnrpc.ChannelPoint - 142, // 106: lnrpc.RouteHint.hop_hints:type_name -> lnrpc.HopHint - 7, // 107: lnrpc.AMPInvoiceState.state:type_name -> lnrpc.InvoiceHTLCState - 144, // 108: lnrpc.Invoice.route_hints:type_name -> lnrpc.RouteHint - 16, // 109: lnrpc.Invoice.state:type_name -> lnrpc.Invoice.InvoiceState - 147, // 110: lnrpc.Invoice.htlcs:type_name -> lnrpc.InvoiceHTLC - 227, // 111: lnrpc.Invoice.features:type_name -> lnrpc.Invoice.FeaturesEntry - 228, // 112: lnrpc.Invoice.amp_invoice_state:type_name -> lnrpc.Invoice.AmpInvoiceStateEntry - 7, // 113: lnrpc.InvoiceHTLC.state:type_name -> lnrpc.InvoiceHTLCState - 229, // 114: lnrpc.InvoiceHTLC.custom_records:type_name -> lnrpc.InvoiceHTLC.CustomRecordsEntry - 148, // 115: lnrpc.InvoiceHTLC.amp:type_name -> lnrpc.AMP - 146, // 116: lnrpc.ListInvoiceResponse.invoices:type_name -> lnrpc.Invoice - 17, // 117: lnrpc.Payment.status:type_name -> lnrpc.Payment.PaymentStatus - 155, // 118: lnrpc.Payment.htlcs:type_name -> lnrpc.HTLCAttempt - 8, // 119: lnrpc.Payment.failure_reason:type_name -> lnrpc.PaymentFailureReason - 18, // 120: lnrpc.HTLCAttempt.status:type_name -> lnrpc.HTLCAttempt.HTLCStatus - 120, // 121: lnrpc.HTLCAttempt.route:type_name -> lnrpc.Route - 198, // 122: lnrpc.HTLCAttempt.failure:type_name -> lnrpc.Failure - 154, // 123: lnrpc.ListPaymentsResponse.payments:type_name -> lnrpc.Payment - 35, // 124: lnrpc.AbandonChannelRequest.channel_point:type_name -> lnrpc.ChannelPoint - 144, // 125: lnrpc.PayReq.route_hints:type_name -> lnrpc.RouteHint - 230, // 126: lnrpc.PayReq.features:type_name -> lnrpc.PayReq.FeaturesEntry - 170, // 127: lnrpc.FeeReportResponse.channel_fees:type_name -> lnrpc.ChannelFeeReport - 35, // 128: lnrpc.PolicyUpdateRequest.chan_point:type_name -> lnrpc.ChannelPoint - 36, // 129: lnrpc.FailedUpdate.outpoint:type_name -> lnrpc.OutPoint - 10, // 130: lnrpc.FailedUpdate.reason:type_name -> lnrpc.UpdateFailure - 173, // 131: lnrpc.PolicyUpdateResponse.failed_updates:type_name -> lnrpc.FailedUpdate - 176, // 132: lnrpc.ForwardingHistoryResponse.forwarding_events:type_name -> lnrpc.ForwardingEvent - 35, // 133: lnrpc.ExportChannelBackupRequest.chan_point:type_name -> lnrpc.ChannelPoint - 35, // 134: lnrpc.ChannelBackup.chan_point:type_name -> lnrpc.ChannelPoint - 35, // 135: lnrpc.MultiChanBackup.chan_points:type_name -> lnrpc.ChannelPoint - 183, // 136: lnrpc.ChanBackupSnapshot.single_chan_backups:type_name -> lnrpc.ChannelBackups - 180, // 137: lnrpc.ChanBackupSnapshot.multi_chan_backup:type_name -> lnrpc.MultiChanBackup - 179, // 138: lnrpc.ChannelBackups.chan_backups:type_name -> lnrpc.ChannelBackup - 183, // 139: lnrpc.RestoreChanBackupRequest.chan_backups:type_name -> lnrpc.ChannelBackups - 188, // 140: lnrpc.BakeMacaroonRequest.permissions:type_name -> lnrpc.MacaroonPermission - 188, // 141: lnrpc.MacaroonPermissionList.permissions:type_name -> lnrpc.MacaroonPermission - 231, // 142: lnrpc.ListPermissionsResponse.method_permissions:type_name -> lnrpc.ListPermissionsResponse.MethodPermissionsEntry - 19, // 143: lnrpc.Failure.code:type_name -> lnrpc.Failure.FailureCode - 199, // 144: lnrpc.Failure.channel_update:type_name -> lnrpc.ChannelUpdate - 201, // 145: lnrpc.MacaroonId.ops:type_name -> lnrpc.Op - 188, // 146: lnrpc.CheckMacPermRequest.permissions:type_name -> lnrpc.MacaroonPermission - 205, // 147: lnrpc.RPCMiddlewareRequest.stream_auth:type_name -> lnrpc.StreamAuth - 206, // 148: lnrpc.RPCMiddlewareRequest.request:type_name -> lnrpc.RPCMessage - 206, // 149: lnrpc.RPCMiddlewareRequest.response:type_name -> lnrpc.RPCMessage - 208, // 150: lnrpc.RPCMiddlewareResponse.register:type_name -> lnrpc.MiddlewareRegistration - 209, // 151: lnrpc.RPCMiddlewareResponse.feedback:type_name -> lnrpc.InterceptFeedback - 168, // 152: lnrpc.Peer.FeaturesEntry.value:type_name -> lnrpc.Feature - 168, // 153: lnrpc.GetInfoResponse.FeaturesEntry.value:type_name -> lnrpc.Feature - 3, // 154: lnrpc.PendingChannelsResponse.PendingChannel.initiator:type_name -> lnrpc.Initiator - 2, // 155: lnrpc.PendingChannelsResponse.PendingChannel.commitment_type:type_name -> lnrpc.CommitmentType - 215, // 156: lnrpc.PendingChannelsResponse.PendingOpenChannel.channel:type_name -> lnrpc.PendingChannelsResponse.PendingChannel - 215, // 157: lnrpc.PendingChannelsResponse.WaitingCloseChannel.channel:type_name -> lnrpc.PendingChannelsResponse.PendingChannel - 218, // 158: lnrpc.PendingChannelsResponse.WaitingCloseChannel.commitments:type_name -> lnrpc.PendingChannelsResponse.Commitments - 215, // 159: lnrpc.PendingChannelsResponse.ClosedChannel.channel:type_name -> lnrpc.PendingChannelsResponse.PendingChannel - 215, // 160: lnrpc.PendingChannelsResponse.ForceClosedChannel.channel:type_name -> lnrpc.PendingChannelsResponse.PendingChannel - 102, // 161: lnrpc.PendingChannelsResponse.ForceClosedChannel.pending_htlcs:type_name -> lnrpc.PendingHTLC - 14, // 162: lnrpc.PendingChannelsResponse.ForceClosedChannel.anchor:type_name -> lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState - 107, // 163: lnrpc.WalletBalanceResponse.AccountBalanceEntry.value:type_name -> lnrpc.WalletAccountBalance - 168, // 164: lnrpc.LightningNode.FeaturesEntry.value:type_name -> lnrpc.Feature - 131, // 165: lnrpc.NodeMetricsResponse.BetweennessCentralityEntry.value:type_name -> lnrpc.FloatMetric - 168, // 166: lnrpc.NodeUpdate.FeaturesEntry.value:type_name -> lnrpc.Feature - 168, // 167: lnrpc.Invoice.FeaturesEntry.value:type_name -> lnrpc.Feature - 145, // 168: lnrpc.Invoice.AmpInvoiceStateEntry.value:type_name -> lnrpc.AMPInvoiceState - 168, // 169: lnrpc.PayReq.FeaturesEntry.value:type_name -> lnrpc.Feature - 195, // 170: lnrpc.ListPermissionsResponse.MethodPermissionsEntry.value:type_name -> lnrpc.MacaroonPermissionList - 108, // 171: lnrpc.Lightning.WalletBalance:input_type -> lnrpc.WalletBalanceRequest - 111, // 172: lnrpc.Lightning.ChannelBalance:input_type -> lnrpc.ChannelBalanceRequest - 27, // 173: lnrpc.Lightning.GetTransactions:input_type -> lnrpc.GetTransactionsRequest - 39, // 174: lnrpc.Lightning.EstimateFee:input_type -> lnrpc.EstimateFeeRequest - 43, // 175: lnrpc.Lightning.SendCoins:input_type -> lnrpc.SendCoinsRequest - 45, // 176: lnrpc.Lightning.ListUnspent:input_type -> lnrpc.ListUnspentRequest - 27, // 177: lnrpc.Lightning.SubscribeTransactions:input_type -> lnrpc.GetTransactionsRequest - 41, // 178: lnrpc.Lightning.SendMany:input_type -> lnrpc.SendManyRequest - 47, // 179: lnrpc.Lightning.NewAddress:input_type -> lnrpc.NewAddressRequest - 49, // 180: lnrpc.Lightning.SignMessage:input_type -> lnrpc.SignMessageRequest - 51, // 181: lnrpc.Lightning.VerifyMessage:input_type -> lnrpc.VerifyMessageRequest - 53, // 182: lnrpc.Lightning.ConnectPeer:input_type -> lnrpc.ConnectPeerRequest - 55, // 183: lnrpc.Lightning.DisconnectPeer:input_type -> lnrpc.DisconnectPeerRequest - 71, // 184: lnrpc.Lightning.ListPeers:input_type -> lnrpc.ListPeersRequest - 73, // 185: lnrpc.Lightning.SubscribePeerEvents:input_type -> lnrpc.PeerEventSubscription - 75, // 186: lnrpc.Lightning.GetInfo:input_type -> lnrpc.GetInfoRequest - 77, // 187: lnrpc.Lightning.GetRecoveryInfo:input_type -> lnrpc.GetRecoveryInfoRequest - 103, // 188: lnrpc.Lightning.PendingChannels:input_type -> lnrpc.PendingChannelsRequest - 60, // 189: lnrpc.Lightning.ListChannels:input_type -> lnrpc.ListChannelsRequest - 105, // 190: lnrpc.Lightning.SubscribeChannelEvents:input_type -> lnrpc.ChannelEventSubscription - 67, // 191: lnrpc.Lightning.ClosedChannels:input_type -> lnrpc.ClosedChannelsRequest - 90, // 192: lnrpc.Lightning.OpenChannelSync:input_type -> lnrpc.OpenChannelRequest - 90, // 193: lnrpc.Lightning.OpenChannel:input_type -> lnrpc.OpenChannelRequest - 87, // 194: lnrpc.Lightning.BatchOpenChannel:input_type -> lnrpc.BatchOpenChannelRequest - 100, // 195: lnrpc.Lightning.FundingStateStep:input_type -> lnrpc.FundingTransitionMsg - 34, // 196: lnrpc.Lightning.ChannelAcceptor:input_type -> lnrpc.ChannelAcceptResponse - 83, // 197: lnrpc.Lightning.CloseChannel:input_type -> lnrpc.CloseChannelRequest - 162, // 198: lnrpc.Lightning.AbandonChannel:input_type -> lnrpc.AbandonChannelRequest - 30, // 199: lnrpc.Lightning.SendPayment:input_type -> lnrpc.SendRequest - 30, // 200: lnrpc.Lightning.SendPaymentSync:input_type -> lnrpc.SendRequest - 32, // 201: lnrpc.Lightning.SendToRoute:input_type -> lnrpc.SendToRouteRequest - 32, // 202: lnrpc.Lightning.SendToRouteSync:input_type -> lnrpc.SendToRouteRequest - 146, // 203: lnrpc.Lightning.AddInvoice:input_type -> lnrpc.Invoice - 151, // 204: lnrpc.Lightning.ListInvoices:input_type -> lnrpc.ListInvoiceRequest - 150, // 205: lnrpc.Lightning.LookupInvoice:input_type -> lnrpc.PaymentHash - 153, // 206: lnrpc.Lightning.SubscribeInvoices:input_type -> lnrpc.InvoiceSubscription - 166, // 207: lnrpc.Lightning.DecodePayReq:input_type -> lnrpc.PayReqString - 156, // 208: lnrpc.Lightning.ListPayments:input_type -> lnrpc.ListPaymentsRequest - 158, // 209: lnrpc.Lightning.DeletePayment:input_type -> lnrpc.DeletePaymentRequest - 159, // 210: lnrpc.Lightning.DeleteAllPayments:input_type -> lnrpc.DeleteAllPaymentsRequest - 127, // 211: lnrpc.Lightning.DescribeGraph:input_type -> lnrpc.ChannelGraphRequest - 129, // 212: lnrpc.Lightning.GetNodeMetrics:input_type -> lnrpc.NodeMetricsRequest - 132, // 213: lnrpc.Lightning.GetChanInfo:input_type -> lnrpc.ChanInfoRequest - 121, // 214: lnrpc.Lightning.GetNodeInfo:input_type -> lnrpc.NodeInfoRequest - 113, // 215: lnrpc.Lightning.QueryRoutes:input_type -> lnrpc.QueryRoutesRequest - 133, // 216: lnrpc.Lightning.GetNetworkInfo:input_type -> lnrpc.NetworkInfoRequest - 135, // 217: lnrpc.Lightning.StopDaemon:input_type -> lnrpc.StopRequest - 137, // 218: lnrpc.Lightning.SubscribeChannelGraph:input_type -> lnrpc.GraphTopologySubscription - 164, // 219: lnrpc.Lightning.DebugLevel:input_type -> lnrpc.DebugLevelRequest - 169, // 220: lnrpc.Lightning.FeeReport:input_type -> lnrpc.FeeReportRequest - 172, // 221: lnrpc.Lightning.UpdateChannelPolicy:input_type -> lnrpc.PolicyUpdateRequest - 175, // 222: lnrpc.Lightning.ForwardingHistory:input_type -> lnrpc.ForwardingHistoryRequest - 178, // 223: lnrpc.Lightning.ExportChannelBackup:input_type -> lnrpc.ExportChannelBackupRequest - 181, // 224: lnrpc.Lightning.ExportAllChannelBackups:input_type -> lnrpc.ChanBackupExportRequest - 182, // 225: lnrpc.Lightning.VerifyChanBackup:input_type -> lnrpc.ChanBackupSnapshot - 184, // 226: lnrpc.Lightning.RestoreChannelBackups:input_type -> lnrpc.RestoreChanBackupRequest - 186, // 227: lnrpc.Lightning.SubscribeChannelBackups:input_type -> lnrpc.ChannelBackupSubscription - 189, // 228: lnrpc.Lightning.BakeMacaroon:input_type -> lnrpc.BakeMacaroonRequest - 191, // 229: lnrpc.Lightning.ListMacaroonIDs:input_type -> lnrpc.ListMacaroonIDsRequest - 193, // 230: lnrpc.Lightning.DeleteMacaroonID:input_type -> lnrpc.DeleteMacaroonIDRequest - 196, // 231: lnrpc.Lightning.ListPermissions:input_type -> lnrpc.ListPermissionsRequest - 202, // 232: lnrpc.Lightning.CheckMacaroonPermissions:input_type -> lnrpc.CheckMacPermRequest - 207, // 233: lnrpc.Lightning.RegisterRPCMiddleware:input_type -> lnrpc.RPCMiddlewareResponse - 22, // 234: lnrpc.Lightning.SendCustomMessage:input_type -> lnrpc.SendCustomMessageRequest - 20, // 235: lnrpc.Lightning.SubscribeCustomMessages:input_type -> lnrpc.SubscribeCustomMessagesRequest - 63, // 236: lnrpc.Lightning.ListAliases:input_type -> lnrpc.ListAliasesRequest - 109, // 237: lnrpc.Lightning.WalletBalance:output_type -> lnrpc.WalletBalanceResponse - 112, // 238: lnrpc.Lightning.ChannelBalance:output_type -> lnrpc.ChannelBalanceResponse - 28, // 239: lnrpc.Lightning.GetTransactions:output_type -> lnrpc.TransactionDetails - 40, // 240: lnrpc.Lightning.EstimateFee:output_type -> lnrpc.EstimateFeeResponse - 44, // 241: lnrpc.Lightning.SendCoins:output_type -> lnrpc.SendCoinsResponse - 46, // 242: lnrpc.Lightning.ListUnspent:output_type -> lnrpc.ListUnspentResponse - 26, // 243: lnrpc.Lightning.SubscribeTransactions:output_type -> lnrpc.Transaction - 42, // 244: lnrpc.Lightning.SendMany:output_type -> lnrpc.SendManyResponse - 48, // 245: lnrpc.Lightning.NewAddress:output_type -> lnrpc.NewAddressResponse - 50, // 246: lnrpc.Lightning.SignMessage:output_type -> lnrpc.SignMessageResponse - 52, // 247: lnrpc.Lightning.VerifyMessage:output_type -> lnrpc.VerifyMessageResponse - 54, // 248: lnrpc.Lightning.ConnectPeer:output_type -> lnrpc.ConnectPeerResponse - 56, // 249: lnrpc.Lightning.DisconnectPeer:output_type -> lnrpc.DisconnectPeerResponse - 72, // 250: lnrpc.Lightning.ListPeers:output_type -> lnrpc.ListPeersResponse - 74, // 251: lnrpc.Lightning.SubscribePeerEvents:output_type -> lnrpc.PeerEvent - 76, // 252: lnrpc.Lightning.GetInfo:output_type -> lnrpc.GetInfoResponse - 78, // 253: lnrpc.Lightning.GetRecoveryInfo:output_type -> lnrpc.GetRecoveryInfoResponse - 104, // 254: lnrpc.Lightning.PendingChannels:output_type -> lnrpc.PendingChannelsResponse - 61, // 255: lnrpc.Lightning.ListChannels:output_type -> lnrpc.ListChannelsResponse - 106, // 256: lnrpc.Lightning.SubscribeChannelEvents:output_type -> lnrpc.ChannelEventUpdate - 68, // 257: lnrpc.Lightning.ClosedChannels:output_type -> lnrpc.ClosedChannelsResponse - 35, // 258: lnrpc.Lightning.OpenChannelSync:output_type -> lnrpc.ChannelPoint - 91, // 259: lnrpc.Lightning.OpenChannel:output_type -> lnrpc.OpenStatusUpdate - 89, // 260: lnrpc.Lightning.BatchOpenChannel:output_type -> lnrpc.BatchOpenChannelResponse - 101, // 261: lnrpc.Lightning.FundingStateStep:output_type -> lnrpc.FundingStateStepResp - 33, // 262: lnrpc.Lightning.ChannelAcceptor:output_type -> lnrpc.ChannelAcceptRequest - 84, // 263: lnrpc.Lightning.CloseChannel:output_type -> lnrpc.CloseStatusUpdate - 163, // 264: lnrpc.Lightning.AbandonChannel:output_type -> lnrpc.AbandonChannelResponse - 31, // 265: lnrpc.Lightning.SendPayment:output_type -> lnrpc.SendResponse - 31, // 266: lnrpc.Lightning.SendPaymentSync:output_type -> lnrpc.SendResponse - 31, // 267: lnrpc.Lightning.SendToRoute:output_type -> lnrpc.SendResponse - 31, // 268: lnrpc.Lightning.SendToRouteSync:output_type -> lnrpc.SendResponse - 149, // 269: lnrpc.Lightning.AddInvoice:output_type -> lnrpc.AddInvoiceResponse - 152, // 270: lnrpc.Lightning.ListInvoices:output_type -> lnrpc.ListInvoiceResponse - 146, // 271: lnrpc.Lightning.LookupInvoice:output_type -> lnrpc.Invoice - 146, // 272: lnrpc.Lightning.SubscribeInvoices:output_type -> lnrpc.Invoice - 167, // 273: lnrpc.Lightning.DecodePayReq:output_type -> lnrpc.PayReq - 157, // 274: lnrpc.Lightning.ListPayments:output_type -> lnrpc.ListPaymentsResponse - 160, // 275: lnrpc.Lightning.DeletePayment:output_type -> lnrpc.DeletePaymentResponse - 161, // 276: lnrpc.Lightning.DeleteAllPayments:output_type -> lnrpc.DeleteAllPaymentsResponse - 128, // 277: lnrpc.Lightning.DescribeGraph:output_type -> lnrpc.ChannelGraph - 130, // 278: lnrpc.Lightning.GetNodeMetrics:output_type -> lnrpc.NodeMetricsResponse - 126, // 279: lnrpc.Lightning.GetChanInfo:output_type -> lnrpc.ChannelEdge - 122, // 280: lnrpc.Lightning.GetNodeInfo:output_type -> lnrpc.NodeInfo - 116, // 281: lnrpc.Lightning.QueryRoutes:output_type -> lnrpc.QueryRoutesResponse - 134, // 282: lnrpc.Lightning.GetNetworkInfo:output_type -> lnrpc.NetworkInfo - 136, // 283: lnrpc.Lightning.StopDaemon:output_type -> lnrpc.StopResponse - 138, // 284: lnrpc.Lightning.SubscribeChannelGraph:output_type -> lnrpc.GraphTopologyUpdate - 165, // 285: lnrpc.Lightning.DebugLevel:output_type -> lnrpc.DebugLevelResponse - 171, // 286: lnrpc.Lightning.FeeReport:output_type -> lnrpc.FeeReportResponse - 174, // 287: lnrpc.Lightning.UpdateChannelPolicy:output_type -> lnrpc.PolicyUpdateResponse - 177, // 288: lnrpc.Lightning.ForwardingHistory:output_type -> lnrpc.ForwardingHistoryResponse - 179, // 289: lnrpc.Lightning.ExportChannelBackup:output_type -> lnrpc.ChannelBackup - 182, // 290: lnrpc.Lightning.ExportAllChannelBackups:output_type -> lnrpc.ChanBackupSnapshot - 187, // 291: lnrpc.Lightning.VerifyChanBackup:output_type -> lnrpc.VerifyChanBackupResponse - 185, // 292: lnrpc.Lightning.RestoreChannelBackups:output_type -> lnrpc.RestoreBackupResponse - 182, // 293: lnrpc.Lightning.SubscribeChannelBackups:output_type -> lnrpc.ChanBackupSnapshot - 190, // 294: lnrpc.Lightning.BakeMacaroon:output_type -> lnrpc.BakeMacaroonResponse - 192, // 295: lnrpc.Lightning.ListMacaroonIDs:output_type -> lnrpc.ListMacaroonIDsResponse - 194, // 296: lnrpc.Lightning.DeleteMacaroonID:output_type -> lnrpc.DeleteMacaroonIDResponse - 197, // 297: lnrpc.Lightning.ListPermissions:output_type -> lnrpc.ListPermissionsResponse - 203, // 298: lnrpc.Lightning.CheckMacaroonPermissions:output_type -> lnrpc.CheckMacPermResponse - 204, // 299: lnrpc.Lightning.RegisterRPCMiddleware:output_type -> lnrpc.RPCMiddlewareRequest - 23, // 300: lnrpc.Lightning.SendCustomMessage:output_type -> lnrpc.SendCustomMessageResponse - 21, // 301: lnrpc.Lightning.SubscribeCustomMessages:output_type -> lnrpc.CustomMessage - 64, // 302: lnrpc.Lightning.ListAliases:output_type -> lnrpc.ListAliasesResponse - 237, // [237:303] is the sub-list for method output_type - 171, // [171:237] is the sub-list for method input_type - 171, // [171:171] is the sub-list for extension type_name - 171, // [171:171] is the sub-list for extension extendee - 0, // [0:171] is the sub-list for field type_name -} - -func init() { file_lightning_proto_init() } -func file_lightning_proto_init() { - if File_lightning_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_lightning_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeCustomMessagesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CustomMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendCustomMessageRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendCustomMessageResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Utxo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutputDetail); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Transaction); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetTransactionsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TransactionDetails); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeLimit); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendToRouteRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelAcceptRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelAcceptResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelPoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OutPoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PreviousOutPoint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LightningAddress); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EstimateFeeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EstimateFeeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendManyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendManyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendCoinsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SendCoinsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUnspentRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUnspentResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewAddressRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewAddressResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignMessageRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignMessageResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerifyMessageRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerifyMessageResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectPeerRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConnectPeerResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisconnectPeerRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DisconnectPeerResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTLC); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelConstraints); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Channel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListChannelsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListChannelsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AliasMap); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAliasesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAliasesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelCloseSummary); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Resolution); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClosedChannelsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClosedChannelsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Peer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TimestampedError); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPeersRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPeersResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerEventSubscription); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PeerEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRecoveryInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetRecoveryInfoResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Chain); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ConfirmationUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelOpenUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelCloseUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseChannelRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CloseStatusUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PendingUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ReadyForPsbtFunding); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchOpenChannelRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchOpenChannel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchOpenChannelResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenChannelRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OpenStatusUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyLocator); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*KeyDescriptor); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChanPointShim); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PsbtShim); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundingShim); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundingShimCancel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundingPsbtVerify); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundingPsbtFinalize); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundingTransitionMsg); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FundingStateStepResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PendingHTLC); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PendingChannelsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PendingChannelsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelEventSubscription); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelEventUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WalletAccountBalance); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WalletBalanceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WalletBalanceResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Amount); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[91].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelBalanceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[92].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelBalanceResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[93].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryRoutesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[94].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodePair); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[95].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EdgeLocator); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[96].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*QueryRoutesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[97].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hop); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MPPRecord); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AMPRecord); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Route); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LightningNode); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeAddress); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RoutingPolicy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelEdge); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelGraphRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelGraph); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeMetricsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeMetricsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FloatMetric); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChanInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkInfoRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NetworkInfo); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StopResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GraphTopologySubscription); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GraphTopologyUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NodeUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelEdgeUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClosedChannelUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HopHint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetID); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RouteHint); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AMPInvoiceState); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Invoice); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InvoiceHTLC); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AMP); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddInvoiceResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PaymentHash); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListInvoiceRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListInvoiceResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InvoiceSubscription); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Payment); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HTLCAttempt); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[136].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPaymentsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[137].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPaymentsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[138].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeletePaymentRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[139].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAllPaymentsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[140].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeletePaymentResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[141].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAllPaymentsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[142].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AbandonChannelRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[143].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AbandonChannelResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[144].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DebugLevelRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[145].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DebugLevelResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[146].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayReqString); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[147].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PayReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[148].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Feature); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[149].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeReportRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[150].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelFeeReport); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[151].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FeeReportResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[152].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PolicyUpdateRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[153].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FailedUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[154].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PolicyUpdateResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[155].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ForwardingHistoryRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[156].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ForwardingEvent); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[157].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ForwardingHistoryResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[158].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExportChannelBackupRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[159].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelBackup); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[160].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MultiChanBackup); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[161].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChanBackupExportRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[162].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChanBackupSnapshot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[163].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelBackups); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[164].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestoreChanBackupRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[165].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RestoreBackupResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[166].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelBackupSubscription); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[167].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VerifyChanBackupResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[168].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MacaroonPermission); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[169].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BakeMacaroonRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[170].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BakeMacaroonResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[171].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMacaroonIDsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[172].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListMacaroonIDsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[173].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteMacaroonIDRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[174].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteMacaroonIDResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[175].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MacaroonPermissionList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[176].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPermissionsRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[177].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPermissionsResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[178].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Failure); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[179].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChannelUpdate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[180].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MacaroonId); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[181].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Op); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[182].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckMacPermRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[183].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CheckMacPermResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[184].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCMiddlewareRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[185].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*StreamAuth); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[186].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCMessage); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[187].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RPCMiddlewareResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[188].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MiddlewareRegistration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[189].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InterceptFeedback); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[195].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PendingChannelsResponse_PendingChannel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[196].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PendingChannelsResponse_PendingOpenChannel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[197].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PendingChannelsResponse_WaitingCloseChannel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[198].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PendingChannelsResponse_Commitments); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[199].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PendingChannelsResponse_ClosedChannel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_lightning_proto_msgTypes[200].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PendingChannelsResponse_ForceClosedChannel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_lightning_proto_msgTypes[9].OneofWrappers = []interface{}{ - (*FeeLimit_Fixed)(nil), - (*FeeLimit_FixedMsat)(nil), - (*FeeLimit_Percent)(nil), - } - file_lightning_proto_msgTypes[15].OneofWrappers = []interface{}{ - (*ChannelPoint_FundingTxidBytes)(nil), - (*ChannelPoint_FundingTxidStr)(nil), - } - file_lightning_proto_msgTypes[64].OneofWrappers = []interface{}{ - (*CloseStatusUpdate_ClosePending)(nil), - (*CloseStatusUpdate_ChanClose)(nil), - } - file_lightning_proto_msgTypes[71].OneofWrappers = []interface{}{ - (*OpenStatusUpdate_ChanPending)(nil), - (*OpenStatusUpdate_ChanOpen)(nil), - (*OpenStatusUpdate_PsbtFund)(nil), - } - file_lightning_proto_msgTypes[76].OneofWrappers = []interface{}{ - (*FundingShim_ChanPointShim)(nil), - (*FundingShim_PsbtShim)(nil), - } - file_lightning_proto_msgTypes[80].OneofWrappers = []interface{}{ - (*FundingTransitionMsg_ShimRegister)(nil), - (*FundingTransitionMsg_ShimCancel)(nil), - (*FundingTransitionMsg_PsbtVerify)(nil), - (*FundingTransitionMsg_PsbtFinalize)(nil), - } - file_lightning_proto_msgTypes[86].OneofWrappers = []interface{}{ - (*ChannelEventUpdate_OpenChannel)(nil), - (*ChannelEventUpdate_ClosedChannel)(nil), - (*ChannelEventUpdate_ActiveChannel)(nil), - (*ChannelEventUpdate_InactiveChannel)(nil), - (*ChannelEventUpdate_PendingOpenChannel)(nil), - (*ChannelEventUpdate_FullyResolvedChannel)(nil), - } - file_lightning_proto_msgTypes[152].OneofWrappers = []interface{}{ - (*PolicyUpdateRequest_Global)(nil), - (*PolicyUpdateRequest_ChanPoint)(nil), - } - file_lightning_proto_msgTypes[164].OneofWrappers = []interface{}{ - (*RestoreChanBackupRequest_ChanBackups)(nil), - (*RestoreChanBackupRequest_MultiChanBackup)(nil), - } - file_lightning_proto_msgTypes[184].OneofWrappers = []interface{}{ - (*RPCMiddlewareRequest_StreamAuth)(nil), - (*RPCMiddlewareRequest_Request)(nil), - (*RPCMiddlewareRequest_Response)(nil), - (*RPCMiddlewareRequest_RegComplete)(nil), - } - file_lightning_proto_msgTypes[187].OneofWrappers = []interface{}{ - (*RPCMiddlewareResponse_Register)(nil), - (*RPCMiddlewareResponse_Feedback)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_lightning_proto_rawDesc, - NumEnums: 20, - NumMessages: 212, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_lightning_proto_goTypes, - DependencyIndexes: file_lightning_proto_depIdxs, - EnumInfos: file_lightning_proto_enumTypes, - MessageInfos: file_lightning_proto_msgTypes, - }.Build() - File_lightning_proto = out.File - file_lightning_proto_rawDesc = nil - file_lightning_proto_goTypes = nil - file_lightning_proto_depIdxs = nil -} diff --git a/github.com/lightningnetwork/lnd/lnrpc/lightning_grpc.pb.go b/github.com/lightningnetwork/lnd/lnrpc/lightning_grpc.pb.go deleted file mode 100644 index 2546f8e..0000000 --- a/github.com/lightningnetwork/lnd/lnrpc/lightning_grpc.pb.go +++ /dev/null @@ -1,3447 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.21.12 -// source: lightning.proto - -package lnrpc - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// LightningClient is the client API for Lightning service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type LightningClient interface { - // lncli: `walletbalance` - // WalletBalance returns total unspent outputs(confirmed and unconfirmed), all - // confirmed unspent outputs and all unconfirmed unspent outputs under control - // of the wallet. - WalletBalance(ctx context.Context, in *WalletBalanceRequest, opts ...grpc.CallOption) (*WalletBalanceResponse, error) - // lncli: `channelbalance` - // ChannelBalance returns a report on the total funds across all open channels, - // categorized in local/remote, pending local/remote and unsettled local/remote - // balances. - ChannelBalance(ctx context.Context, in *ChannelBalanceRequest, opts ...grpc.CallOption) (*ChannelBalanceResponse, error) - // lncli: `listchaintxns` - // GetTransactions returns a list describing all the known transactions - // relevant to the wallet. - GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (*TransactionDetails, error) - // lncli: `estimatefee` - // EstimateFee asks the chain backend to estimate the fee rate and total fees - // for a transaction that pays to multiple specified outputs. - // - // When using REST, the `AddrToAmount` map type can be set by appending - // `&AddrToAmount[
]=` to the URL. Unfortunately this - // map type doesn't appear in the REST API documentation because of a bug in - // the grpc-gateway library. - EstimateFee(ctx context.Context, in *EstimateFeeRequest, opts ...grpc.CallOption) (*EstimateFeeResponse, error) - // lncli: `sendcoins` - // SendCoins executes a request to send coins to a particular address. Unlike - // SendMany, this RPC call only allows creating a single output at a time. If - // neither target_conf, or sat_per_vbyte are set, then the internal wallet will - // consult its fee model to determine a fee for the default confirmation - // target. - SendCoins(ctx context.Context, in *SendCoinsRequest, opts ...grpc.CallOption) (*SendCoinsResponse, error) - // lncli: `listunspent` - // Deprecated, use walletrpc.ListUnspent instead. - // - // ListUnspent returns a list of all utxos spendable by the wallet with a - // number of confirmations between the specified minimum and maximum. - ListUnspent(ctx context.Context, in *ListUnspentRequest, opts ...grpc.CallOption) (*ListUnspentResponse, error) - // SubscribeTransactions creates a uni-directional stream from the server to - // the client in which any newly discovered transactions relevant to the - // wallet are sent over. - SubscribeTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (Lightning_SubscribeTransactionsClient, error) - // lncli: `sendmany` - // SendMany handles a request for a transaction that creates multiple specified - // outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then - // the internal wallet will consult its fee model to determine a fee for the - // default confirmation target. - SendMany(ctx context.Context, in *SendManyRequest, opts ...grpc.CallOption) (*SendManyResponse, error) - // lncli: `newaddress` - // NewAddress creates a new address under control of the local wallet. - NewAddress(ctx context.Context, in *NewAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error) - // lncli: `signmessage` - // SignMessage signs a message with this node's private key. The returned - // signature string is `zbase32` encoded and pubkey recoverable, meaning that - // only the message digest and signature are needed for verification. - SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error) - // lncli: `verifymessage` - // VerifyMessage verifies a signature over a msg. The signature must be - // zbase32 encoded and signed by an active node in the resident node's - // channel database. In addition to returning the validity of the signature, - // VerifyMessage also returns the recovered pubkey from the signature. - VerifyMessage(ctx context.Context, in *VerifyMessageRequest, opts ...grpc.CallOption) (*VerifyMessageResponse, error) - // lncli: `connect` - // ConnectPeer attempts to establish a connection to a remote peer. This is at - // the networking level, and is used for communication between nodes. This is - // distinct from establishing a channel with a peer. - ConnectPeer(ctx context.Context, in *ConnectPeerRequest, opts ...grpc.CallOption) (*ConnectPeerResponse, error) - // lncli: `disconnect` - // DisconnectPeer attempts to disconnect one peer from another identified by a - // given pubKey. In the case that we currently have a pending or active channel - // with the target peer, then this action will be not be allowed. - DisconnectPeer(ctx context.Context, in *DisconnectPeerRequest, opts ...grpc.CallOption) (*DisconnectPeerResponse, error) - // lncli: `listpeers` - // ListPeers returns a verbose listing of all currently active peers. - ListPeers(ctx context.Context, in *ListPeersRequest, opts ...grpc.CallOption) (*ListPeersResponse, error) - // SubscribePeerEvents creates a uni-directional stream from the server to - // the client in which any events relevant to the state of peers are sent - // over. Events include peers going online and offline. - SubscribePeerEvents(ctx context.Context, in *PeerEventSubscription, opts ...grpc.CallOption) (Lightning_SubscribePeerEventsClient, error) - // lncli: `getinfo` - // GetInfo returns general information concerning the lightning node including - // it's identity pubkey, alias, the chains it is connected to, and information - // concerning the number of open+pending channels. - GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error) - // * lncli: `getrecoveryinfo` - // GetRecoveryInfo returns information concerning the recovery mode including - // whether it's in a recovery mode, whether the recovery is finished, and the - // progress made so far. - GetRecoveryInfo(ctx context.Context, in *GetRecoveryInfoRequest, opts ...grpc.CallOption) (*GetRecoveryInfoResponse, error) - // lncli: `pendingchannels` - // PendingChannels returns a list of all the channels that are currently - // considered "pending". A channel is pending if it has finished the funding - // workflow and is waiting for confirmations for the funding txn, or is in the - // process of closure, either initiated cooperatively or non-cooperatively. - PendingChannels(ctx context.Context, in *PendingChannelsRequest, opts ...grpc.CallOption) (*PendingChannelsResponse, error) - // lncli: `listchannels` - // ListChannels returns a description of all the open channels that this node - // is a participant in. - ListChannels(ctx context.Context, in *ListChannelsRequest, opts ...grpc.CallOption) (*ListChannelsResponse, error) - // SubscribeChannelEvents creates a uni-directional stream from the server to - // the client in which any updates relevant to the state of the channels are - // sent over. Events include new active channels, inactive channels, and closed - // channels. - SubscribeChannelEvents(ctx context.Context, in *ChannelEventSubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelEventsClient, error) - // lncli: `closedchannels` - // ClosedChannels returns a description of all the closed channels that - // this node was a participant in. - ClosedChannels(ctx context.Context, in *ClosedChannelsRequest, opts ...grpc.CallOption) (*ClosedChannelsResponse, error) - // OpenChannelSync is a synchronous version of the OpenChannel RPC call. This - // call is meant to be consumed by clients to the REST proxy. As with all - // other sync calls, all byte slices are intended to be populated as hex - // encoded strings. - OpenChannelSync(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (*ChannelPoint, error) - // lncli: `openchannel` - // OpenChannel attempts to open a singly funded channel specified in the - // request to a remote peer. Users are able to specify a target number of - // blocks that the funding transaction should be confirmed in, or a manual fee - // rate to us for the funding transaction. If neither are specified, then a - // lax block confirmation target is used. Each OpenStatusUpdate will return - // the pending channel ID of the in-progress channel. Depending on the - // arguments specified in the OpenChannelRequest, this pending channel ID can - // then be used to manually progress the channel funding flow. - OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (Lightning_OpenChannelClient, error) - // lncli: `batchopenchannel` - // BatchOpenChannel attempts to open multiple single-funded channels in a - // single transaction in an atomic way. This means either all channel open - // requests succeed at once or all attempts are aborted if any of them fail. - // This is the safer variant of using PSBTs to manually fund a batch of - // channels through the OpenChannel RPC. - BatchOpenChannel(ctx context.Context, in *BatchOpenChannelRequest, opts ...grpc.CallOption) (*BatchOpenChannelResponse, error) - // FundingStateStep is an advanced funding related call that allows the caller - // to either execute some preparatory steps for a funding workflow, or - // manually progress a funding workflow. The primary way a funding flow is - // identified is via its pending channel ID. As an example, this method can be - // used to specify that we're expecting a funding flow for a particular - // pending channel ID, for which we need to use specific parameters. - // Alternatively, this can be used to interactively drive PSBT signing for - // funding for partially complete funding transactions. - FundingStateStep(ctx context.Context, in *FundingTransitionMsg, opts ...grpc.CallOption) (*FundingStateStepResp, error) - // ChannelAcceptor dispatches a bi-directional streaming RPC in which - // OpenChannel requests are sent to the client and the client responds with - // a boolean that tells LND whether or not to accept the channel. This allows - // node operators to specify their own criteria for accepting inbound channels - // through a single persistent connection. - ChannelAcceptor(ctx context.Context, opts ...grpc.CallOption) (Lightning_ChannelAcceptorClient, error) - // lncli: `closechannel` - // CloseChannel attempts to close an active channel identified by its channel - // outpoint (ChannelPoint). The actions of this method can additionally be - // augmented to attempt a force close after a timeout period in the case of an - // inactive peer. If a non-force close (cooperative closure) is requested, - // then the user can specify either a target number of blocks until the - // closure transaction is confirmed, or a manual fee rate. If neither are - // specified, then a default lax, block confirmation target is used. - CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (Lightning_CloseChannelClient, error) - // lncli: `abandonchannel` - // AbandonChannel removes all channel state from the database except for a - // close summary. This method can be used to get rid of permanently unusable - // channels due to bugs fixed in newer versions of lnd. This method can also be - // used to remove externally funded channels where the funding transaction was - // never broadcast. Only available for non-externally funded channels in dev - // build. - AbandonChannel(ctx context.Context, in *AbandonChannelRequest, opts ...grpc.CallOption) (*AbandonChannelResponse, error) - // Deprecated: Do not use. - // lncli: `sendpayment` - // Deprecated, use routerrpc.SendPaymentV2. SendPayment dispatches a - // bi-directional streaming RPC for sending payments through the Lightning - // Network. A single RPC invocation creates a persistent bi-directional - // stream allowing clients to rapidly send payments through the Lightning - // Network with a single persistent connection. - SendPayment(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendPaymentClient, error) - // SendPaymentSync is the synchronous non-streaming version of SendPayment. - // This RPC is intended to be consumed by clients of the REST proxy. - // Additionally, this RPC expects the destination's public key and the payment - // hash (if any) to be encoded as hex strings. - SendPaymentSync(ctx context.Context, in *SendRequest, opts ...grpc.CallOption) (*SendResponse, error) - // Deprecated: Do not use. - // lncli: `sendtoroute` - // Deprecated, use routerrpc.SendToRouteV2. SendToRoute is a bi-directional - // streaming RPC for sending payment through the Lightning Network. This - // method differs from SendPayment in that it allows users to specify a full - // route manually. This can be used for things like rebalancing, and atomic - // swaps. - SendToRoute(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendToRouteClient, error) - // SendToRouteSync is a synchronous version of SendToRoute. It Will block - // until the payment either fails or succeeds. - SendToRouteSync(ctx context.Context, in *SendToRouteRequest, opts ...grpc.CallOption) (*SendResponse, error) - // lncli: `addinvoice` - // AddInvoice attempts to add a new invoice to the invoice database. Any - // duplicated invoices are rejected, therefore all invoices *must* have a - // unique payment preimage. - AddInvoice(ctx context.Context, in *Invoice, opts ...grpc.CallOption) (*AddInvoiceResponse, error) - // lncli: `listinvoices` - // ListInvoices returns a list of all the invoices currently stored within the - // database. Any active debug invoices are ignored. It has full support for - // paginated responses, allowing users to query for specific invoices through - // their add_index. This can be done by using either the first_index_offset or - // last_index_offset fields included in the response as the index_offset of the - // next request. By default, the first 100 invoices created will be returned. - // Backwards pagination is also supported through the Reversed flag. - ListInvoices(ctx context.Context, in *ListInvoiceRequest, opts ...grpc.CallOption) (*ListInvoiceResponse, error) - // lncli: `lookupinvoice` - // LookupInvoice attempts to look up an invoice according to its payment hash. - // The passed payment hash *must* be exactly 32 bytes, if not, an error is - // returned. - LookupInvoice(ctx context.Context, in *PaymentHash, opts ...grpc.CallOption) (*Invoice, error) - // SubscribeInvoices returns a uni-directional stream (server -> client) for - // notifying the client of newly added/settled invoices. The caller can - // optionally specify the add_index and/or the settle_index. If the add_index - // is specified, then we'll first start by sending add invoice events for all - // invoices with an add_index greater than the specified value. If the - // settle_index is specified, the next, we'll send out all settle events for - // invoices with a settle_index greater than the specified value. One or both - // of these fields can be set. If no fields are set, then we'll only send out - // the latest add/settle events. - SubscribeInvoices(ctx context.Context, in *InvoiceSubscription, opts ...grpc.CallOption) (Lightning_SubscribeInvoicesClient, error) - // lncli: `decodepayreq` - // DecodePayReq takes an encoded payment request string and attempts to decode - // it, returning a full description of the conditions encoded within the - // payment request. - DecodePayReq(ctx context.Context, in *PayReqString, opts ...grpc.CallOption) (*PayReq, error) - // lncli: `listpayments` - // ListPayments returns a list of all outgoing payments. - ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error) - // DeletePayment deletes an outgoing payment from DB. Note that it will not - // attempt to delete an In-Flight payment, since that would be unsafe. - DeletePayment(ctx context.Context, in *DeletePaymentRequest, opts ...grpc.CallOption) (*DeletePaymentResponse, error) - // DeleteAllPayments deletes all outgoing payments from DB. Note that it will - // not attempt to delete In-Flight payments, since that would be unsafe. - DeleteAllPayments(ctx context.Context, in *DeleteAllPaymentsRequest, opts ...grpc.CallOption) (*DeleteAllPaymentsResponse, error) - // lncli: `describegraph` - // DescribeGraph returns a description of the latest graph state from the - // point of view of the node. The graph information is partitioned into two - // components: all the nodes/vertexes, and all the edges that connect the - // vertexes themselves. As this is a directed graph, the edges also contain - // the node directional specific routing policy which includes: the time lock - // delta, fee information, etc. - DescribeGraph(ctx context.Context, in *ChannelGraphRequest, opts ...grpc.CallOption) (*ChannelGraph, error) - // lncli: `getnodemetrics` - // GetNodeMetrics returns node metrics calculated from the graph. Currently - // the only supported metric is betweenness centrality of individual nodes. - GetNodeMetrics(ctx context.Context, in *NodeMetricsRequest, opts ...grpc.CallOption) (*NodeMetricsResponse, error) - // lncli: `getchaninfo` - // GetChanInfo returns the latest authenticated network announcement for the - // given channel identified by its channel ID: an 8-byte integer which - // uniquely identifies the location of transaction's funding output within the - // blockchain. - GetChanInfo(ctx context.Context, in *ChanInfoRequest, opts ...grpc.CallOption) (*ChannelEdge, error) - // lncli: `getnodeinfo` - // GetNodeInfo returns the latest advertised, aggregated, and authenticated - // channel information for the specified node identified by its public key. - GetNodeInfo(ctx context.Context, in *NodeInfoRequest, opts ...grpc.CallOption) (*NodeInfo, error) - // lncli: `queryroutes` - // QueryRoutes attempts to query the daemon's Channel Router for a possible - // route to a target destination capable of carrying a specific amount of - // satoshis. The returned route contains the full details required to craft and - // send an HTLC, also including the necessary information that should be - // present within the Sphinx packet encapsulated within the HTLC. - // - // When using REST, the `dest_custom_records` map type can be set by appending - // `&dest_custom_records[]=` - // to the URL. Unfortunately this map type doesn't appear in the REST API - // documentation because of a bug in the grpc-gateway library. - QueryRoutes(ctx context.Context, in *QueryRoutesRequest, opts ...grpc.CallOption) (*QueryRoutesResponse, error) - // lncli: `getnetworkinfo` - // GetNetworkInfo returns some basic stats about the known channel graph from - // the point of view of the node. - GetNetworkInfo(ctx context.Context, in *NetworkInfoRequest, opts ...grpc.CallOption) (*NetworkInfo, error) - // lncli: `stop` - // StopDaemon will send a shutdown request to the interrupt handler, triggering - // a graceful shutdown of the daemon. - StopDaemon(ctx context.Context, in *StopRequest, opts ...grpc.CallOption) (*StopResponse, error) - // SubscribeChannelGraph launches a streaming RPC that allows the caller to - // receive notifications upon any changes to the channel graph topology from - // the point of view of the responding node. Events notified include: new - // nodes coming online, nodes updating their authenticated attributes, new - // channels being advertised, updates in the routing policy for a directional - // channel edge, and when channels are closed on-chain. - SubscribeChannelGraph(ctx context.Context, in *GraphTopologySubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelGraphClient, error) - // lncli: `debuglevel` - // DebugLevel allows a caller to programmatically set the logging verbosity of - // lnd. The logging can be targeted according to a coarse daemon-wide logging - // level, or in a granular fashion to specify the logging for a target - // sub-system. - DebugLevel(ctx context.Context, in *DebugLevelRequest, opts ...grpc.CallOption) (*DebugLevelResponse, error) - // lncli: `feereport` - // FeeReport allows the caller to obtain a report detailing the current fee - // schedule enforced by the node globally for each channel. - FeeReport(ctx context.Context, in *FeeReportRequest, opts ...grpc.CallOption) (*FeeReportResponse, error) - // lncli: `updatechanpolicy` - // UpdateChannelPolicy allows the caller to update the fee schedule and - // channel policies for all channels globally, or a particular channel. - UpdateChannelPolicy(ctx context.Context, in *PolicyUpdateRequest, opts ...grpc.CallOption) (*PolicyUpdateResponse, error) - // lncli: `fwdinghistory` - // ForwardingHistory allows the caller to query the htlcswitch for a record of - // all HTLCs forwarded within the target time range, and integer offset - // within that time range, for a maximum number of events. If no maximum number - // of events is specified, up to 100 events will be returned. If no time-range - // is specified, then events will be returned in the order that they occured. - // - // A list of forwarding events are returned. The size of each forwarding event - // is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB. - // As a result each message can only contain 50k entries. Each response has - // the index offset of the last entry. The index offset can be provided to the - // request to allow the caller to skip a series of records. - ForwardingHistory(ctx context.Context, in *ForwardingHistoryRequest, opts ...grpc.CallOption) (*ForwardingHistoryResponse, error) - // lncli: `exportchanbackup` - // ExportChannelBackup attempts to return an encrypted static channel backup - // for the target channel identified by it channel point. The backup is - // encrypted with a key generated from the aezeed seed of the user. The - // returned backup can either be restored using the RestoreChannelBackup - // method once lnd is running, or via the InitWallet and UnlockWallet methods - // from the WalletUnlocker service. - ExportChannelBackup(ctx context.Context, in *ExportChannelBackupRequest, opts ...grpc.CallOption) (*ChannelBackup, error) - // ExportAllChannelBackups returns static channel backups for all existing - // channels known to lnd. A set of regular singular static channel backups for - // each channel are returned. Additionally, a multi-channel backup is returned - // as well, which contains a single encrypted blob containing the backups of - // each channel. - ExportAllChannelBackups(ctx context.Context, in *ChanBackupExportRequest, opts ...grpc.CallOption) (*ChanBackupSnapshot, error) - // VerifyChanBackup allows a caller to verify the integrity of a channel backup - // snapshot. This method will accept either a packed Single or a packed Multi. - // Specifying both will result in an error. - VerifyChanBackup(ctx context.Context, in *ChanBackupSnapshot, opts ...grpc.CallOption) (*VerifyChanBackupResponse, error) - // lncli: `restorechanbackup` - // RestoreChannelBackups accepts a set of singular channel backups, or a - // single encrypted multi-chan backup and attempts to recover any funds - // remaining within the channel. If we are able to unpack the backup, then the - // new channel will be shown under listchannels, as well as pending channels. - RestoreChannelBackups(ctx context.Context, in *RestoreChanBackupRequest, opts ...grpc.CallOption) (*RestoreBackupResponse, error) - // SubscribeChannelBackups allows a client to sub-subscribe to the most up to - // date information concerning the state of all channel backups. Each time a - // new channel is added, we return the new set of channels, along with a - // multi-chan backup containing the backup info for all channels. Each time a - // channel is closed, we send a new update, which contains new new chan back - // ups, but the updated set of encrypted multi-chan backups with the closed - // channel(s) removed. - SubscribeChannelBackups(ctx context.Context, in *ChannelBackupSubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelBackupsClient, error) - // lncli: `bakemacaroon` - // BakeMacaroon allows the creation of a new macaroon with custom read and - // write permissions. No first-party caveats are added since this can be done - // offline. - BakeMacaroon(ctx context.Context, in *BakeMacaroonRequest, opts ...grpc.CallOption) (*BakeMacaroonResponse, error) - // lncli: `listmacaroonids` - // ListMacaroonIDs returns all root key IDs that are in use. - ListMacaroonIDs(ctx context.Context, in *ListMacaroonIDsRequest, opts ...grpc.CallOption) (*ListMacaroonIDsResponse, error) - // lncli: `deletemacaroonid` - // DeleteMacaroonID deletes the specified macaroon ID and invalidates all - // macaroons derived from that ID. - DeleteMacaroonID(ctx context.Context, in *DeleteMacaroonIDRequest, opts ...grpc.CallOption) (*DeleteMacaroonIDResponse, error) - // lncli: `listpermissions` - // ListPermissions lists all RPC method URIs and their required macaroon - // permissions to access them. - ListPermissions(ctx context.Context, in *ListPermissionsRequest, opts ...grpc.CallOption) (*ListPermissionsResponse, error) - // CheckMacaroonPermissions checks whether a request follows the constraints - // imposed on the macaroon and that the macaroon is authorized to follow the - // provided permissions. - CheckMacaroonPermissions(ctx context.Context, in *CheckMacPermRequest, opts ...grpc.CallOption) (*CheckMacPermResponse, error) - // RegisterRPCMiddleware adds a new gRPC middleware to the interceptor chain. A - // gRPC middleware is software component external to lnd that aims to add - // additional business logic to lnd by observing/intercepting/validating - // incoming gRPC client requests and (if needed) replacing/overwriting outgoing - // messages before they're sent to the client. When registering the middleware - // must identify itself and indicate what custom macaroon caveats it wants to - // be responsible for. Only requests that contain a macaroon with that specific - // custom caveat are then sent to the middleware for inspection. The other - // option is to register for the read-only mode in which all requests/responses - // are forwarded for interception to the middleware but the middleware is not - // allowed to modify any responses. As a security measure, _no_ middleware can - // modify responses for requests made with _unencumbered_ macaroons! - RegisterRPCMiddleware(ctx context.Context, opts ...grpc.CallOption) (Lightning_RegisterRPCMiddlewareClient, error) - // lncli: `sendcustom` - // SendCustomMessage sends a custom peer message. - SendCustomMessage(ctx context.Context, in *SendCustomMessageRequest, opts ...grpc.CallOption) (*SendCustomMessageResponse, error) - // lncli: `subscribecustom` - // SubscribeCustomMessages subscribes to a stream of incoming custom peer - // messages. - SubscribeCustomMessages(ctx context.Context, in *SubscribeCustomMessagesRequest, opts ...grpc.CallOption) (Lightning_SubscribeCustomMessagesClient, error) - // lncli: `listaliases` - // ListAliases returns the set of all aliases that have ever existed with - // their confirmed SCID (if it exists) and/or the base SCID (in the case of - // zero conf). - ListAliases(ctx context.Context, in *ListAliasesRequest, opts ...grpc.CallOption) (*ListAliasesResponse, error) -} - -type lightningClient struct { - cc grpc.ClientConnInterface -} - -func NewLightningClient(cc grpc.ClientConnInterface) LightningClient { - return &lightningClient{cc} -} - -func (c *lightningClient) WalletBalance(ctx context.Context, in *WalletBalanceRequest, opts ...grpc.CallOption) (*WalletBalanceResponse, error) { - out := new(WalletBalanceResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/WalletBalance", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ChannelBalance(ctx context.Context, in *ChannelBalanceRequest, opts ...grpc.CallOption) (*ChannelBalanceResponse, error) { - out := new(ChannelBalanceResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ChannelBalance", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) GetTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (*TransactionDetails, error) { - out := new(TransactionDetails) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetTransactions", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) EstimateFee(ctx context.Context, in *EstimateFeeRequest, opts ...grpc.CallOption) (*EstimateFeeResponse, error) { - out := new(EstimateFeeResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/EstimateFee", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) SendCoins(ctx context.Context, in *SendCoinsRequest, opts ...grpc.CallOption) (*SendCoinsResponse, error) { - out := new(SendCoinsResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SendCoins", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ListUnspent(ctx context.Context, in *ListUnspentRequest, opts ...grpc.CallOption) (*ListUnspentResponse, error) { - out := new(ListUnspentResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListUnspent", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) SubscribeTransactions(ctx context.Context, in *GetTransactionsRequest, opts ...grpc.CallOption) (Lightning_SubscribeTransactionsClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[0], "/lnrpc.Lightning/SubscribeTransactions", opts...) - if err != nil { - return nil, err - } - x := &lightningSubscribeTransactionsClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Lightning_SubscribeTransactionsClient interface { - Recv() (*Transaction, error) - grpc.ClientStream -} - -type lightningSubscribeTransactionsClient struct { - grpc.ClientStream -} - -func (x *lightningSubscribeTransactionsClient) Recv() (*Transaction, error) { - m := new(Transaction) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) SendMany(ctx context.Context, in *SendManyRequest, opts ...grpc.CallOption) (*SendManyResponse, error) { - out := new(SendManyResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SendMany", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) NewAddress(ctx context.Context, in *NewAddressRequest, opts ...grpc.CallOption) (*NewAddressResponse, error) { - out := new(NewAddressResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/NewAddress", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) SignMessage(ctx context.Context, in *SignMessageRequest, opts ...grpc.CallOption) (*SignMessageResponse, error) { - out := new(SignMessageResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SignMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) VerifyMessage(ctx context.Context, in *VerifyMessageRequest, opts ...grpc.CallOption) (*VerifyMessageResponse, error) { - out := new(VerifyMessageResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/VerifyMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ConnectPeer(ctx context.Context, in *ConnectPeerRequest, opts ...grpc.CallOption) (*ConnectPeerResponse, error) { - out := new(ConnectPeerResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ConnectPeer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) DisconnectPeer(ctx context.Context, in *DisconnectPeerRequest, opts ...grpc.CallOption) (*DisconnectPeerResponse, error) { - out := new(DisconnectPeerResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DisconnectPeer", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ListPeers(ctx context.Context, in *ListPeersRequest, opts ...grpc.CallOption) (*ListPeersResponse, error) { - out := new(ListPeersResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListPeers", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) SubscribePeerEvents(ctx context.Context, in *PeerEventSubscription, opts ...grpc.CallOption) (Lightning_SubscribePeerEventsClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[1], "/lnrpc.Lightning/SubscribePeerEvents", opts...) - if err != nil { - return nil, err - } - x := &lightningSubscribePeerEventsClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Lightning_SubscribePeerEventsClient interface { - Recv() (*PeerEvent, error) - grpc.ClientStream -} - -type lightningSubscribePeerEventsClient struct { - grpc.ClientStream -} - -func (x *lightningSubscribePeerEventsClient) Recv() (*PeerEvent, error) { - m := new(PeerEvent) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error) { - out := new(GetInfoResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) GetRecoveryInfo(ctx context.Context, in *GetRecoveryInfoRequest, opts ...grpc.CallOption) (*GetRecoveryInfoResponse, error) { - out := new(GetRecoveryInfoResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetRecoveryInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) PendingChannels(ctx context.Context, in *PendingChannelsRequest, opts ...grpc.CallOption) (*PendingChannelsResponse, error) { - out := new(PendingChannelsResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/PendingChannels", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ListChannels(ctx context.Context, in *ListChannelsRequest, opts ...grpc.CallOption) (*ListChannelsResponse, error) { - out := new(ListChannelsResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListChannels", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) SubscribeChannelEvents(ctx context.Context, in *ChannelEventSubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelEventsClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[2], "/lnrpc.Lightning/SubscribeChannelEvents", opts...) - if err != nil { - return nil, err - } - x := &lightningSubscribeChannelEventsClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Lightning_SubscribeChannelEventsClient interface { - Recv() (*ChannelEventUpdate, error) - grpc.ClientStream -} - -type lightningSubscribeChannelEventsClient struct { - grpc.ClientStream -} - -func (x *lightningSubscribeChannelEventsClient) Recv() (*ChannelEventUpdate, error) { - m := new(ChannelEventUpdate) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) ClosedChannels(ctx context.Context, in *ClosedChannelsRequest, opts ...grpc.CallOption) (*ClosedChannelsResponse, error) { - out := new(ClosedChannelsResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ClosedChannels", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) OpenChannelSync(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (*ChannelPoint, error) { - out := new(ChannelPoint) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/OpenChannelSync", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (Lightning_OpenChannelClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[3], "/lnrpc.Lightning/OpenChannel", opts...) - if err != nil { - return nil, err - } - x := &lightningOpenChannelClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Lightning_OpenChannelClient interface { - Recv() (*OpenStatusUpdate, error) - grpc.ClientStream -} - -type lightningOpenChannelClient struct { - grpc.ClientStream -} - -func (x *lightningOpenChannelClient) Recv() (*OpenStatusUpdate, error) { - m := new(OpenStatusUpdate) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) BatchOpenChannel(ctx context.Context, in *BatchOpenChannelRequest, opts ...grpc.CallOption) (*BatchOpenChannelResponse, error) { - out := new(BatchOpenChannelResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/BatchOpenChannel", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) FundingStateStep(ctx context.Context, in *FundingTransitionMsg, opts ...grpc.CallOption) (*FundingStateStepResp, error) { - out := new(FundingStateStepResp) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/FundingStateStep", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ChannelAcceptor(ctx context.Context, opts ...grpc.CallOption) (Lightning_ChannelAcceptorClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[4], "/lnrpc.Lightning/ChannelAcceptor", opts...) - if err != nil { - return nil, err - } - x := &lightningChannelAcceptorClient{stream} - return x, nil -} - -type Lightning_ChannelAcceptorClient interface { - Send(*ChannelAcceptResponse) error - Recv() (*ChannelAcceptRequest, error) - grpc.ClientStream -} - -type lightningChannelAcceptorClient struct { - grpc.ClientStream -} - -func (x *lightningChannelAcceptorClient) Send(m *ChannelAcceptResponse) error { - return x.ClientStream.SendMsg(m) -} - -func (x *lightningChannelAcceptorClient) Recv() (*ChannelAcceptRequest, error) { - m := new(ChannelAcceptRequest) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (Lightning_CloseChannelClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[5], "/lnrpc.Lightning/CloseChannel", opts...) - if err != nil { - return nil, err - } - x := &lightningCloseChannelClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Lightning_CloseChannelClient interface { - Recv() (*CloseStatusUpdate, error) - grpc.ClientStream -} - -type lightningCloseChannelClient struct { - grpc.ClientStream -} - -func (x *lightningCloseChannelClient) Recv() (*CloseStatusUpdate, error) { - m := new(CloseStatusUpdate) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) AbandonChannel(ctx context.Context, in *AbandonChannelRequest, opts ...grpc.CallOption) (*AbandonChannelResponse, error) { - out := new(AbandonChannelResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/AbandonChannel", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// Deprecated: Do not use. -func (c *lightningClient) SendPayment(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendPaymentClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[6], "/lnrpc.Lightning/SendPayment", opts...) - if err != nil { - return nil, err - } - x := &lightningSendPaymentClient{stream} - return x, nil -} - -type Lightning_SendPaymentClient interface { - Send(*SendRequest) error - Recv() (*SendResponse, error) - grpc.ClientStream -} - -type lightningSendPaymentClient struct { - grpc.ClientStream -} - -func (x *lightningSendPaymentClient) Send(m *SendRequest) error { - return x.ClientStream.SendMsg(m) -} - -func (x *lightningSendPaymentClient) Recv() (*SendResponse, error) { - m := new(SendResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) SendPaymentSync(ctx context.Context, in *SendRequest, opts ...grpc.CallOption) (*SendResponse, error) { - out := new(SendResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SendPaymentSync", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// Deprecated: Do not use. -func (c *lightningClient) SendToRoute(ctx context.Context, opts ...grpc.CallOption) (Lightning_SendToRouteClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[7], "/lnrpc.Lightning/SendToRoute", opts...) - if err != nil { - return nil, err - } - x := &lightningSendToRouteClient{stream} - return x, nil -} - -type Lightning_SendToRouteClient interface { - Send(*SendToRouteRequest) error - Recv() (*SendResponse, error) - grpc.ClientStream -} - -type lightningSendToRouteClient struct { - grpc.ClientStream -} - -func (x *lightningSendToRouteClient) Send(m *SendToRouteRequest) error { - return x.ClientStream.SendMsg(m) -} - -func (x *lightningSendToRouteClient) Recv() (*SendResponse, error) { - m := new(SendResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) SendToRouteSync(ctx context.Context, in *SendToRouteRequest, opts ...grpc.CallOption) (*SendResponse, error) { - out := new(SendResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SendToRouteSync", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) AddInvoice(ctx context.Context, in *Invoice, opts ...grpc.CallOption) (*AddInvoiceResponse, error) { - out := new(AddInvoiceResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/AddInvoice", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ListInvoices(ctx context.Context, in *ListInvoiceRequest, opts ...grpc.CallOption) (*ListInvoiceResponse, error) { - out := new(ListInvoiceResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListInvoices", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) LookupInvoice(ctx context.Context, in *PaymentHash, opts ...grpc.CallOption) (*Invoice, error) { - out := new(Invoice) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/LookupInvoice", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) SubscribeInvoices(ctx context.Context, in *InvoiceSubscription, opts ...grpc.CallOption) (Lightning_SubscribeInvoicesClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[8], "/lnrpc.Lightning/SubscribeInvoices", opts...) - if err != nil { - return nil, err - } - x := &lightningSubscribeInvoicesClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Lightning_SubscribeInvoicesClient interface { - Recv() (*Invoice, error) - grpc.ClientStream -} - -type lightningSubscribeInvoicesClient struct { - grpc.ClientStream -} - -func (x *lightningSubscribeInvoicesClient) Recv() (*Invoice, error) { - m := new(Invoice) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) DecodePayReq(ctx context.Context, in *PayReqString, opts ...grpc.CallOption) (*PayReq, error) { - out := new(PayReq) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DecodePayReq", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ListPayments(ctx context.Context, in *ListPaymentsRequest, opts ...grpc.CallOption) (*ListPaymentsResponse, error) { - out := new(ListPaymentsResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListPayments", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) DeletePayment(ctx context.Context, in *DeletePaymentRequest, opts ...grpc.CallOption) (*DeletePaymentResponse, error) { - out := new(DeletePaymentResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DeletePayment", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) DeleteAllPayments(ctx context.Context, in *DeleteAllPaymentsRequest, opts ...grpc.CallOption) (*DeleteAllPaymentsResponse, error) { - out := new(DeleteAllPaymentsResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DeleteAllPayments", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) DescribeGraph(ctx context.Context, in *ChannelGraphRequest, opts ...grpc.CallOption) (*ChannelGraph, error) { - out := new(ChannelGraph) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DescribeGraph", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) GetNodeMetrics(ctx context.Context, in *NodeMetricsRequest, opts ...grpc.CallOption) (*NodeMetricsResponse, error) { - out := new(NodeMetricsResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetNodeMetrics", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) GetChanInfo(ctx context.Context, in *ChanInfoRequest, opts ...grpc.CallOption) (*ChannelEdge, error) { - out := new(ChannelEdge) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetChanInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) GetNodeInfo(ctx context.Context, in *NodeInfoRequest, opts ...grpc.CallOption) (*NodeInfo, error) { - out := new(NodeInfo) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetNodeInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) QueryRoutes(ctx context.Context, in *QueryRoutesRequest, opts ...grpc.CallOption) (*QueryRoutesResponse, error) { - out := new(QueryRoutesResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/QueryRoutes", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) GetNetworkInfo(ctx context.Context, in *NetworkInfoRequest, opts ...grpc.CallOption) (*NetworkInfo, error) { - out := new(NetworkInfo) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/GetNetworkInfo", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) StopDaemon(ctx context.Context, in *StopRequest, opts ...grpc.CallOption) (*StopResponse, error) { - out := new(StopResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/StopDaemon", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) SubscribeChannelGraph(ctx context.Context, in *GraphTopologySubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelGraphClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[9], "/lnrpc.Lightning/SubscribeChannelGraph", opts...) - if err != nil { - return nil, err - } - x := &lightningSubscribeChannelGraphClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Lightning_SubscribeChannelGraphClient interface { - Recv() (*GraphTopologyUpdate, error) - grpc.ClientStream -} - -type lightningSubscribeChannelGraphClient struct { - grpc.ClientStream -} - -func (x *lightningSubscribeChannelGraphClient) Recv() (*GraphTopologyUpdate, error) { - m := new(GraphTopologyUpdate) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) DebugLevel(ctx context.Context, in *DebugLevelRequest, opts ...grpc.CallOption) (*DebugLevelResponse, error) { - out := new(DebugLevelResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DebugLevel", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) FeeReport(ctx context.Context, in *FeeReportRequest, opts ...grpc.CallOption) (*FeeReportResponse, error) { - out := new(FeeReportResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/FeeReport", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) UpdateChannelPolicy(ctx context.Context, in *PolicyUpdateRequest, opts ...grpc.CallOption) (*PolicyUpdateResponse, error) { - out := new(PolicyUpdateResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/UpdateChannelPolicy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ForwardingHistory(ctx context.Context, in *ForwardingHistoryRequest, opts ...grpc.CallOption) (*ForwardingHistoryResponse, error) { - out := new(ForwardingHistoryResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ForwardingHistory", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ExportChannelBackup(ctx context.Context, in *ExportChannelBackupRequest, opts ...grpc.CallOption) (*ChannelBackup, error) { - out := new(ChannelBackup) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ExportChannelBackup", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ExportAllChannelBackups(ctx context.Context, in *ChanBackupExportRequest, opts ...grpc.CallOption) (*ChanBackupSnapshot, error) { - out := new(ChanBackupSnapshot) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ExportAllChannelBackups", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) VerifyChanBackup(ctx context.Context, in *ChanBackupSnapshot, opts ...grpc.CallOption) (*VerifyChanBackupResponse, error) { - out := new(VerifyChanBackupResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/VerifyChanBackup", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) RestoreChannelBackups(ctx context.Context, in *RestoreChanBackupRequest, opts ...grpc.CallOption) (*RestoreBackupResponse, error) { - out := new(RestoreBackupResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/RestoreChannelBackups", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) SubscribeChannelBackups(ctx context.Context, in *ChannelBackupSubscription, opts ...grpc.CallOption) (Lightning_SubscribeChannelBackupsClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[10], "/lnrpc.Lightning/SubscribeChannelBackups", opts...) - if err != nil { - return nil, err - } - x := &lightningSubscribeChannelBackupsClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Lightning_SubscribeChannelBackupsClient interface { - Recv() (*ChanBackupSnapshot, error) - grpc.ClientStream -} - -type lightningSubscribeChannelBackupsClient struct { - grpc.ClientStream -} - -func (x *lightningSubscribeChannelBackupsClient) Recv() (*ChanBackupSnapshot, error) { - m := new(ChanBackupSnapshot) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) BakeMacaroon(ctx context.Context, in *BakeMacaroonRequest, opts ...grpc.CallOption) (*BakeMacaroonResponse, error) { - out := new(BakeMacaroonResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/BakeMacaroon", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ListMacaroonIDs(ctx context.Context, in *ListMacaroonIDsRequest, opts ...grpc.CallOption) (*ListMacaroonIDsResponse, error) { - out := new(ListMacaroonIDsResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListMacaroonIDs", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) DeleteMacaroonID(ctx context.Context, in *DeleteMacaroonIDRequest, opts ...grpc.CallOption) (*DeleteMacaroonIDResponse, error) { - out := new(DeleteMacaroonIDResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/DeleteMacaroonID", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) ListPermissions(ctx context.Context, in *ListPermissionsRequest, opts ...grpc.CallOption) (*ListPermissionsResponse, error) { - out := new(ListPermissionsResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListPermissions", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) CheckMacaroonPermissions(ctx context.Context, in *CheckMacPermRequest, opts ...grpc.CallOption) (*CheckMacPermResponse, error) { - out := new(CheckMacPermResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/CheckMacaroonPermissions", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) RegisterRPCMiddleware(ctx context.Context, opts ...grpc.CallOption) (Lightning_RegisterRPCMiddlewareClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[11], "/lnrpc.Lightning/RegisterRPCMiddleware", opts...) - if err != nil { - return nil, err - } - x := &lightningRegisterRPCMiddlewareClient{stream} - return x, nil -} - -type Lightning_RegisterRPCMiddlewareClient interface { - Send(*RPCMiddlewareResponse) error - Recv() (*RPCMiddlewareRequest, error) - grpc.ClientStream -} - -type lightningRegisterRPCMiddlewareClient struct { - grpc.ClientStream -} - -func (x *lightningRegisterRPCMiddlewareClient) Send(m *RPCMiddlewareResponse) error { - return x.ClientStream.SendMsg(m) -} - -func (x *lightningRegisterRPCMiddlewareClient) Recv() (*RPCMiddlewareRequest, error) { - m := new(RPCMiddlewareRequest) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) SendCustomMessage(ctx context.Context, in *SendCustomMessageRequest, opts ...grpc.CallOption) (*SendCustomMessageResponse, error) { - out := new(SendCustomMessageResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/SendCustomMessage", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightningClient) SubscribeCustomMessages(ctx context.Context, in *SubscribeCustomMessagesRequest, opts ...grpc.CallOption) (Lightning_SubscribeCustomMessagesClient, error) { - stream, err := c.cc.NewStream(ctx, &Lightning_ServiceDesc.Streams[12], "/lnrpc.Lightning/SubscribeCustomMessages", opts...) - if err != nil { - return nil, err - } - x := &lightningSubscribeCustomMessagesClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type Lightning_SubscribeCustomMessagesClient interface { - Recv() (*CustomMessage, error) - grpc.ClientStream -} - -type lightningSubscribeCustomMessagesClient struct { - grpc.ClientStream -} - -func (x *lightningSubscribeCustomMessagesClient) Recv() (*CustomMessage, error) { - m := new(CustomMessage) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *lightningClient) ListAliases(ctx context.Context, in *ListAliasesRequest, opts ...grpc.CallOption) (*ListAliasesResponse, error) { - out := new(ListAliasesResponse) - err := c.cc.Invoke(ctx, "/lnrpc.Lightning/ListAliases", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// LightningServer is the server API for Lightning service. -// All implementations must embed UnimplementedLightningServer -// for forward compatibility -type LightningServer interface { - // lncli: `walletbalance` - // WalletBalance returns total unspent outputs(confirmed and unconfirmed), all - // confirmed unspent outputs and all unconfirmed unspent outputs under control - // of the wallet. - WalletBalance(context.Context, *WalletBalanceRequest) (*WalletBalanceResponse, error) - // lncli: `channelbalance` - // ChannelBalance returns a report on the total funds across all open channels, - // categorized in local/remote, pending local/remote and unsettled local/remote - // balances. - ChannelBalance(context.Context, *ChannelBalanceRequest) (*ChannelBalanceResponse, error) - // lncli: `listchaintxns` - // GetTransactions returns a list describing all the known transactions - // relevant to the wallet. - GetTransactions(context.Context, *GetTransactionsRequest) (*TransactionDetails, error) - // lncli: `estimatefee` - // EstimateFee asks the chain backend to estimate the fee rate and total fees - // for a transaction that pays to multiple specified outputs. - // - // When using REST, the `AddrToAmount` map type can be set by appending - // `&AddrToAmount[
]=` to the URL. Unfortunately this - // map type doesn't appear in the REST API documentation because of a bug in - // the grpc-gateway library. - EstimateFee(context.Context, *EstimateFeeRequest) (*EstimateFeeResponse, error) - // lncli: `sendcoins` - // SendCoins executes a request to send coins to a particular address. Unlike - // SendMany, this RPC call only allows creating a single output at a time. If - // neither target_conf, or sat_per_vbyte are set, then the internal wallet will - // consult its fee model to determine a fee for the default confirmation - // target. - SendCoins(context.Context, *SendCoinsRequest) (*SendCoinsResponse, error) - // lncli: `listunspent` - // Deprecated, use walletrpc.ListUnspent instead. - // - // ListUnspent returns a list of all utxos spendable by the wallet with a - // number of confirmations between the specified minimum and maximum. - ListUnspent(context.Context, *ListUnspentRequest) (*ListUnspentResponse, error) - // SubscribeTransactions creates a uni-directional stream from the server to - // the client in which any newly discovered transactions relevant to the - // wallet are sent over. - SubscribeTransactions(*GetTransactionsRequest, Lightning_SubscribeTransactionsServer) error - // lncli: `sendmany` - // SendMany handles a request for a transaction that creates multiple specified - // outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then - // the internal wallet will consult its fee model to determine a fee for the - // default confirmation target. - SendMany(context.Context, *SendManyRequest) (*SendManyResponse, error) - // lncli: `newaddress` - // NewAddress creates a new address under control of the local wallet. - NewAddress(context.Context, *NewAddressRequest) (*NewAddressResponse, error) - // lncli: `signmessage` - // SignMessage signs a message with this node's private key. The returned - // signature string is `zbase32` encoded and pubkey recoverable, meaning that - // only the message digest and signature are needed for verification. - SignMessage(context.Context, *SignMessageRequest) (*SignMessageResponse, error) - // lncli: `verifymessage` - // VerifyMessage verifies a signature over a msg. The signature must be - // zbase32 encoded and signed by an active node in the resident node's - // channel database. In addition to returning the validity of the signature, - // VerifyMessage also returns the recovered pubkey from the signature. - VerifyMessage(context.Context, *VerifyMessageRequest) (*VerifyMessageResponse, error) - // lncli: `connect` - // ConnectPeer attempts to establish a connection to a remote peer. This is at - // the networking level, and is used for communication between nodes. This is - // distinct from establishing a channel with a peer. - ConnectPeer(context.Context, *ConnectPeerRequest) (*ConnectPeerResponse, error) - // lncli: `disconnect` - // DisconnectPeer attempts to disconnect one peer from another identified by a - // given pubKey. In the case that we currently have a pending or active channel - // with the target peer, then this action will be not be allowed. - DisconnectPeer(context.Context, *DisconnectPeerRequest) (*DisconnectPeerResponse, error) - // lncli: `listpeers` - // ListPeers returns a verbose listing of all currently active peers. - ListPeers(context.Context, *ListPeersRequest) (*ListPeersResponse, error) - // SubscribePeerEvents creates a uni-directional stream from the server to - // the client in which any events relevant to the state of peers are sent - // over. Events include peers going online and offline. - SubscribePeerEvents(*PeerEventSubscription, Lightning_SubscribePeerEventsServer) error - // lncli: `getinfo` - // GetInfo returns general information concerning the lightning node including - // it's identity pubkey, alias, the chains it is connected to, and information - // concerning the number of open+pending channels. - GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error) - // * lncli: `getrecoveryinfo` - // GetRecoveryInfo returns information concerning the recovery mode including - // whether it's in a recovery mode, whether the recovery is finished, and the - // progress made so far. - GetRecoveryInfo(context.Context, *GetRecoveryInfoRequest) (*GetRecoveryInfoResponse, error) - // lncli: `pendingchannels` - // PendingChannels returns a list of all the channels that are currently - // considered "pending". A channel is pending if it has finished the funding - // workflow and is waiting for confirmations for the funding txn, or is in the - // process of closure, either initiated cooperatively or non-cooperatively. - PendingChannels(context.Context, *PendingChannelsRequest) (*PendingChannelsResponse, error) - // lncli: `listchannels` - // ListChannels returns a description of all the open channels that this node - // is a participant in. - ListChannels(context.Context, *ListChannelsRequest) (*ListChannelsResponse, error) - // SubscribeChannelEvents creates a uni-directional stream from the server to - // the client in which any updates relevant to the state of the channels are - // sent over. Events include new active channels, inactive channels, and closed - // channels. - SubscribeChannelEvents(*ChannelEventSubscription, Lightning_SubscribeChannelEventsServer) error - // lncli: `closedchannels` - // ClosedChannels returns a description of all the closed channels that - // this node was a participant in. - ClosedChannels(context.Context, *ClosedChannelsRequest) (*ClosedChannelsResponse, error) - // OpenChannelSync is a synchronous version of the OpenChannel RPC call. This - // call is meant to be consumed by clients to the REST proxy. As with all - // other sync calls, all byte slices are intended to be populated as hex - // encoded strings. - OpenChannelSync(context.Context, *OpenChannelRequest) (*ChannelPoint, error) - // lncli: `openchannel` - // OpenChannel attempts to open a singly funded channel specified in the - // request to a remote peer. Users are able to specify a target number of - // blocks that the funding transaction should be confirmed in, or a manual fee - // rate to us for the funding transaction. If neither are specified, then a - // lax block confirmation target is used. Each OpenStatusUpdate will return - // the pending channel ID of the in-progress channel. Depending on the - // arguments specified in the OpenChannelRequest, this pending channel ID can - // then be used to manually progress the channel funding flow. - OpenChannel(*OpenChannelRequest, Lightning_OpenChannelServer) error - // lncli: `batchopenchannel` - // BatchOpenChannel attempts to open multiple single-funded channels in a - // single transaction in an atomic way. This means either all channel open - // requests succeed at once or all attempts are aborted if any of them fail. - // This is the safer variant of using PSBTs to manually fund a batch of - // channels through the OpenChannel RPC. - BatchOpenChannel(context.Context, *BatchOpenChannelRequest) (*BatchOpenChannelResponse, error) - // FundingStateStep is an advanced funding related call that allows the caller - // to either execute some preparatory steps for a funding workflow, or - // manually progress a funding workflow. The primary way a funding flow is - // identified is via its pending channel ID. As an example, this method can be - // used to specify that we're expecting a funding flow for a particular - // pending channel ID, for which we need to use specific parameters. - // Alternatively, this can be used to interactively drive PSBT signing for - // funding for partially complete funding transactions. - FundingStateStep(context.Context, *FundingTransitionMsg) (*FundingStateStepResp, error) - // ChannelAcceptor dispatches a bi-directional streaming RPC in which - // OpenChannel requests are sent to the client and the client responds with - // a boolean that tells LND whether or not to accept the channel. This allows - // node operators to specify their own criteria for accepting inbound channels - // through a single persistent connection. - ChannelAcceptor(Lightning_ChannelAcceptorServer) error - // lncli: `closechannel` - // CloseChannel attempts to close an active channel identified by its channel - // outpoint (ChannelPoint). The actions of this method can additionally be - // augmented to attempt a force close after a timeout period in the case of an - // inactive peer. If a non-force close (cooperative closure) is requested, - // then the user can specify either a target number of blocks until the - // closure transaction is confirmed, or a manual fee rate. If neither are - // specified, then a default lax, block confirmation target is used. - CloseChannel(*CloseChannelRequest, Lightning_CloseChannelServer) error - // lncli: `abandonchannel` - // AbandonChannel removes all channel state from the database except for a - // close summary. This method can be used to get rid of permanently unusable - // channels due to bugs fixed in newer versions of lnd. This method can also be - // used to remove externally funded channels where the funding transaction was - // never broadcast. Only available for non-externally funded channels in dev - // build. - AbandonChannel(context.Context, *AbandonChannelRequest) (*AbandonChannelResponse, error) - // Deprecated: Do not use. - // lncli: `sendpayment` - // Deprecated, use routerrpc.SendPaymentV2. SendPayment dispatches a - // bi-directional streaming RPC for sending payments through the Lightning - // Network. A single RPC invocation creates a persistent bi-directional - // stream allowing clients to rapidly send payments through the Lightning - // Network with a single persistent connection. - SendPayment(Lightning_SendPaymentServer) error - // SendPaymentSync is the synchronous non-streaming version of SendPayment. - // This RPC is intended to be consumed by clients of the REST proxy. - // Additionally, this RPC expects the destination's public key and the payment - // hash (if any) to be encoded as hex strings. - SendPaymentSync(context.Context, *SendRequest) (*SendResponse, error) - // Deprecated: Do not use. - // lncli: `sendtoroute` - // Deprecated, use routerrpc.SendToRouteV2. SendToRoute is a bi-directional - // streaming RPC for sending payment through the Lightning Network. This - // method differs from SendPayment in that it allows users to specify a full - // route manually. This can be used for things like rebalancing, and atomic - // swaps. - SendToRoute(Lightning_SendToRouteServer) error - // SendToRouteSync is a synchronous version of SendToRoute. It Will block - // until the payment either fails or succeeds. - SendToRouteSync(context.Context, *SendToRouteRequest) (*SendResponse, error) - // lncli: `addinvoice` - // AddInvoice attempts to add a new invoice to the invoice database. Any - // duplicated invoices are rejected, therefore all invoices *must* have a - // unique payment preimage. - AddInvoice(context.Context, *Invoice) (*AddInvoiceResponse, error) - // lncli: `listinvoices` - // ListInvoices returns a list of all the invoices currently stored within the - // database. Any active debug invoices are ignored. It has full support for - // paginated responses, allowing users to query for specific invoices through - // their add_index. This can be done by using either the first_index_offset or - // last_index_offset fields included in the response as the index_offset of the - // next request. By default, the first 100 invoices created will be returned. - // Backwards pagination is also supported through the Reversed flag. - ListInvoices(context.Context, *ListInvoiceRequest) (*ListInvoiceResponse, error) - // lncli: `lookupinvoice` - // LookupInvoice attempts to look up an invoice according to its payment hash. - // The passed payment hash *must* be exactly 32 bytes, if not, an error is - // returned. - LookupInvoice(context.Context, *PaymentHash) (*Invoice, error) - // SubscribeInvoices returns a uni-directional stream (server -> client) for - // notifying the client of newly added/settled invoices. The caller can - // optionally specify the add_index and/or the settle_index. If the add_index - // is specified, then we'll first start by sending add invoice events for all - // invoices with an add_index greater than the specified value. If the - // settle_index is specified, the next, we'll send out all settle events for - // invoices with a settle_index greater than the specified value. One or both - // of these fields can be set. If no fields are set, then we'll only send out - // the latest add/settle events. - SubscribeInvoices(*InvoiceSubscription, Lightning_SubscribeInvoicesServer) error - // lncli: `decodepayreq` - // DecodePayReq takes an encoded payment request string and attempts to decode - // it, returning a full description of the conditions encoded within the - // payment request. - DecodePayReq(context.Context, *PayReqString) (*PayReq, error) - // lncli: `listpayments` - // ListPayments returns a list of all outgoing payments. - ListPayments(context.Context, *ListPaymentsRequest) (*ListPaymentsResponse, error) - // DeletePayment deletes an outgoing payment from DB. Note that it will not - // attempt to delete an In-Flight payment, since that would be unsafe. - DeletePayment(context.Context, *DeletePaymentRequest) (*DeletePaymentResponse, error) - // DeleteAllPayments deletes all outgoing payments from DB. Note that it will - // not attempt to delete In-Flight payments, since that would be unsafe. - DeleteAllPayments(context.Context, *DeleteAllPaymentsRequest) (*DeleteAllPaymentsResponse, error) - // lncli: `describegraph` - // DescribeGraph returns a description of the latest graph state from the - // point of view of the node. The graph information is partitioned into two - // components: all the nodes/vertexes, and all the edges that connect the - // vertexes themselves. As this is a directed graph, the edges also contain - // the node directional specific routing policy which includes: the time lock - // delta, fee information, etc. - DescribeGraph(context.Context, *ChannelGraphRequest) (*ChannelGraph, error) - // lncli: `getnodemetrics` - // GetNodeMetrics returns node metrics calculated from the graph. Currently - // the only supported metric is betweenness centrality of individual nodes. - GetNodeMetrics(context.Context, *NodeMetricsRequest) (*NodeMetricsResponse, error) - // lncli: `getchaninfo` - // GetChanInfo returns the latest authenticated network announcement for the - // given channel identified by its channel ID: an 8-byte integer which - // uniquely identifies the location of transaction's funding output within the - // blockchain. - GetChanInfo(context.Context, *ChanInfoRequest) (*ChannelEdge, error) - // lncli: `getnodeinfo` - // GetNodeInfo returns the latest advertised, aggregated, and authenticated - // channel information for the specified node identified by its public key. - GetNodeInfo(context.Context, *NodeInfoRequest) (*NodeInfo, error) - // lncli: `queryroutes` - // QueryRoutes attempts to query the daemon's Channel Router for a possible - // route to a target destination capable of carrying a specific amount of - // satoshis. The returned route contains the full details required to craft and - // send an HTLC, also including the necessary information that should be - // present within the Sphinx packet encapsulated within the HTLC. - // - // When using REST, the `dest_custom_records` map type can be set by appending - // `&dest_custom_records[]=` - // to the URL. Unfortunately this map type doesn't appear in the REST API - // documentation because of a bug in the grpc-gateway library. - QueryRoutes(context.Context, *QueryRoutesRequest) (*QueryRoutesResponse, error) - // lncli: `getnetworkinfo` - // GetNetworkInfo returns some basic stats about the known channel graph from - // the point of view of the node. - GetNetworkInfo(context.Context, *NetworkInfoRequest) (*NetworkInfo, error) - // lncli: `stop` - // StopDaemon will send a shutdown request to the interrupt handler, triggering - // a graceful shutdown of the daemon. - StopDaemon(context.Context, *StopRequest) (*StopResponse, error) - // SubscribeChannelGraph launches a streaming RPC that allows the caller to - // receive notifications upon any changes to the channel graph topology from - // the point of view of the responding node. Events notified include: new - // nodes coming online, nodes updating their authenticated attributes, new - // channels being advertised, updates in the routing policy for a directional - // channel edge, and when channels are closed on-chain. - SubscribeChannelGraph(*GraphTopologySubscription, Lightning_SubscribeChannelGraphServer) error - // lncli: `debuglevel` - // DebugLevel allows a caller to programmatically set the logging verbosity of - // lnd. The logging can be targeted according to a coarse daemon-wide logging - // level, or in a granular fashion to specify the logging for a target - // sub-system. - DebugLevel(context.Context, *DebugLevelRequest) (*DebugLevelResponse, error) - // lncli: `feereport` - // FeeReport allows the caller to obtain a report detailing the current fee - // schedule enforced by the node globally for each channel. - FeeReport(context.Context, *FeeReportRequest) (*FeeReportResponse, error) - // lncli: `updatechanpolicy` - // UpdateChannelPolicy allows the caller to update the fee schedule and - // channel policies for all channels globally, or a particular channel. - UpdateChannelPolicy(context.Context, *PolicyUpdateRequest) (*PolicyUpdateResponse, error) - // lncli: `fwdinghistory` - // ForwardingHistory allows the caller to query the htlcswitch for a record of - // all HTLCs forwarded within the target time range, and integer offset - // within that time range, for a maximum number of events. If no maximum number - // of events is specified, up to 100 events will be returned. If no time-range - // is specified, then events will be returned in the order that they occured. - // - // A list of forwarding events are returned. The size of each forwarding event - // is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB. - // As a result each message can only contain 50k entries. Each response has - // the index offset of the last entry. The index offset can be provided to the - // request to allow the caller to skip a series of records. - ForwardingHistory(context.Context, *ForwardingHistoryRequest) (*ForwardingHistoryResponse, error) - // lncli: `exportchanbackup` - // ExportChannelBackup attempts to return an encrypted static channel backup - // for the target channel identified by it channel point. The backup is - // encrypted with a key generated from the aezeed seed of the user. The - // returned backup can either be restored using the RestoreChannelBackup - // method once lnd is running, or via the InitWallet and UnlockWallet methods - // from the WalletUnlocker service. - ExportChannelBackup(context.Context, *ExportChannelBackupRequest) (*ChannelBackup, error) - // ExportAllChannelBackups returns static channel backups for all existing - // channels known to lnd. A set of regular singular static channel backups for - // each channel are returned. Additionally, a multi-channel backup is returned - // as well, which contains a single encrypted blob containing the backups of - // each channel. - ExportAllChannelBackups(context.Context, *ChanBackupExportRequest) (*ChanBackupSnapshot, error) - // VerifyChanBackup allows a caller to verify the integrity of a channel backup - // snapshot. This method will accept either a packed Single or a packed Multi. - // Specifying both will result in an error. - VerifyChanBackup(context.Context, *ChanBackupSnapshot) (*VerifyChanBackupResponse, error) - // lncli: `restorechanbackup` - // RestoreChannelBackups accepts a set of singular channel backups, or a - // single encrypted multi-chan backup and attempts to recover any funds - // remaining within the channel. If we are able to unpack the backup, then the - // new channel will be shown under listchannels, as well as pending channels. - RestoreChannelBackups(context.Context, *RestoreChanBackupRequest) (*RestoreBackupResponse, error) - // SubscribeChannelBackups allows a client to sub-subscribe to the most up to - // date information concerning the state of all channel backups. Each time a - // new channel is added, we return the new set of channels, along with a - // multi-chan backup containing the backup info for all channels. Each time a - // channel is closed, we send a new update, which contains new new chan back - // ups, but the updated set of encrypted multi-chan backups with the closed - // channel(s) removed. - SubscribeChannelBackups(*ChannelBackupSubscription, Lightning_SubscribeChannelBackupsServer) error - // lncli: `bakemacaroon` - // BakeMacaroon allows the creation of a new macaroon with custom read and - // write permissions. No first-party caveats are added since this can be done - // offline. - BakeMacaroon(context.Context, *BakeMacaroonRequest) (*BakeMacaroonResponse, error) - // lncli: `listmacaroonids` - // ListMacaroonIDs returns all root key IDs that are in use. - ListMacaroonIDs(context.Context, *ListMacaroonIDsRequest) (*ListMacaroonIDsResponse, error) - // lncli: `deletemacaroonid` - // DeleteMacaroonID deletes the specified macaroon ID and invalidates all - // macaroons derived from that ID. - DeleteMacaroonID(context.Context, *DeleteMacaroonIDRequest) (*DeleteMacaroonIDResponse, error) - // lncli: `listpermissions` - // ListPermissions lists all RPC method URIs and their required macaroon - // permissions to access them. - ListPermissions(context.Context, *ListPermissionsRequest) (*ListPermissionsResponse, error) - // CheckMacaroonPermissions checks whether a request follows the constraints - // imposed on the macaroon and that the macaroon is authorized to follow the - // provided permissions. - CheckMacaroonPermissions(context.Context, *CheckMacPermRequest) (*CheckMacPermResponse, error) - // RegisterRPCMiddleware adds a new gRPC middleware to the interceptor chain. A - // gRPC middleware is software component external to lnd that aims to add - // additional business logic to lnd by observing/intercepting/validating - // incoming gRPC client requests and (if needed) replacing/overwriting outgoing - // messages before they're sent to the client. When registering the middleware - // must identify itself and indicate what custom macaroon caveats it wants to - // be responsible for. Only requests that contain a macaroon with that specific - // custom caveat are then sent to the middleware for inspection. The other - // option is to register for the read-only mode in which all requests/responses - // are forwarded for interception to the middleware but the middleware is not - // allowed to modify any responses. As a security measure, _no_ middleware can - // modify responses for requests made with _unencumbered_ macaroons! - RegisterRPCMiddleware(Lightning_RegisterRPCMiddlewareServer) error - // lncli: `sendcustom` - // SendCustomMessage sends a custom peer message. - SendCustomMessage(context.Context, *SendCustomMessageRequest) (*SendCustomMessageResponse, error) - // lncli: `subscribecustom` - // SubscribeCustomMessages subscribes to a stream of incoming custom peer - // messages. - SubscribeCustomMessages(*SubscribeCustomMessagesRequest, Lightning_SubscribeCustomMessagesServer) error - // lncli: `listaliases` - // ListAliases returns the set of all aliases that have ever existed with - // their confirmed SCID (if it exists) and/or the base SCID (in the case of - // zero conf). - ListAliases(context.Context, *ListAliasesRequest) (*ListAliasesResponse, error) - mustEmbedUnimplementedLightningServer() -} - -// UnimplementedLightningServer must be embedded to have forward compatible implementations. -type UnimplementedLightningServer struct { -} - -func (UnimplementedLightningServer) WalletBalance(context.Context, *WalletBalanceRequest) (*WalletBalanceResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method WalletBalance not implemented") -} -func (UnimplementedLightningServer) ChannelBalance(context.Context, *ChannelBalanceRequest) (*ChannelBalanceResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ChannelBalance not implemented") -} -func (UnimplementedLightningServer) GetTransactions(context.Context, *GetTransactionsRequest) (*TransactionDetails, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetTransactions not implemented") -} -func (UnimplementedLightningServer) EstimateFee(context.Context, *EstimateFeeRequest) (*EstimateFeeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method EstimateFee not implemented") -} -func (UnimplementedLightningServer) SendCoins(context.Context, *SendCoinsRequest) (*SendCoinsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SendCoins not implemented") -} -func (UnimplementedLightningServer) ListUnspent(context.Context, *ListUnspentRequest) (*ListUnspentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListUnspent not implemented") -} -func (UnimplementedLightningServer) SubscribeTransactions(*GetTransactionsRequest, Lightning_SubscribeTransactionsServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeTransactions not implemented") -} -func (UnimplementedLightningServer) SendMany(context.Context, *SendManyRequest) (*SendManyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SendMany not implemented") -} -func (UnimplementedLightningServer) NewAddress(context.Context, *NewAddressRequest) (*NewAddressResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method NewAddress not implemented") -} -func (UnimplementedLightningServer) SignMessage(context.Context, *SignMessageRequest) (*SignMessageResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SignMessage not implemented") -} -func (UnimplementedLightningServer) VerifyMessage(context.Context, *VerifyMessageRequest) (*VerifyMessageResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method VerifyMessage not implemented") -} -func (UnimplementedLightningServer) ConnectPeer(context.Context, *ConnectPeerRequest) (*ConnectPeerResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ConnectPeer not implemented") -} -func (UnimplementedLightningServer) DisconnectPeer(context.Context, *DisconnectPeerRequest) (*DisconnectPeerResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DisconnectPeer not implemented") -} -func (UnimplementedLightningServer) ListPeers(context.Context, *ListPeersRequest) (*ListPeersResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListPeers not implemented") -} -func (UnimplementedLightningServer) SubscribePeerEvents(*PeerEventSubscription, Lightning_SubscribePeerEventsServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribePeerEvents not implemented") -} -func (UnimplementedLightningServer) GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetInfo not implemented") -} -func (UnimplementedLightningServer) GetRecoveryInfo(context.Context, *GetRecoveryInfoRequest) (*GetRecoveryInfoResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetRecoveryInfo not implemented") -} -func (UnimplementedLightningServer) PendingChannels(context.Context, *PendingChannelsRequest) (*PendingChannelsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method PendingChannels not implemented") -} -func (UnimplementedLightningServer) ListChannels(context.Context, *ListChannelsRequest) (*ListChannelsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListChannels not implemented") -} -func (UnimplementedLightningServer) SubscribeChannelEvents(*ChannelEventSubscription, Lightning_SubscribeChannelEventsServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeChannelEvents not implemented") -} -func (UnimplementedLightningServer) ClosedChannels(context.Context, *ClosedChannelsRequest) (*ClosedChannelsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ClosedChannels not implemented") -} -func (UnimplementedLightningServer) OpenChannelSync(context.Context, *OpenChannelRequest) (*ChannelPoint, error) { - return nil, status.Errorf(codes.Unimplemented, "method OpenChannelSync not implemented") -} -func (UnimplementedLightningServer) OpenChannel(*OpenChannelRequest, Lightning_OpenChannelServer) error { - return status.Errorf(codes.Unimplemented, "method OpenChannel not implemented") -} -func (UnimplementedLightningServer) BatchOpenChannel(context.Context, *BatchOpenChannelRequest) (*BatchOpenChannelResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BatchOpenChannel not implemented") -} -func (UnimplementedLightningServer) FundingStateStep(context.Context, *FundingTransitionMsg) (*FundingStateStepResp, error) { - return nil, status.Errorf(codes.Unimplemented, "method FundingStateStep not implemented") -} -func (UnimplementedLightningServer) ChannelAcceptor(Lightning_ChannelAcceptorServer) error { - return status.Errorf(codes.Unimplemented, "method ChannelAcceptor not implemented") -} -func (UnimplementedLightningServer) CloseChannel(*CloseChannelRequest, Lightning_CloseChannelServer) error { - return status.Errorf(codes.Unimplemented, "method CloseChannel not implemented") -} -func (UnimplementedLightningServer) AbandonChannel(context.Context, *AbandonChannelRequest) (*AbandonChannelResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AbandonChannel not implemented") -} -func (UnimplementedLightningServer) SendPayment(Lightning_SendPaymentServer) error { - return status.Errorf(codes.Unimplemented, "method SendPayment not implemented") -} -func (UnimplementedLightningServer) SendPaymentSync(context.Context, *SendRequest) (*SendResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SendPaymentSync not implemented") -} -func (UnimplementedLightningServer) SendToRoute(Lightning_SendToRouteServer) error { - return status.Errorf(codes.Unimplemented, "method SendToRoute not implemented") -} -func (UnimplementedLightningServer) SendToRouteSync(context.Context, *SendToRouteRequest) (*SendResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SendToRouteSync not implemented") -} -func (UnimplementedLightningServer) AddInvoice(context.Context, *Invoice) (*AddInvoiceResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddInvoice not implemented") -} -func (UnimplementedLightningServer) ListInvoices(context.Context, *ListInvoiceRequest) (*ListInvoiceResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListInvoices not implemented") -} -func (UnimplementedLightningServer) LookupInvoice(context.Context, *PaymentHash) (*Invoice, error) { - return nil, status.Errorf(codes.Unimplemented, "method LookupInvoice not implemented") -} -func (UnimplementedLightningServer) SubscribeInvoices(*InvoiceSubscription, Lightning_SubscribeInvoicesServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeInvoices not implemented") -} -func (UnimplementedLightningServer) DecodePayReq(context.Context, *PayReqString) (*PayReq, error) { - return nil, status.Errorf(codes.Unimplemented, "method DecodePayReq not implemented") -} -func (UnimplementedLightningServer) ListPayments(context.Context, *ListPaymentsRequest) (*ListPaymentsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListPayments not implemented") -} -func (UnimplementedLightningServer) DeletePayment(context.Context, *DeletePaymentRequest) (*DeletePaymentResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeletePayment not implemented") -} -func (UnimplementedLightningServer) DeleteAllPayments(context.Context, *DeleteAllPaymentsRequest) (*DeleteAllPaymentsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteAllPayments not implemented") -} -func (UnimplementedLightningServer) DescribeGraph(context.Context, *ChannelGraphRequest) (*ChannelGraph, error) { - return nil, status.Errorf(codes.Unimplemented, "method DescribeGraph not implemented") -} -func (UnimplementedLightningServer) GetNodeMetrics(context.Context, *NodeMetricsRequest) (*NodeMetricsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetNodeMetrics not implemented") -} -func (UnimplementedLightningServer) GetChanInfo(context.Context, *ChanInfoRequest) (*ChannelEdge, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetChanInfo not implemented") -} -func (UnimplementedLightningServer) GetNodeInfo(context.Context, *NodeInfoRequest) (*NodeInfo, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetNodeInfo not implemented") -} -func (UnimplementedLightningServer) QueryRoutes(context.Context, *QueryRoutesRequest) (*QueryRoutesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method QueryRoutes not implemented") -} -func (UnimplementedLightningServer) GetNetworkInfo(context.Context, *NetworkInfoRequest) (*NetworkInfo, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetNetworkInfo not implemented") -} -func (UnimplementedLightningServer) StopDaemon(context.Context, *StopRequest) (*StopResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method StopDaemon not implemented") -} -func (UnimplementedLightningServer) SubscribeChannelGraph(*GraphTopologySubscription, Lightning_SubscribeChannelGraphServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeChannelGraph not implemented") -} -func (UnimplementedLightningServer) DebugLevel(context.Context, *DebugLevelRequest) (*DebugLevelResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DebugLevel not implemented") -} -func (UnimplementedLightningServer) FeeReport(context.Context, *FeeReportRequest) (*FeeReportResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method FeeReport not implemented") -} -func (UnimplementedLightningServer) UpdateChannelPolicy(context.Context, *PolicyUpdateRequest) (*PolicyUpdateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateChannelPolicy not implemented") -} -func (UnimplementedLightningServer) ForwardingHistory(context.Context, *ForwardingHistoryRequest) (*ForwardingHistoryResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ForwardingHistory not implemented") -} -func (UnimplementedLightningServer) ExportChannelBackup(context.Context, *ExportChannelBackupRequest) (*ChannelBackup, error) { - return nil, status.Errorf(codes.Unimplemented, "method ExportChannelBackup not implemented") -} -func (UnimplementedLightningServer) ExportAllChannelBackups(context.Context, *ChanBackupExportRequest) (*ChanBackupSnapshot, error) { - return nil, status.Errorf(codes.Unimplemented, "method ExportAllChannelBackups not implemented") -} -func (UnimplementedLightningServer) VerifyChanBackup(context.Context, *ChanBackupSnapshot) (*VerifyChanBackupResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method VerifyChanBackup not implemented") -} -func (UnimplementedLightningServer) RestoreChannelBackups(context.Context, *RestoreChanBackupRequest) (*RestoreBackupResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RestoreChannelBackups not implemented") -} -func (UnimplementedLightningServer) SubscribeChannelBackups(*ChannelBackupSubscription, Lightning_SubscribeChannelBackupsServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeChannelBackups not implemented") -} -func (UnimplementedLightningServer) BakeMacaroon(context.Context, *BakeMacaroonRequest) (*BakeMacaroonResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BakeMacaroon not implemented") -} -func (UnimplementedLightningServer) ListMacaroonIDs(context.Context, *ListMacaroonIDsRequest) (*ListMacaroonIDsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListMacaroonIDs not implemented") -} -func (UnimplementedLightningServer) DeleteMacaroonID(context.Context, *DeleteMacaroonIDRequest) (*DeleteMacaroonIDResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteMacaroonID not implemented") -} -func (UnimplementedLightningServer) ListPermissions(context.Context, *ListPermissionsRequest) (*ListPermissionsResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListPermissions not implemented") -} -func (UnimplementedLightningServer) CheckMacaroonPermissions(context.Context, *CheckMacPermRequest) (*CheckMacPermResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CheckMacaroonPermissions not implemented") -} -func (UnimplementedLightningServer) RegisterRPCMiddleware(Lightning_RegisterRPCMiddlewareServer) error { - return status.Errorf(codes.Unimplemented, "method RegisterRPCMiddleware not implemented") -} -func (UnimplementedLightningServer) SendCustomMessage(context.Context, *SendCustomMessageRequest) (*SendCustomMessageResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SendCustomMessage not implemented") -} -func (UnimplementedLightningServer) SubscribeCustomMessages(*SubscribeCustomMessagesRequest, Lightning_SubscribeCustomMessagesServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeCustomMessages not implemented") -} -func (UnimplementedLightningServer) ListAliases(context.Context, *ListAliasesRequest) (*ListAliasesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListAliases not implemented") -} -func (UnimplementedLightningServer) mustEmbedUnimplementedLightningServer() {} - -// UnsafeLightningServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to LightningServer will -// result in compilation errors. -type UnsafeLightningServer interface { - mustEmbedUnimplementedLightningServer() -} - -func RegisterLightningServer(s grpc.ServiceRegistrar, srv LightningServer) { - s.RegisterService(&Lightning_ServiceDesc, srv) -} - -func _Lightning_WalletBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(WalletBalanceRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).WalletBalance(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/WalletBalance", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).WalletBalance(ctx, req.(*WalletBalanceRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ChannelBalance_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChannelBalanceRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ChannelBalance(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ChannelBalance", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ChannelBalance(ctx, req.(*ChannelBalanceRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_GetTransactions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetTransactionsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).GetTransactions(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/GetTransactions", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).GetTransactions(ctx, req.(*GetTransactionsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_EstimateFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(EstimateFeeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).EstimateFee(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/EstimateFee", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).EstimateFee(ctx, req.(*EstimateFeeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SendCoins_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SendCoinsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).SendCoins(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/SendCoins", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).SendCoins(ctx, req.(*SendCoinsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ListUnspent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListUnspentRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ListUnspent(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ListUnspent", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ListUnspent(ctx, req.(*ListUnspentRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SubscribeTransactions_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(GetTransactionsRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(LightningServer).SubscribeTransactions(m, &lightningSubscribeTransactionsServer{stream}) -} - -type Lightning_SubscribeTransactionsServer interface { - Send(*Transaction) error - grpc.ServerStream -} - -type lightningSubscribeTransactionsServer struct { - grpc.ServerStream -} - -func (x *lightningSubscribeTransactionsServer) Send(m *Transaction) error { - return x.ServerStream.SendMsg(m) -} - -func _Lightning_SendMany_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SendManyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).SendMany(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/SendMany", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).SendMany(ctx, req.(*SendManyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_NewAddress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NewAddressRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).NewAddress(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/NewAddress", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).NewAddress(ctx, req.(*NewAddressRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SignMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SignMessageRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).SignMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/SignMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).SignMessage(ctx, req.(*SignMessageRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_VerifyMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(VerifyMessageRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).VerifyMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/VerifyMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).VerifyMessage(ctx, req.(*VerifyMessageRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ConnectPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ConnectPeerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ConnectPeer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ConnectPeer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ConnectPeer(ctx, req.(*ConnectPeerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_DisconnectPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DisconnectPeerRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).DisconnectPeer(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/DisconnectPeer", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).DisconnectPeer(ctx, req.(*DisconnectPeerRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ListPeers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListPeersRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ListPeers(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ListPeers", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ListPeers(ctx, req.(*ListPeersRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SubscribePeerEvents_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(PeerEventSubscription) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(LightningServer).SubscribePeerEvents(m, &lightningSubscribePeerEventsServer{stream}) -} - -type Lightning_SubscribePeerEventsServer interface { - Send(*PeerEvent) error - grpc.ServerStream -} - -type lightningSubscribePeerEventsServer struct { - grpc.ServerStream -} - -func (x *lightningSubscribePeerEventsServer) Send(m *PeerEvent) error { - return x.ServerStream.SendMsg(m) -} - -func _Lightning_GetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).GetInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/GetInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).GetInfo(ctx, req.(*GetInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_GetRecoveryInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetRecoveryInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).GetRecoveryInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/GetRecoveryInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).GetRecoveryInfo(ctx, req.(*GetRecoveryInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_PendingChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PendingChannelsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).PendingChannels(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/PendingChannels", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).PendingChannels(ctx, req.(*PendingChannelsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ListChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListChannelsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ListChannels(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ListChannels", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ListChannels(ctx, req.(*ListChannelsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SubscribeChannelEvents_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ChannelEventSubscription) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(LightningServer).SubscribeChannelEvents(m, &lightningSubscribeChannelEventsServer{stream}) -} - -type Lightning_SubscribeChannelEventsServer interface { - Send(*ChannelEventUpdate) error - grpc.ServerStream -} - -type lightningSubscribeChannelEventsServer struct { - grpc.ServerStream -} - -func (x *lightningSubscribeChannelEventsServer) Send(m *ChannelEventUpdate) error { - return x.ServerStream.SendMsg(m) -} - -func _Lightning_ClosedChannels_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ClosedChannelsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ClosedChannels(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ClosedChannels", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ClosedChannels(ctx, req.(*ClosedChannelsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_OpenChannelSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(OpenChannelRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).OpenChannelSync(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/OpenChannelSync", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).OpenChannelSync(ctx, req.(*OpenChannelRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_OpenChannel_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(OpenChannelRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(LightningServer).OpenChannel(m, &lightningOpenChannelServer{stream}) -} - -type Lightning_OpenChannelServer interface { - Send(*OpenStatusUpdate) error - grpc.ServerStream -} - -type lightningOpenChannelServer struct { - grpc.ServerStream -} - -func (x *lightningOpenChannelServer) Send(m *OpenStatusUpdate) error { - return x.ServerStream.SendMsg(m) -} - -func _Lightning_BatchOpenChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BatchOpenChannelRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).BatchOpenChannel(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/BatchOpenChannel", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).BatchOpenChannel(ctx, req.(*BatchOpenChannelRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_FundingStateStep_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(FundingTransitionMsg) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).FundingStateStep(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/FundingStateStep", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).FundingStateStep(ctx, req.(*FundingTransitionMsg)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ChannelAcceptor_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(LightningServer).ChannelAcceptor(&lightningChannelAcceptorServer{stream}) -} - -type Lightning_ChannelAcceptorServer interface { - Send(*ChannelAcceptRequest) error - Recv() (*ChannelAcceptResponse, error) - grpc.ServerStream -} - -type lightningChannelAcceptorServer struct { - grpc.ServerStream -} - -func (x *lightningChannelAcceptorServer) Send(m *ChannelAcceptRequest) error { - return x.ServerStream.SendMsg(m) -} - -func (x *lightningChannelAcceptorServer) Recv() (*ChannelAcceptResponse, error) { - m := new(ChannelAcceptResponse) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _Lightning_CloseChannel_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(CloseChannelRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(LightningServer).CloseChannel(m, &lightningCloseChannelServer{stream}) -} - -type Lightning_CloseChannelServer interface { - Send(*CloseStatusUpdate) error - grpc.ServerStream -} - -type lightningCloseChannelServer struct { - grpc.ServerStream -} - -func (x *lightningCloseChannelServer) Send(m *CloseStatusUpdate) error { - return x.ServerStream.SendMsg(m) -} - -func _Lightning_AbandonChannel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AbandonChannelRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).AbandonChannel(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/AbandonChannel", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).AbandonChannel(ctx, req.(*AbandonChannelRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SendPayment_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(LightningServer).SendPayment(&lightningSendPaymentServer{stream}) -} - -type Lightning_SendPaymentServer interface { - Send(*SendResponse) error - Recv() (*SendRequest, error) - grpc.ServerStream -} - -type lightningSendPaymentServer struct { - grpc.ServerStream -} - -func (x *lightningSendPaymentServer) Send(m *SendResponse) error { - return x.ServerStream.SendMsg(m) -} - -func (x *lightningSendPaymentServer) Recv() (*SendRequest, error) { - m := new(SendRequest) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _Lightning_SendPaymentSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SendRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).SendPaymentSync(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/SendPaymentSync", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).SendPaymentSync(ctx, req.(*SendRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SendToRoute_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(LightningServer).SendToRoute(&lightningSendToRouteServer{stream}) -} - -type Lightning_SendToRouteServer interface { - Send(*SendResponse) error - Recv() (*SendToRouteRequest, error) - grpc.ServerStream -} - -type lightningSendToRouteServer struct { - grpc.ServerStream -} - -func (x *lightningSendToRouteServer) Send(m *SendResponse) error { - return x.ServerStream.SendMsg(m) -} - -func (x *lightningSendToRouteServer) Recv() (*SendToRouteRequest, error) { - m := new(SendToRouteRequest) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _Lightning_SendToRouteSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SendToRouteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).SendToRouteSync(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/SendToRouteSync", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).SendToRouteSync(ctx, req.(*SendToRouteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_AddInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(Invoice) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).AddInvoice(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/AddInvoice", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).AddInvoice(ctx, req.(*Invoice)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ListInvoices_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListInvoiceRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ListInvoices(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ListInvoices", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ListInvoices(ctx, req.(*ListInvoiceRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_LookupInvoice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PaymentHash) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).LookupInvoice(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/LookupInvoice", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).LookupInvoice(ctx, req.(*PaymentHash)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SubscribeInvoices_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(InvoiceSubscription) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(LightningServer).SubscribeInvoices(m, &lightningSubscribeInvoicesServer{stream}) -} - -type Lightning_SubscribeInvoicesServer interface { - Send(*Invoice) error - grpc.ServerStream -} - -type lightningSubscribeInvoicesServer struct { - grpc.ServerStream -} - -func (x *lightningSubscribeInvoicesServer) Send(m *Invoice) error { - return x.ServerStream.SendMsg(m) -} - -func _Lightning_DecodePayReq_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PayReqString) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).DecodePayReq(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/DecodePayReq", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).DecodePayReq(ctx, req.(*PayReqString)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ListPayments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListPaymentsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ListPayments(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ListPayments", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ListPayments(ctx, req.(*ListPaymentsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_DeletePayment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeletePaymentRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).DeletePayment(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/DeletePayment", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).DeletePayment(ctx, req.(*DeletePaymentRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_DeleteAllPayments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteAllPaymentsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).DeleteAllPayments(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/DeleteAllPayments", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).DeleteAllPayments(ctx, req.(*DeleteAllPaymentsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_DescribeGraph_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChannelGraphRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).DescribeGraph(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/DescribeGraph", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).DescribeGraph(ctx, req.(*ChannelGraphRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_GetNodeMetrics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NodeMetricsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).GetNodeMetrics(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/GetNodeMetrics", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).GetNodeMetrics(ctx, req.(*NodeMetricsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_GetChanInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChanInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).GetChanInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/GetChanInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).GetChanInfo(ctx, req.(*ChanInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_GetNodeInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NodeInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).GetNodeInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/GetNodeInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).GetNodeInfo(ctx, req.(*NodeInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_QueryRoutes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryRoutesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).QueryRoutes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/QueryRoutes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).QueryRoutes(ctx, req.(*QueryRoutesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_GetNetworkInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(NetworkInfoRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).GetNetworkInfo(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/GetNetworkInfo", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).GetNetworkInfo(ctx, req.(*NetworkInfoRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_StopDaemon_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(StopRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).StopDaemon(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/StopDaemon", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).StopDaemon(ctx, req.(*StopRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SubscribeChannelGraph_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(GraphTopologySubscription) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(LightningServer).SubscribeChannelGraph(m, &lightningSubscribeChannelGraphServer{stream}) -} - -type Lightning_SubscribeChannelGraphServer interface { - Send(*GraphTopologyUpdate) error - grpc.ServerStream -} - -type lightningSubscribeChannelGraphServer struct { - grpc.ServerStream -} - -func (x *lightningSubscribeChannelGraphServer) Send(m *GraphTopologyUpdate) error { - return x.ServerStream.SendMsg(m) -} - -func _Lightning_DebugLevel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DebugLevelRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).DebugLevel(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/DebugLevel", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).DebugLevel(ctx, req.(*DebugLevelRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_FeeReport_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(FeeReportRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).FeeReport(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/FeeReport", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).FeeReport(ctx, req.(*FeeReportRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_UpdateChannelPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PolicyUpdateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).UpdateChannelPolicy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/UpdateChannelPolicy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).UpdateChannelPolicy(ctx, req.(*PolicyUpdateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ForwardingHistory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ForwardingHistoryRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ForwardingHistory(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ForwardingHistory", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ForwardingHistory(ctx, req.(*ForwardingHistoryRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ExportChannelBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ExportChannelBackupRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ExportChannelBackup(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ExportChannelBackup", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ExportChannelBackup(ctx, req.(*ExportChannelBackupRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ExportAllChannelBackups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChanBackupExportRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ExportAllChannelBackups(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ExportAllChannelBackups", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ExportAllChannelBackups(ctx, req.(*ChanBackupExportRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_VerifyChanBackup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChanBackupSnapshot) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).VerifyChanBackup(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/VerifyChanBackup", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).VerifyChanBackup(ctx, req.(*ChanBackupSnapshot)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_RestoreChannelBackups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RestoreChanBackupRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).RestoreChannelBackups(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/RestoreChannelBackups", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).RestoreChannelBackups(ctx, req.(*RestoreChanBackupRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SubscribeChannelBackups_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(ChannelBackupSubscription) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(LightningServer).SubscribeChannelBackups(m, &lightningSubscribeChannelBackupsServer{stream}) -} - -type Lightning_SubscribeChannelBackupsServer interface { - Send(*ChanBackupSnapshot) error - grpc.ServerStream -} - -type lightningSubscribeChannelBackupsServer struct { - grpc.ServerStream -} - -func (x *lightningSubscribeChannelBackupsServer) Send(m *ChanBackupSnapshot) error { - return x.ServerStream.SendMsg(m) -} - -func _Lightning_BakeMacaroon_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BakeMacaroonRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).BakeMacaroon(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/BakeMacaroon", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).BakeMacaroon(ctx, req.(*BakeMacaroonRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ListMacaroonIDs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListMacaroonIDsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ListMacaroonIDs(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ListMacaroonIDs", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ListMacaroonIDs(ctx, req.(*ListMacaroonIDsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_DeleteMacaroonID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteMacaroonIDRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).DeleteMacaroonID(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/DeleteMacaroonID", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).DeleteMacaroonID(ctx, req.(*DeleteMacaroonIDRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_ListPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListPermissionsRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ListPermissions(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ListPermissions", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ListPermissions(ctx, req.(*ListPermissionsRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_CheckMacaroonPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CheckMacPermRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).CheckMacaroonPermissions(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/CheckMacaroonPermissions", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).CheckMacaroonPermissions(ctx, req.(*CheckMacPermRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_RegisterRPCMiddleware_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(LightningServer).RegisterRPCMiddleware(&lightningRegisterRPCMiddlewareServer{stream}) -} - -type Lightning_RegisterRPCMiddlewareServer interface { - Send(*RPCMiddlewareRequest) error - Recv() (*RPCMiddlewareResponse, error) - grpc.ServerStream -} - -type lightningRegisterRPCMiddlewareServer struct { - grpc.ServerStream -} - -func (x *lightningRegisterRPCMiddlewareServer) Send(m *RPCMiddlewareRequest) error { - return x.ServerStream.SendMsg(m) -} - -func (x *lightningRegisterRPCMiddlewareServer) Recv() (*RPCMiddlewareResponse, error) { - m := new(RPCMiddlewareResponse) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func _Lightning_SendCustomMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SendCustomMessageRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).SendCustomMessage(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/SendCustomMessage", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).SendCustomMessage(ctx, req.(*SendCustomMessageRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Lightning_SubscribeCustomMessages_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SubscribeCustomMessagesRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(LightningServer).SubscribeCustomMessages(m, &lightningSubscribeCustomMessagesServer{stream}) -} - -type Lightning_SubscribeCustomMessagesServer interface { - Send(*CustomMessage) error - grpc.ServerStream -} - -type lightningSubscribeCustomMessagesServer struct { - grpc.ServerStream -} - -func (x *lightningSubscribeCustomMessagesServer) Send(m *CustomMessage) error { - return x.ServerStream.SendMsg(m) -} - -func _Lightning_ListAliases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListAliasesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightningServer).ListAliases(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.Lightning/ListAliases", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightningServer).ListAliases(ctx, req.(*ListAliasesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// Lightning_ServiceDesc is the grpc.ServiceDesc for Lightning service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var Lightning_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "lnrpc.Lightning", - HandlerType: (*LightningServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "WalletBalance", - Handler: _Lightning_WalletBalance_Handler, - }, - { - MethodName: "ChannelBalance", - Handler: _Lightning_ChannelBalance_Handler, - }, - { - MethodName: "GetTransactions", - Handler: _Lightning_GetTransactions_Handler, - }, - { - MethodName: "EstimateFee", - Handler: _Lightning_EstimateFee_Handler, - }, - { - MethodName: "SendCoins", - Handler: _Lightning_SendCoins_Handler, - }, - { - MethodName: "ListUnspent", - Handler: _Lightning_ListUnspent_Handler, - }, - { - MethodName: "SendMany", - Handler: _Lightning_SendMany_Handler, - }, - { - MethodName: "NewAddress", - Handler: _Lightning_NewAddress_Handler, - }, - { - MethodName: "SignMessage", - Handler: _Lightning_SignMessage_Handler, - }, - { - MethodName: "VerifyMessage", - Handler: _Lightning_VerifyMessage_Handler, - }, - { - MethodName: "ConnectPeer", - Handler: _Lightning_ConnectPeer_Handler, - }, - { - MethodName: "DisconnectPeer", - Handler: _Lightning_DisconnectPeer_Handler, - }, - { - MethodName: "ListPeers", - Handler: _Lightning_ListPeers_Handler, - }, - { - MethodName: "GetInfo", - Handler: _Lightning_GetInfo_Handler, - }, - { - MethodName: "GetRecoveryInfo", - Handler: _Lightning_GetRecoveryInfo_Handler, - }, - { - MethodName: "PendingChannels", - Handler: _Lightning_PendingChannels_Handler, - }, - { - MethodName: "ListChannels", - Handler: _Lightning_ListChannels_Handler, - }, - { - MethodName: "ClosedChannels", - Handler: _Lightning_ClosedChannels_Handler, - }, - { - MethodName: "OpenChannelSync", - Handler: _Lightning_OpenChannelSync_Handler, - }, - { - MethodName: "BatchOpenChannel", - Handler: _Lightning_BatchOpenChannel_Handler, - }, - { - MethodName: "FundingStateStep", - Handler: _Lightning_FundingStateStep_Handler, - }, - { - MethodName: "AbandonChannel", - Handler: _Lightning_AbandonChannel_Handler, - }, - { - MethodName: "SendPaymentSync", - Handler: _Lightning_SendPaymentSync_Handler, - }, - { - MethodName: "SendToRouteSync", - Handler: _Lightning_SendToRouteSync_Handler, - }, - { - MethodName: "AddInvoice", - Handler: _Lightning_AddInvoice_Handler, - }, - { - MethodName: "ListInvoices", - Handler: _Lightning_ListInvoices_Handler, - }, - { - MethodName: "LookupInvoice", - Handler: _Lightning_LookupInvoice_Handler, - }, - { - MethodName: "DecodePayReq", - Handler: _Lightning_DecodePayReq_Handler, - }, - { - MethodName: "ListPayments", - Handler: _Lightning_ListPayments_Handler, - }, - { - MethodName: "DeletePayment", - Handler: _Lightning_DeletePayment_Handler, - }, - { - MethodName: "DeleteAllPayments", - Handler: _Lightning_DeleteAllPayments_Handler, - }, - { - MethodName: "DescribeGraph", - Handler: _Lightning_DescribeGraph_Handler, - }, - { - MethodName: "GetNodeMetrics", - Handler: _Lightning_GetNodeMetrics_Handler, - }, - { - MethodName: "GetChanInfo", - Handler: _Lightning_GetChanInfo_Handler, - }, - { - MethodName: "GetNodeInfo", - Handler: _Lightning_GetNodeInfo_Handler, - }, - { - MethodName: "QueryRoutes", - Handler: _Lightning_QueryRoutes_Handler, - }, - { - MethodName: "GetNetworkInfo", - Handler: _Lightning_GetNetworkInfo_Handler, - }, - { - MethodName: "StopDaemon", - Handler: _Lightning_StopDaemon_Handler, - }, - { - MethodName: "DebugLevel", - Handler: _Lightning_DebugLevel_Handler, - }, - { - MethodName: "FeeReport", - Handler: _Lightning_FeeReport_Handler, - }, - { - MethodName: "UpdateChannelPolicy", - Handler: _Lightning_UpdateChannelPolicy_Handler, - }, - { - MethodName: "ForwardingHistory", - Handler: _Lightning_ForwardingHistory_Handler, - }, - { - MethodName: "ExportChannelBackup", - Handler: _Lightning_ExportChannelBackup_Handler, - }, - { - MethodName: "ExportAllChannelBackups", - Handler: _Lightning_ExportAllChannelBackups_Handler, - }, - { - MethodName: "VerifyChanBackup", - Handler: _Lightning_VerifyChanBackup_Handler, - }, - { - MethodName: "RestoreChannelBackups", - Handler: _Lightning_RestoreChannelBackups_Handler, - }, - { - MethodName: "BakeMacaroon", - Handler: _Lightning_BakeMacaroon_Handler, - }, - { - MethodName: "ListMacaroonIDs", - Handler: _Lightning_ListMacaroonIDs_Handler, - }, - { - MethodName: "DeleteMacaroonID", - Handler: _Lightning_DeleteMacaroonID_Handler, - }, - { - MethodName: "ListPermissions", - Handler: _Lightning_ListPermissions_Handler, - }, - { - MethodName: "CheckMacaroonPermissions", - Handler: _Lightning_CheckMacaroonPermissions_Handler, - }, - { - MethodName: "SendCustomMessage", - Handler: _Lightning_SendCustomMessage_Handler, - }, - { - MethodName: "ListAliases", - Handler: _Lightning_ListAliases_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "SubscribeTransactions", - Handler: _Lightning_SubscribeTransactions_Handler, - ServerStreams: true, - }, - { - StreamName: "SubscribePeerEvents", - Handler: _Lightning_SubscribePeerEvents_Handler, - ServerStreams: true, - }, - { - StreamName: "SubscribeChannelEvents", - Handler: _Lightning_SubscribeChannelEvents_Handler, - ServerStreams: true, - }, - { - StreamName: "OpenChannel", - Handler: _Lightning_OpenChannel_Handler, - ServerStreams: true, - }, - { - StreamName: "ChannelAcceptor", - Handler: _Lightning_ChannelAcceptor_Handler, - ServerStreams: true, - ClientStreams: true, - }, - { - StreamName: "CloseChannel", - Handler: _Lightning_CloseChannel_Handler, - ServerStreams: true, - }, - { - StreamName: "SendPayment", - Handler: _Lightning_SendPayment_Handler, - ServerStreams: true, - ClientStreams: true, - }, - { - StreamName: "SendToRoute", - Handler: _Lightning_SendToRoute_Handler, - ServerStreams: true, - ClientStreams: true, - }, - { - StreamName: "SubscribeInvoices", - Handler: _Lightning_SubscribeInvoices_Handler, - ServerStreams: true, - }, - { - StreamName: "SubscribeChannelGraph", - Handler: _Lightning_SubscribeChannelGraph_Handler, - ServerStreams: true, - }, - { - StreamName: "SubscribeChannelBackups", - Handler: _Lightning_SubscribeChannelBackups_Handler, - ServerStreams: true, - }, - { - StreamName: "RegisterRPCMiddleware", - Handler: _Lightning_RegisterRPCMiddleware_Handler, - ServerStreams: true, - ClientStreams: true, - }, - { - StreamName: "SubscribeCustomMessages", - Handler: _Lightning_SubscribeCustomMessages_Handler, - ServerStreams: true, - }, - }, - Metadata: "lightning.proto", -} diff --git a/github.com/lightningnetwork/lnd/lnrpc/stateservice.pb.go b/github.com/lightningnetwork/lnd/lnrpc/stateservice.pb.go deleted file mode 100644 index 6a8054e..0000000 --- a/github.com/lightningnetwork/lnd/lnrpc/stateservice.pb.go +++ /dev/null @@ -1,399 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.12 -// source: stateservice.proto - -package lnrpc - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type WalletState int32 - -const ( - WalletState_NON_EXISTING WalletState = 0 - WalletState_LOCKED WalletState = 1 - WalletState_UNLOCKED WalletState = 2 - WalletState_RPC_ACTIVE WalletState = 3 - // SERVER_ACTIVE means that the lnd server is ready to accept calls. - WalletState_SERVER_ACTIVE WalletState = 4 - WalletState_WAITING_TO_START WalletState = 255 -) - -// Enum value maps for WalletState. -var ( - WalletState_name = map[int32]string{ - 0: "NON_EXISTING", - 1: "LOCKED", - 2: "UNLOCKED", - 3: "RPC_ACTIVE", - 4: "SERVER_ACTIVE", - 255: "WAITING_TO_START", - } - WalletState_value = map[string]int32{ - "NON_EXISTING": 0, - "LOCKED": 1, - "UNLOCKED": 2, - "RPC_ACTIVE": 3, - "SERVER_ACTIVE": 4, - "WAITING_TO_START": 255, - } -) - -func (x WalletState) Enum() *WalletState { - p := new(WalletState) - *p = x - return p -} - -func (x WalletState) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WalletState) Descriptor() protoreflect.EnumDescriptor { - return file_stateservice_proto_enumTypes[0].Descriptor() -} - -func (WalletState) Type() protoreflect.EnumType { - return &file_stateservice_proto_enumTypes[0] -} - -func (x WalletState) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use WalletState.Descriptor instead. -func (WalletState) EnumDescriptor() ([]byte, []int) { - return file_stateservice_proto_rawDescGZIP(), []int{0} -} - -type SubscribeStateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SubscribeStateRequest) Reset() { - *x = SubscribeStateRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_stateservice_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeStateRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeStateRequest) ProtoMessage() {} - -func (x *SubscribeStateRequest) ProtoReflect() protoreflect.Message { - mi := &file_stateservice_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscribeStateRequest.ProtoReflect.Descriptor instead. -func (*SubscribeStateRequest) Descriptor() ([]byte, []int) { - return file_stateservice_proto_rawDescGZIP(), []int{0} -} - -type SubscribeStateResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - State WalletState `protobuf:"varint,1,opt,name=state,proto3,enum=lnrpc.WalletState" json:"state,omitempty"` -} - -func (x *SubscribeStateResponse) Reset() { - *x = SubscribeStateResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_stateservice_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SubscribeStateResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SubscribeStateResponse) ProtoMessage() {} - -func (x *SubscribeStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_stateservice_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SubscribeStateResponse.ProtoReflect.Descriptor instead. -func (*SubscribeStateResponse) Descriptor() ([]byte, []int) { - return file_stateservice_proto_rawDescGZIP(), []int{1} -} - -func (x *SubscribeStateResponse) GetState() WalletState { - if x != nil { - return x.State - } - return WalletState_NON_EXISTING -} - -type GetStateRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetStateRequest) Reset() { - *x = GetStateRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_stateservice_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetStateRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetStateRequest) ProtoMessage() {} - -func (x *GetStateRequest) ProtoReflect() protoreflect.Message { - mi := &file_stateservice_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetStateRequest.ProtoReflect.Descriptor instead. -func (*GetStateRequest) Descriptor() ([]byte, []int) { - return file_stateservice_proto_rawDescGZIP(), []int{2} -} - -type GetStateResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - State WalletState `protobuf:"varint,1,opt,name=state,proto3,enum=lnrpc.WalletState" json:"state,omitempty"` -} - -func (x *GetStateResponse) Reset() { - *x = GetStateResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_stateservice_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetStateResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetStateResponse) ProtoMessage() {} - -func (x *GetStateResponse) ProtoReflect() protoreflect.Message { - mi := &file_stateservice_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetStateResponse.ProtoReflect.Descriptor instead. -func (*GetStateResponse) Descriptor() ([]byte, []int) { - return file_stateservice_proto_rawDescGZIP(), []int{3} -} - -func (x *GetStateResponse) GetState() WalletState { - if x != nil { - return x.State - } - return WalletState_NON_EXISTING -} - -var File_stateservice_proto protoreflect.FileDescriptor - -var file_stateservice_proto_rawDesc = []byte{ - 0x0a, 0x12, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x22, 0x17, 0x0a, 0x15, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x42, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3c, 0x0a, 0x10, 0x47, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x28, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2a, 0x73, 0x0a, 0x0b, 0x57, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x4e, 0x5f, - 0x45, 0x58, 0x49, 0x53, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x4f, - 0x43, 0x4b, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x4e, 0x4c, 0x4f, 0x43, 0x4b, - 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x50, 0x43, 0x5f, 0x41, 0x43, 0x54, 0x49, - 0x56, 0x45, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x5f, 0x41, - 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x10, 0x57, 0x41, 0x49, 0x54, 0x49, - 0x4e, 0x47, 0x5f, 0x54, 0x4f, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x10, 0xff, 0x01, 0x32, 0x95, - 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4f, 0x0a, 0x0e, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x3b, 0x0a, 0x08, 0x47, 0x65, 0x74, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, - 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6e, 0x65, - 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6c, 0x6e, 0x64, 0x2f, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_stateservice_proto_rawDescOnce sync.Once - file_stateservice_proto_rawDescData = file_stateservice_proto_rawDesc -) - -func file_stateservice_proto_rawDescGZIP() []byte { - file_stateservice_proto_rawDescOnce.Do(func() { - file_stateservice_proto_rawDescData = protoimpl.X.CompressGZIP(file_stateservice_proto_rawDescData) - }) - return file_stateservice_proto_rawDescData -} - -var file_stateservice_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_stateservice_proto_msgTypes = make([]protoimpl.MessageInfo, 4) -var file_stateservice_proto_goTypes = []interface{}{ - (WalletState)(0), // 0: lnrpc.WalletState - (*SubscribeStateRequest)(nil), // 1: lnrpc.SubscribeStateRequest - (*SubscribeStateResponse)(nil), // 2: lnrpc.SubscribeStateResponse - (*GetStateRequest)(nil), // 3: lnrpc.GetStateRequest - (*GetStateResponse)(nil), // 4: lnrpc.GetStateResponse -} -var file_stateservice_proto_depIdxs = []int32{ - 0, // 0: lnrpc.SubscribeStateResponse.state:type_name -> lnrpc.WalletState - 0, // 1: lnrpc.GetStateResponse.state:type_name -> lnrpc.WalletState - 1, // 2: lnrpc.State.SubscribeState:input_type -> lnrpc.SubscribeStateRequest - 3, // 3: lnrpc.State.GetState:input_type -> lnrpc.GetStateRequest - 2, // 4: lnrpc.State.SubscribeState:output_type -> lnrpc.SubscribeStateResponse - 4, // 5: lnrpc.State.GetState:output_type -> lnrpc.GetStateResponse - 4, // [4:6] is the sub-list for method output_type - 2, // [2:4] is the sub-list for method input_type - 2, // [2:2] is the sub-list for extension type_name - 2, // [2:2] is the sub-list for extension extendee - 0, // [0:2] is the sub-list for field type_name -} - -func init() { file_stateservice_proto_init() } -func file_stateservice_proto_init() { - if File_stateservice_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_stateservice_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeStateRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stateservice_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeStateResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stateservice_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStateRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_stateservice_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetStateResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_stateservice_proto_rawDesc, - NumEnums: 1, - NumMessages: 4, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_stateservice_proto_goTypes, - DependencyIndexes: file_stateservice_proto_depIdxs, - EnumInfos: file_stateservice_proto_enumTypes, - MessageInfos: file_stateservice_proto_msgTypes, - }.Build() - File_stateservice_proto = out.File - file_stateservice_proto_rawDesc = nil - file_stateservice_proto_goTypes = nil - file_stateservice_proto_depIdxs = nil -} diff --git a/github.com/lightningnetwork/lnd/lnrpc/stateservice_grpc.pb.go b/github.com/lightningnetwork/lnd/lnrpc/stateservice_grpc.pb.go deleted file mode 100644 index 3775821..0000000 --- a/github.com/lightningnetwork/lnd/lnrpc/stateservice_grpc.pb.go +++ /dev/null @@ -1,177 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.21.12 -// source: stateservice.proto - -package lnrpc - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// StateClient is the client API for State service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type StateClient interface { - // SubscribeState subscribes to the state of the wallet. The current wallet - // state will always be delivered immediately. - SubscribeState(ctx context.Context, in *SubscribeStateRequest, opts ...grpc.CallOption) (State_SubscribeStateClient, error) - // GetState returns the current wallet state without streaming further - // changes. - GetState(ctx context.Context, in *GetStateRequest, opts ...grpc.CallOption) (*GetStateResponse, error) -} - -type stateClient struct { - cc grpc.ClientConnInterface -} - -func NewStateClient(cc grpc.ClientConnInterface) StateClient { - return &stateClient{cc} -} - -func (c *stateClient) SubscribeState(ctx context.Context, in *SubscribeStateRequest, opts ...grpc.CallOption) (State_SubscribeStateClient, error) { - stream, err := c.cc.NewStream(ctx, &State_ServiceDesc.Streams[0], "/lnrpc.State/SubscribeState", opts...) - if err != nil { - return nil, err - } - x := &stateSubscribeStateClient{stream} - if err := x.ClientStream.SendMsg(in); err != nil { - return nil, err - } - if err := x.ClientStream.CloseSend(); err != nil { - return nil, err - } - return x, nil -} - -type State_SubscribeStateClient interface { - Recv() (*SubscribeStateResponse, error) - grpc.ClientStream -} - -type stateSubscribeStateClient struct { - grpc.ClientStream -} - -func (x *stateSubscribeStateClient) Recv() (*SubscribeStateResponse, error) { - m := new(SubscribeStateResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *stateClient) GetState(ctx context.Context, in *GetStateRequest, opts ...grpc.CallOption) (*GetStateResponse, error) { - out := new(GetStateResponse) - err := c.cc.Invoke(ctx, "/lnrpc.State/GetState", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// StateServer is the server API for State service. -// All implementations must embed UnimplementedStateServer -// for forward compatibility -type StateServer interface { - // SubscribeState subscribes to the state of the wallet. The current wallet - // state will always be delivered immediately. - SubscribeState(*SubscribeStateRequest, State_SubscribeStateServer) error - // GetState returns the current wallet state without streaming further - // changes. - GetState(context.Context, *GetStateRequest) (*GetStateResponse, error) - mustEmbedUnimplementedStateServer() -} - -// UnimplementedStateServer must be embedded to have forward compatible implementations. -type UnimplementedStateServer struct { -} - -func (UnimplementedStateServer) SubscribeState(*SubscribeStateRequest, State_SubscribeStateServer) error { - return status.Errorf(codes.Unimplemented, "method SubscribeState not implemented") -} -func (UnimplementedStateServer) GetState(context.Context, *GetStateRequest) (*GetStateResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetState not implemented") -} -func (UnimplementedStateServer) mustEmbedUnimplementedStateServer() {} - -// UnsafeStateServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to StateServer will -// result in compilation errors. -type UnsafeStateServer interface { - mustEmbedUnimplementedStateServer() -} - -func RegisterStateServer(s grpc.ServiceRegistrar, srv StateServer) { - s.RegisterService(&State_ServiceDesc, srv) -} - -func _State_SubscribeState_Handler(srv interface{}, stream grpc.ServerStream) error { - m := new(SubscribeStateRequest) - if err := stream.RecvMsg(m); err != nil { - return err - } - return srv.(StateServer).SubscribeState(m, &stateSubscribeStateServer{stream}) -} - -type State_SubscribeStateServer interface { - Send(*SubscribeStateResponse) error - grpc.ServerStream -} - -type stateSubscribeStateServer struct { - grpc.ServerStream -} - -func (x *stateSubscribeStateServer) Send(m *SubscribeStateResponse) error { - return x.ServerStream.SendMsg(m) -} - -func _State_GetState_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetStateRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(StateServer).GetState(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.State/GetState", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(StateServer).GetState(ctx, req.(*GetStateRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// State_ServiceDesc is the grpc.ServiceDesc for State service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var State_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "lnrpc.State", - HandlerType: (*StateServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetState", - Handler: _State_GetState_Handler, - }, - }, - Streams: []grpc.StreamDesc{ - { - StreamName: "SubscribeState", - Handler: _State_SubscribeState_Handler, - ServerStreams: true, - }, - }, - Metadata: "stateservice.proto", -} diff --git a/github.com/lightningnetwork/lnd/lnrpc/walletunlocker.pb.go b/github.com/lightningnetwork/lnd/lnrpc/walletunlocker.pb.go deleted file mode 100644 index 05bbbe3..0000000 --- a/github.com/lightningnetwork/lnd/lnrpc/walletunlocker.pb.go +++ /dev/null @@ -1,1096 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.12 -// source: walletunlocker.proto - -package lnrpc - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type GenSeedRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // aezeed_passphrase is an optional user provided passphrase that will be used - // to encrypt the generated aezeed cipher seed. When using REST, this field - // must be encoded as base64. - AezeedPassphrase []byte `protobuf:"bytes,1,opt,name=aezeed_passphrase,json=aezeedPassphrase,proto3" json:"aezeed_passphrase,omitempty"` - // seed_entropy is an optional 16-bytes generated via CSPRNG. If not - // specified, then a fresh set of randomness will be used to create the seed. - // When using REST, this field must be encoded as base64. - SeedEntropy []byte `protobuf:"bytes,2,opt,name=seed_entropy,json=seedEntropy,proto3" json:"seed_entropy,omitempty"` -} - -func (x *GenSeedRequest) Reset() { - *x = GenSeedRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_walletunlocker_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GenSeedRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GenSeedRequest) ProtoMessage() {} - -func (x *GenSeedRequest) ProtoReflect() protoreflect.Message { - mi := &file_walletunlocker_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GenSeedRequest.ProtoReflect.Descriptor instead. -func (*GenSeedRequest) Descriptor() ([]byte, []int) { - return file_walletunlocker_proto_rawDescGZIP(), []int{0} -} - -func (x *GenSeedRequest) GetAezeedPassphrase() []byte { - if x != nil { - return x.AezeedPassphrase - } - return nil -} - -func (x *GenSeedRequest) GetSeedEntropy() []byte { - if x != nil { - return x.SeedEntropy - } - return nil -} - -type GenSeedResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed - // cipher seed obtained by the user. This field is optional, as if not - // provided, then the daemon will generate a new cipher seed for the user. - // Otherwise, then the daemon will attempt to recover the wallet state linked - // to this cipher seed. - CipherSeedMnemonic []string `protobuf:"bytes,1,rep,name=cipher_seed_mnemonic,json=cipherSeedMnemonic,proto3" json:"cipher_seed_mnemonic,omitempty"` - // enciphered_seed are the raw aezeed cipher seed bytes. This is the raw - // cipher text before run through our mnemonic encoding scheme. - EncipheredSeed []byte `protobuf:"bytes,2,opt,name=enciphered_seed,json=encipheredSeed,proto3" json:"enciphered_seed,omitempty"` -} - -func (x *GenSeedResponse) Reset() { - *x = GenSeedResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_walletunlocker_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GenSeedResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GenSeedResponse) ProtoMessage() {} - -func (x *GenSeedResponse) ProtoReflect() protoreflect.Message { - mi := &file_walletunlocker_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GenSeedResponse.ProtoReflect.Descriptor instead. -func (*GenSeedResponse) Descriptor() ([]byte, []int) { - return file_walletunlocker_proto_rawDescGZIP(), []int{1} -} - -func (x *GenSeedResponse) GetCipherSeedMnemonic() []string { - if x != nil { - return x.CipherSeedMnemonic - } - return nil -} - -func (x *GenSeedResponse) GetEncipheredSeed() []byte { - if x != nil { - return x.EncipheredSeed - } - return nil -} - -type InitWalletRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // wallet_password is the passphrase that should be used to encrypt the - // wallet. This MUST be at least 8 chars in length. After creation, this - // password is required to unlock the daemon. When using REST, this field - // must be encoded as base64. - WalletPassword []byte `protobuf:"bytes,1,opt,name=wallet_password,json=walletPassword,proto3" json:"wallet_password,omitempty"` - // cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed - // cipher seed obtained by the user. This may have been generated by the - // GenSeed method, or be an existing seed. - CipherSeedMnemonic []string `protobuf:"bytes,2,rep,name=cipher_seed_mnemonic,json=cipherSeedMnemonic,proto3" json:"cipher_seed_mnemonic,omitempty"` - // aezeed_passphrase is an optional user provided passphrase that will be used - // to encrypt the generated aezeed cipher seed. When using REST, this field - // must be encoded as base64. - AezeedPassphrase []byte `protobuf:"bytes,3,opt,name=aezeed_passphrase,json=aezeedPassphrase,proto3" json:"aezeed_passphrase,omitempty"` - // recovery_window is an optional argument specifying the address lookahead - // when restoring a wallet seed. The recovery window applies to each - // individual branch of the BIP44 derivation paths. Supplying a recovery - // window of zero indicates that no addresses should be recovered, such after - // the first initialization of the wallet. - RecoveryWindow int32 `protobuf:"varint,4,opt,name=recovery_window,json=recoveryWindow,proto3" json:"recovery_window,omitempty"` - // channel_backups is an optional argument that allows clients to recover the - // settled funds within a set of channels. This should be populated if the - // user was unable to close out all channels and sweep funds before partial or - // total data loss occurred. If specified, then after on-chain recovery of - // funds, lnd begin to carry out the data loss recovery protocol in order to - // recover the funds in each channel from a remote force closed transaction. - ChannelBackups *ChanBackupSnapshot `protobuf:"bytes,5,opt,name=channel_backups,json=channelBackups,proto3" json:"channel_backups,omitempty"` - // stateless_init is an optional argument instructing the daemon NOT to create - // any *.macaroon files in its filesystem. If this parameter is set, then the - // admin macaroon returned in the response MUST be stored by the caller of the - // RPC as otherwise all access to the daemon will be lost! - StatelessInit bool `protobuf:"varint,6,opt,name=stateless_init,json=statelessInit,proto3" json:"stateless_init,omitempty"` - // extended_master_key is an alternative to specifying cipher_seed_mnemonic and - // aezeed_passphrase. Instead of deriving the master root key from the entropy - // of an aezeed cipher seed, the given extended master root key is used - // directly as the wallet's master key. This allows users to import/use a - // master key from another wallet. When doing so, lnd still uses its default - // SegWit only (BIP49/84) derivation paths and funds from custom/non-default - // derivation paths will not automatically appear in the on-chain wallet. Using - // an 'xprv' instead of an aezeed also has the disadvantage that the wallet's - // birthday is not known as that is an information that's only encoded in the - // aezeed, not the xprv. Therefore a birthday needs to be specified in - // extended_master_key_birthday_timestamp or a "safe" default value will be - // used. - ExtendedMasterKey string `protobuf:"bytes,7,opt,name=extended_master_key,json=extendedMasterKey,proto3" json:"extended_master_key,omitempty"` - // extended_master_key_birthday_timestamp is the optional unix timestamp in - // seconds to use as the wallet's birthday when using an extended master key - // to restore the wallet. lnd will only start scanning for funds in blocks that - // are after the birthday which can speed up the process significantly. If the - // birthday is not known, this should be left at its default value of 0 in - // which case lnd will start scanning from the first SegWit block (481824 on - // mainnet). - ExtendedMasterKeyBirthdayTimestamp uint64 `protobuf:"varint,8,opt,name=extended_master_key_birthday_timestamp,json=extendedMasterKeyBirthdayTimestamp,proto3" json:"extended_master_key_birthday_timestamp,omitempty"` - // watch_only is the third option of initializing a wallet: by importing - // account xpubs only and therefore creating a watch-only wallet that does not - // contain any private keys. That means the wallet won't be able to sign for - // any of the keys and _needs_ to be run with a remote signer that has the - // corresponding private keys and can serve signing RPC requests. - WatchOnly *WatchOnly `protobuf:"bytes,9,opt,name=watch_only,json=watchOnly,proto3" json:"watch_only,omitempty"` -} - -func (x *InitWalletRequest) Reset() { - *x = InitWalletRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_walletunlocker_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InitWalletRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InitWalletRequest) ProtoMessage() {} - -func (x *InitWalletRequest) ProtoReflect() protoreflect.Message { - mi := &file_walletunlocker_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InitWalletRequest.ProtoReflect.Descriptor instead. -func (*InitWalletRequest) Descriptor() ([]byte, []int) { - return file_walletunlocker_proto_rawDescGZIP(), []int{2} -} - -func (x *InitWalletRequest) GetWalletPassword() []byte { - if x != nil { - return x.WalletPassword - } - return nil -} - -func (x *InitWalletRequest) GetCipherSeedMnemonic() []string { - if x != nil { - return x.CipherSeedMnemonic - } - return nil -} - -func (x *InitWalletRequest) GetAezeedPassphrase() []byte { - if x != nil { - return x.AezeedPassphrase - } - return nil -} - -func (x *InitWalletRequest) GetRecoveryWindow() int32 { - if x != nil { - return x.RecoveryWindow - } - return 0 -} - -func (x *InitWalletRequest) GetChannelBackups() *ChanBackupSnapshot { - if x != nil { - return x.ChannelBackups - } - return nil -} - -func (x *InitWalletRequest) GetStatelessInit() bool { - if x != nil { - return x.StatelessInit - } - return false -} - -func (x *InitWalletRequest) GetExtendedMasterKey() string { - if x != nil { - return x.ExtendedMasterKey - } - return "" -} - -func (x *InitWalletRequest) GetExtendedMasterKeyBirthdayTimestamp() uint64 { - if x != nil { - return x.ExtendedMasterKeyBirthdayTimestamp - } - return 0 -} - -func (x *InitWalletRequest) GetWatchOnly() *WatchOnly { - if x != nil { - return x.WatchOnly - } - return nil -} - -type InitWalletResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The binary serialized admin macaroon that can be used to access the daemon - // after creating the wallet. If the stateless_init parameter was set to true, - // this is the ONLY copy of the macaroon and MUST be stored safely by the - // caller. Otherwise a copy of this macaroon is also persisted on disk by the - // daemon, together with other macaroon files. - AdminMacaroon []byte `protobuf:"bytes,1,opt,name=admin_macaroon,json=adminMacaroon,proto3" json:"admin_macaroon,omitempty"` -} - -func (x *InitWalletResponse) Reset() { - *x = InitWalletResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_walletunlocker_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InitWalletResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InitWalletResponse) ProtoMessage() {} - -func (x *InitWalletResponse) ProtoReflect() protoreflect.Message { - mi := &file_walletunlocker_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InitWalletResponse.ProtoReflect.Descriptor instead. -func (*InitWalletResponse) Descriptor() ([]byte, []int) { - return file_walletunlocker_proto_rawDescGZIP(), []int{3} -} - -func (x *InitWalletResponse) GetAdminMacaroon() []byte { - if x != nil { - return x.AdminMacaroon - } - return nil -} - -type WatchOnly struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The unix timestamp in seconds of when the master key was created. lnd will - // only start scanning for funds in blocks that are after the birthday which - // can speed up the process significantly. If the birthday is not known, this - // should be left at its default value of 0 in which case lnd will start - // scanning from the first SegWit block (481824 on mainnet). - MasterKeyBirthdayTimestamp uint64 `protobuf:"varint,1,opt,name=master_key_birthday_timestamp,json=masterKeyBirthdayTimestamp,proto3" json:"master_key_birthday_timestamp,omitempty"` - // The fingerprint of the root key (also known as the key with derivation path - // m/) from which the account public keys were derived from. This may be - // required by some hardware wallets for proper identification and signing. The - // bytes must be in big-endian order. - MasterKeyFingerprint []byte `protobuf:"bytes,2,opt,name=master_key_fingerprint,json=masterKeyFingerprint,proto3" json:"master_key_fingerprint,omitempty"` - // The list of accounts to import. There _must_ be an account for all of lnd's - // main key scopes: BIP49/BIP84 (m/49'/0'/0', m/84'/0'/0', note that the - // coin type is always 0, even for testnet/regtest) and lnd's internal key - // scope (m/1017'/'/'), where account is the key family as - // defined in `keychain/derivation.go` (currently indices 0 to 9). - Accounts []*WatchOnlyAccount `protobuf:"bytes,3,rep,name=accounts,proto3" json:"accounts,omitempty"` -} - -func (x *WatchOnly) Reset() { - *x = WatchOnly{} - if protoimpl.UnsafeEnabled { - mi := &file_walletunlocker_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WatchOnly) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WatchOnly) ProtoMessage() {} - -func (x *WatchOnly) ProtoReflect() protoreflect.Message { - mi := &file_walletunlocker_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WatchOnly.ProtoReflect.Descriptor instead. -func (*WatchOnly) Descriptor() ([]byte, []int) { - return file_walletunlocker_proto_rawDescGZIP(), []int{4} -} - -func (x *WatchOnly) GetMasterKeyBirthdayTimestamp() uint64 { - if x != nil { - return x.MasterKeyBirthdayTimestamp - } - return 0 -} - -func (x *WatchOnly) GetMasterKeyFingerprint() []byte { - if x != nil { - return x.MasterKeyFingerprint - } - return nil -} - -func (x *WatchOnly) GetAccounts() []*WatchOnlyAccount { - if x != nil { - return x.Accounts - } - return nil -} - -type WatchOnlyAccount struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Purpose is the first number in the derivation path, must be either 49, 84 - // or 1017. - Purpose uint32 `protobuf:"varint,1,opt,name=purpose,proto3" json:"purpose,omitempty"` - // Coin type is the second number in the derivation path, this is _always_ 0 - // for purposes 49 and 84. It only needs to be set to 1 for purpose 1017 on - // testnet or regtest. - CoinType uint32 `protobuf:"varint,2,opt,name=coin_type,json=coinType,proto3" json:"coin_type,omitempty"` - // Account is the third number in the derivation path. For purposes 49 and 84 - // at least the default account (index 0) needs to be created but optional - // additional accounts are allowed. For purpose 1017 there needs to be exactly - // one account for each of the key families defined in `keychain/derivation.go` - // (currently indices 0 to 9) - Account uint32 `protobuf:"varint,3,opt,name=account,proto3" json:"account,omitempty"` - // The extended public key at depth 3 for the given account. - Xpub string `protobuf:"bytes,4,opt,name=xpub,proto3" json:"xpub,omitempty"` -} - -func (x *WatchOnlyAccount) Reset() { - *x = WatchOnlyAccount{} - if protoimpl.UnsafeEnabled { - mi := &file_walletunlocker_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WatchOnlyAccount) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WatchOnlyAccount) ProtoMessage() {} - -func (x *WatchOnlyAccount) ProtoReflect() protoreflect.Message { - mi := &file_walletunlocker_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WatchOnlyAccount.ProtoReflect.Descriptor instead. -func (*WatchOnlyAccount) Descriptor() ([]byte, []int) { - return file_walletunlocker_proto_rawDescGZIP(), []int{5} -} - -func (x *WatchOnlyAccount) GetPurpose() uint32 { - if x != nil { - return x.Purpose - } - return 0 -} - -func (x *WatchOnlyAccount) GetCoinType() uint32 { - if x != nil { - return x.CoinType - } - return 0 -} - -func (x *WatchOnlyAccount) GetAccount() uint32 { - if x != nil { - return x.Account - } - return 0 -} - -func (x *WatchOnlyAccount) GetXpub() string { - if x != nil { - return x.Xpub - } - return "" -} - -type UnlockWalletRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // wallet_password should be the current valid passphrase for the daemon. This - // will be required to decrypt on-disk material that the daemon requires to - // function properly. When using REST, this field must be encoded as base64. - WalletPassword []byte `protobuf:"bytes,1,opt,name=wallet_password,json=walletPassword,proto3" json:"wallet_password,omitempty"` - // recovery_window is an optional argument specifying the address lookahead - // when restoring a wallet seed. The recovery window applies to each - // individual branch of the BIP44 derivation paths. Supplying a recovery - // window of zero indicates that no addresses should be recovered, such after - // the first initialization of the wallet. - RecoveryWindow int32 `protobuf:"varint,2,opt,name=recovery_window,json=recoveryWindow,proto3" json:"recovery_window,omitempty"` - // channel_backups is an optional argument that allows clients to recover the - // settled funds within a set of channels. This should be populated if the - // user was unable to close out all channels and sweep funds before partial or - // total data loss occurred. If specified, then after on-chain recovery of - // funds, lnd begin to carry out the data loss recovery protocol in order to - // recover the funds in each channel from a remote force closed transaction. - ChannelBackups *ChanBackupSnapshot `protobuf:"bytes,3,opt,name=channel_backups,json=channelBackups,proto3" json:"channel_backups,omitempty"` - // stateless_init is an optional argument instructing the daemon NOT to create - // any *.macaroon files in its file system. - StatelessInit bool `protobuf:"varint,4,opt,name=stateless_init,json=statelessInit,proto3" json:"stateless_init,omitempty"` -} - -func (x *UnlockWalletRequest) Reset() { - *x = UnlockWalletRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_walletunlocker_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnlockWalletRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnlockWalletRequest) ProtoMessage() {} - -func (x *UnlockWalletRequest) ProtoReflect() protoreflect.Message { - mi := &file_walletunlocker_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UnlockWalletRequest.ProtoReflect.Descriptor instead. -func (*UnlockWalletRequest) Descriptor() ([]byte, []int) { - return file_walletunlocker_proto_rawDescGZIP(), []int{6} -} - -func (x *UnlockWalletRequest) GetWalletPassword() []byte { - if x != nil { - return x.WalletPassword - } - return nil -} - -func (x *UnlockWalletRequest) GetRecoveryWindow() int32 { - if x != nil { - return x.RecoveryWindow - } - return 0 -} - -func (x *UnlockWalletRequest) GetChannelBackups() *ChanBackupSnapshot { - if x != nil { - return x.ChannelBackups - } - return nil -} - -func (x *UnlockWalletRequest) GetStatelessInit() bool { - if x != nil { - return x.StatelessInit - } - return false -} - -type UnlockWalletResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *UnlockWalletResponse) Reset() { - *x = UnlockWalletResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_walletunlocker_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnlockWalletResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnlockWalletResponse) ProtoMessage() {} - -func (x *UnlockWalletResponse) ProtoReflect() protoreflect.Message { - mi := &file_walletunlocker_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use UnlockWalletResponse.ProtoReflect.Descriptor instead. -func (*UnlockWalletResponse) Descriptor() ([]byte, []int) { - return file_walletunlocker_proto_rawDescGZIP(), []int{7} -} - -type ChangePasswordRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // current_password should be the current valid passphrase used to unlock the - // daemon. When using REST, this field must be encoded as base64. - CurrentPassword []byte `protobuf:"bytes,1,opt,name=current_password,json=currentPassword,proto3" json:"current_password,omitempty"` - // new_password should be the new passphrase that will be needed to unlock the - // daemon. When using REST, this field must be encoded as base64. - NewPassword []byte `protobuf:"bytes,2,opt,name=new_password,json=newPassword,proto3" json:"new_password,omitempty"` - // stateless_init is an optional argument instructing the daemon NOT to create - // any *.macaroon files in its filesystem. If this parameter is set, then the - // admin macaroon returned in the response MUST be stored by the caller of the - // RPC as otherwise all access to the daemon will be lost! - StatelessInit bool `protobuf:"varint,3,opt,name=stateless_init,json=statelessInit,proto3" json:"stateless_init,omitempty"` - // new_macaroon_root_key is an optional argument instructing the daemon to - // rotate the macaroon root key when set to true. This will invalidate all - // previously generated macaroons. - NewMacaroonRootKey bool `protobuf:"varint,4,opt,name=new_macaroon_root_key,json=newMacaroonRootKey,proto3" json:"new_macaroon_root_key,omitempty"` -} - -func (x *ChangePasswordRequest) Reset() { - *x = ChangePasswordRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_walletunlocker_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChangePasswordRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChangePasswordRequest) ProtoMessage() {} - -func (x *ChangePasswordRequest) ProtoReflect() protoreflect.Message { - mi := &file_walletunlocker_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChangePasswordRequest.ProtoReflect.Descriptor instead. -func (*ChangePasswordRequest) Descriptor() ([]byte, []int) { - return file_walletunlocker_proto_rawDescGZIP(), []int{8} -} - -func (x *ChangePasswordRequest) GetCurrentPassword() []byte { - if x != nil { - return x.CurrentPassword - } - return nil -} - -func (x *ChangePasswordRequest) GetNewPassword() []byte { - if x != nil { - return x.NewPassword - } - return nil -} - -func (x *ChangePasswordRequest) GetStatelessInit() bool { - if x != nil { - return x.StatelessInit - } - return false -} - -func (x *ChangePasswordRequest) GetNewMacaroonRootKey() bool { - if x != nil { - return x.NewMacaroonRootKey - } - return false -} - -type ChangePasswordResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The binary serialized admin macaroon that can be used to access the daemon - // after rotating the macaroon root key. If both the stateless_init and - // new_macaroon_root_key parameter were set to true, this is the ONLY copy of - // the macaroon that was created from the new root key and MUST be stored - // safely by the caller. Otherwise a copy of this macaroon is also persisted on - // disk by the daemon, together with other macaroon files. - AdminMacaroon []byte `protobuf:"bytes,1,opt,name=admin_macaroon,json=adminMacaroon,proto3" json:"admin_macaroon,omitempty"` -} - -func (x *ChangePasswordResponse) Reset() { - *x = ChangePasswordResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_walletunlocker_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ChangePasswordResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ChangePasswordResponse) ProtoMessage() {} - -func (x *ChangePasswordResponse) ProtoReflect() protoreflect.Message { - mi := &file_walletunlocker_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ChangePasswordResponse.ProtoReflect.Descriptor instead. -func (*ChangePasswordResponse) Descriptor() ([]byte, []int) { - return file_walletunlocker_proto_rawDescGZIP(), []int{9} -} - -func (x *ChangePasswordResponse) GetAdminMacaroon() []byte { - if x != nil { - return x.AdminMacaroon - } - return nil -} - -var File_walletunlocker_proto protoreflect.FileDescriptor - -var file_walletunlocker_proto_rawDesc = []byte{ - 0x0a, 0x14, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x75, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x72, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x1a, 0x0f, 0x6c, - 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x60, - 0x0a, 0x0e, 0x47, 0x65, 0x6e, 0x53, 0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x65, 0x7a, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x70, - 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x61, 0x65, 0x7a, - 0x65, 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x12, 0x21, 0x0a, - 0x0c, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x65, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x6f, 0x70, 0x79, - 0x22, 0x6c, 0x0a, 0x0f, 0x47, 0x65, 0x6e, 0x53, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x65, - 0x65, 0x64, 0x5f, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x12, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x53, 0x65, 0x65, 0x64, 0x4d, 0x6e, 0x65, - 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x69, 0x70, 0x68, 0x65, - 0x72, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, - 0x65, 0x6e, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x65, 0x64, 0x53, 0x65, 0x65, 0x64, 0x22, 0xe4, - 0x03, 0x0a, 0x11, 0x49, 0x6e, 0x69, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x70, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x30, 0x0a, - 0x14, 0x63, 0x69, 0x70, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x5f, 0x6d, 0x6e, 0x65, - 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x63, 0x69, 0x70, - 0x68, 0x65, 0x72, 0x53, 0x65, 0x65, 0x64, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x12, - 0x2b, 0x0a, 0x11, 0x61, 0x65, 0x7a, 0x65, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, - 0x72, 0x61, 0x73, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x61, 0x65, 0x7a, 0x65, - 0x65, 0x64, 0x50, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, - 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, - 0x70, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x69, 0x74, - 0x12, 0x2e, 0x0a, 0x13, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x65, - 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, - 0x12, 0x52, 0x0a, 0x26, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x5f, 0x6d, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x22, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x4d, 0x61, 0x73, 0x74, 0x65, 0x72, - 0x4b, 0x65, 0x79, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x12, 0x2f, 0x0a, 0x0a, 0x77, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, - 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x79, 0x52, 0x09, 0x77, 0x61, 0x74, 0x63, - 0x68, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x3b, 0x0a, 0x12, 0x49, 0x6e, 0x69, 0x74, 0x57, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x61, - 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, - 0x6f, 0x6e, 0x22, 0xb9, 0x01, 0x0a, 0x09, 0x57, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x79, - 0x12, 0x41, 0x0a, 0x1d, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, - 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1a, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4b, - 0x65, 0x79, 0x42, 0x69, 0x72, 0x74, 0x68, 0x64, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x12, 0x34, 0x0a, 0x16, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x14, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x4b, 0x65, 0x79, 0x46, 0x69, - 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x08, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x6e, - 0x72, 0x70, 0x63, 0x2e, 0x57, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x77, - 0x0a, 0x10, 0x57, 0x61, 0x74, 0x63, 0x68, 0x4f, 0x6e, 0x6c, 0x79, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, - 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x70, 0x75, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x78, 0x70, 0x75, 0x62, 0x22, 0xd2, 0x01, 0x0a, 0x13, 0x55, 0x6e, 0x6c, 0x6f, - 0x63, 0x6b, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x27, 0x0a, 0x0f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, - 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x79, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0e, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x57, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x61, 0x63, - 0x6b, 0x75, 0x70, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6c, 0x6e, 0x72, - 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x61, - 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6c, 0x65, - 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x69, 0x74, 0x22, 0x16, 0x0a, 0x14, - 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x15, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, - 0x0a, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x65, 0x77, - 0x5f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x0b, 0x6e, 0x65, 0x77, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x25, 0x0a, 0x0e, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x49, - 0x6e, 0x69, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x6e, 0x65, 0x77, 0x5f, 0x6d, 0x61, 0x63, 0x61, 0x72, - 0x6f, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x12, 0x6e, 0x65, 0x77, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x52, - 0x6f, 0x6f, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x3f, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x4d, - 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x32, 0xa5, 0x02, 0x0a, 0x0e, 0x57, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x07, 0x47, 0x65, - 0x6e, 0x53, 0x65, 0x65, 0x64, 0x12, 0x15, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, - 0x6e, 0x53, 0x65, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x6e, 0x53, 0x65, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x49, 0x6e, 0x69, 0x74, 0x57, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x12, 0x18, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x57, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6c, - 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0c, 0x55, 0x6e, 0x6c, 0x6f, 0x63, - 0x6b, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x1a, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, - 0x55, 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x6e, 0x6c, 0x6f, - 0x63, 0x6b, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4d, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x12, 0x1c, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1d, 0x2e, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, - 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, - 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x6c, - 0x6e, 0x64, 0x2f, 0x6c, 0x6e, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_walletunlocker_proto_rawDescOnce sync.Once - file_walletunlocker_proto_rawDescData = file_walletunlocker_proto_rawDesc -) - -func file_walletunlocker_proto_rawDescGZIP() []byte { - file_walletunlocker_proto_rawDescOnce.Do(func() { - file_walletunlocker_proto_rawDescData = protoimpl.X.CompressGZIP(file_walletunlocker_proto_rawDescData) - }) - return file_walletunlocker_proto_rawDescData -} - -var file_walletunlocker_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_walletunlocker_proto_goTypes = []interface{}{ - (*GenSeedRequest)(nil), // 0: lnrpc.GenSeedRequest - (*GenSeedResponse)(nil), // 1: lnrpc.GenSeedResponse - (*InitWalletRequest)(nil), // 2: lnrpc.InitWalletRequest - (*InitWalletResponse)(nil), // 3: lnrpc.InitWalletResponse - (*WatchOnly)(nil), // 4: lnrpc.WatchOnly - (*WatchOnlyAccount)(nil), // 5: lnrpc.WatchOnlyAccount - (*UnlockWalletRequest)(nil), // 6: lnrpc.UnlockWalletRequest - (*UnlockWalletResponse)(nil), // 7: lnrpc.UnlockWalletResponse - (*ChangePasswordRequest)(nil), // 8: lnrpc.ChangePasswordRequest - (*ChangePasswordResponse)(nil), // 9: lnrpc.ChangePasswordResponse - (*ChanBackupSnapshot)(nil), // 10: lnrpc.ChanBackupSnapshot -} -var file_walletunlocker_proto_depIdxs = []int32{ - 10, // 0: lnrpc.InitWalletRequest.channel_backups:type_name -> lnrpc.ChanBackupSnapshot - 4, // 1: lnrpc.InitWalletRequest.watch_only:type_name -> lnrpc.WatchOnly - 5, // 2: lnrpc.WatchOnly.accounts:type_name -> lnrpc.WatchOnlyAccount - 10, // 3: lnrpc.UnlockWalletRequest.channel_backups:type_name -> lnrpc.ChanBackupSnapshot - 0, // 4: lnrpc.WalletUnlocker.GenSeed:input_type -> lnrpc.GenSeedRequest - 2, // 5: lnrpc.WalletUnlocker.InitWallet:input_type -> lnrpc.InitWalletRequest - 6, // 6: lnrpc.WalletUnlocker.UnlockWallet:input_type -> lnrpc.UnlockWalletRequest - 8, // 7: lnrpc.WalletUnlocker.ChangePassword:input_type -> lnrpc.ChangePasswordRequest - 1, // 8: lnrpc.WalletUnlocker.GenSeed:output_type -> lnrpc.GenSeedResponse - 3, // 9: lnrpc.WalletUnlocker.InitWallet:output_type -> lnrpc.InitWalletResponse - 7, // 10: lnrpc.WalletUnlocker.UnlockWallet:output_type -> lnrpc.UnlockWalletResponse - 9, // 11: lnrpc.WalletUnlocker.ChangePassword:output_type -> lnrpc.ChangePasswordResponse - 8, // [8:12] is the sub-list for method output_type - 4, // [4:8] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name -} - -func init() { file_walletunlocker_proto_init() } -func file_walletunlocker_proto_init() { - if File_walletunlocker_proto != nil { - return - } - file_lightning_proto_init() - if !protoimpl.UnsafeEnabled { - file_walletunlocker_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenSeedRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_walletunlocker_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GenSeedResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_walletunlocker_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InitWalletRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_walletunlocker_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InitWalletResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_walletunlocker_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WatchOnly); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_walletunlocker_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WatchOnlyAccount); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_walletunlocker_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnlockWalletRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_walletunlocker_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnlockWalletResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_walletunlocker_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChangePasswordRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_walletunlocker_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ChangePasswordResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_walletunlocker_proto_rawDesc, - NumEnums: 0, - NumMessages: 10, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_walletunlocker_proto_goTypes, - DependencyIndexes: file_walletunlocker_proto_depIdxs, - MessageInfos: file_walletunlocker_proto_msgTypes, - }.Build() - File_walletunlocker_proto = out.File - file_walletunlocker_proto_rawDesc = nil - file_walletunlocker_proto_goTypes = nil - file_walletunlocker_proto_depIdxs = nil -} diff --git a/github.com/lightningnetwork/lnd/lnrpc/walletunlocker_grpc.pb.go b/github.com/lightningnetwork/lnd/lnrpc/walletunlocker_grpc.pb.go deleted file mode 100644 index ce3bffc..0000000 --- a/github.com/lightningnetwork/lnd/lnrpc/walletunlocker_grpc.pb.go +++ /dev/null @@ -1,265 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.21.12 -// source: walletunlocker.proto - -package lnrpc - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// WalletUnlockerClient is the client API for WalletUnlocker service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type WalletUnlockerClient interface { - // GenSeed is the first method that should be used to instantiate a new lnd - // instance. This method allows a caller to generate a new aezeed cipher seed - // given an optional passphrase. If provided, the passphrase will be necessary - // to decrypt the cipherseed to expose the internal wallet seed. - // - // Once the cipherseed is obtained and verified by the user, the InitWallet - // method should be used to commit the newly generated seed, and create the - // wallet. - GenSeed(ctx context.Context, in *GenSeedRequest, opts ...grpc.CallOption) (*GenSeedResponse, error) - // InitWallet is used when lnd is starting up for the first time to fully - // initialize the daemon and its internal wallet. At the very least a wallet - // password must be provided. This will be used to encrypt sensitive material - // on disk. - // - // In the case of a recovery scenario, the user can also specify their aezeed - // mnemonic and passphrase. If set, then the daemon will use this prior state - // to initialize its internal wallet. - // - // Alternatively, this can be used along with the GenSeed RPC to obtain a - // seed, then present it to the user. Once it has been verified by the user, - // the seed can be fed into this RPC in order to commit the new wallet. - InitWallet(ctx context.Context, in *InitWalletRequest, opts ...grpc.CallOption) (*InitWalletResponse, error) - // lncli: `unlock` - // UnlockWallet is used at startup of lnd to provide a password to unlock - // the wallet database. - UnlockWallet(ctx context.Context, in *UnlockWalletRequest, opts ...grpc.CallOption) (*UnlockWalletResponse, error) - // lncli: `changepassword` - // ChangePassword changes the password of the encrypted wallet. This will - // automatically unlock the wallet database if successful. - ChangePassword(ctx context.Context, in *ChangePasswordRequest, opts ...grpc.CallOption) (*ChangePasswordResponse, error) -} - -type walletUnlockerClient struct { - cc grpc.ClientConnInterface -} - -func NewWalletUnlockerClient(cc grpc.ClientConnInterface) WalletUnlockerClient { - return &walletUnlockerClient{cc} -} - -func (c *walletUnlockerClient) GenSeed(ctx context.Context, in *GenSeedRequest, opts ...grpc.CallOption) (*GenSeedResponse, error) { - out := new(GenSeedResponse) - err := c.cc.Invoke(ctx, "/lnrpc.WalletUnlocker/GenSeed", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *walletUnlockerClient) InitWallet(ctx context.Context, in *InitWalletRequest, opts ...grpc.CallOption) (*InitWalletResponse, error) { - out := new(InitWalletResponse) - err := c.cc.Invoke(ctx, "/lnrpc.WalletUnlocker/InitWallet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *walletUnlockerClient) UnlockWallet(ctx context.Context, in *UnlockWalletRequest, opts ...grpc.CallOption) (*UnlockWalletResponse, error) { - out := new(UnlockWalletResponse) - err := c.cc.Invoke(ctx, "/lnrpc.WalletUnlocker/UnlockWallet", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *walletUnlockerClient) ChangePassword(ctx context.Context, in *ChangePasswordRequest, opts ...grpc.CallOption) (*ChangePasswordResponse, error) { - out := new(ChangePasswordResponse) - err := c.cc.Invoke(ctx, "/lnrpc.WalletUnlocker/ChangePassword", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// WalletUnlockerServer is the server API for WalletUnlocker service. -// All implementations must embed UnimplementedWalletUnlockerServer -// for forward compatibility -type WalletUnlockerServer interface { - // GenSeed is the first method that should be used to instantiate a new lnd - // instance. This method allows a caller to generate a new aezeed cipher seed - // given an optional passphrase. If provided, the passphrase will be necessary - // to decrypt the cipherseed to expose the internal wallet seed. - // - // Once the cipherseed is obtained and verified by the user, the InitWallet - // method should be used to commit the newly generated seed, and create the - // wallet. - GenSeed(context.Context, *GenSeedRequest) (*GenSeedResponse, error) - // InitWallet is used when lnd is starting up for the first time to fully - // initialize the daemon and its internal wallet. At the very least a wallet - // password must be provided. This will be used to encrypt sensitive material - // on disk. - // - // In the case of a recovery scenario, the user can also specify their aezeed - // mnemonic and passphrase. If set, then the daemon will use this prior state - // to initialize its internal wallet. - // - // Alternatively, this can be used along with the GenSeed RPC to obtain a - // seed, then present it to the user. Once it has been verified by the user, - // the seed can be fed into this RPC in order to commit the new wallet. - InitWallet(context.Context, *InitWalletRequest) (*InitWalletResponse, error) - // lncli: `unlock` - // UnlockWallet is used at startup of lnd to provide a password to unlock - // the wallet database. - UnlockWallet(context.Context, *UnlockWalletRequest) (*UnlockWalletResponse, error) - // lncli: `changepassword` - // ChangePassword changes the password of the encrypted wallet. This will - // automatically unlock the wallet database if successful. - ChangePassword(context.Context, *ChangePasswordRequest) (*ChangePasswordResponse, error) - mustEmbedUnimplementedWalletUnlockerServer() -} - -// UnimplementedWalletUnlockerServer must be embedded to have forward compatible implementations. -type UnimplementedWalletUnlockerServer struct { -} - -func (UnimplementedWalletUnlockerServer) GenSeed(context.Context, *GenSeedRequest) (*GenSeedResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GenSeed not implemented") -} -func (UnimplementedWalletUnlockerServer) InitWallet(context.Context, *InitWalletRequest) (*InitWalletResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method InitWallet not implemented") -} -func (UnimplementedWalletUnlockerServer) UnlockWallet(context.Context, *UnlockWalletRequest) (*UnlockWalletResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnlockWallet not implemented") -} -func (UnimplementedWalletUnlockerServer) ChangePassword(context.Context, *ChangePasswordRequest) (*ChangePasswordResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ChangePassword not implemented") -} -func (UnimplementedWalletUnlockerServer) mustEmbedUnimplementedWalletUnlockerServer() {} - -// UnsafeWalletUnlockerServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to WalletUnlockerServer will -// result in compilation errors. -type UnsafeWalletUnlockerServer interface { - mustEmbedUnimplementedWalletUnlockerServer() -} - -func RegisterWalletUnlockerServer(s grpc.ServiceRegistrar, srv WalletUnlockerServer) { - s.RegisterService(&WalletUnlocker_ServiceDesc, srv) -} - -func _WalletUnlocker_GenSeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GenSeedRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WalletUnlockerServer).GenSeed(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.WalletUnlocker/GenSeed", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WalletUnlockerServer).GenSeed(ctx, req.(*GenSeedRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _WalletUnlocker_InitWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(InitWalletRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WalletUnlockerServer).InitWallet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.WalletUnlocker/InitWallet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WalletUnlockerServer).InitWallet(ctx, req.(*InitWalletRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _WalletUnlocker_UnlockWallet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnlockWalletRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WalletUnlockerServer).UnlockWallet(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.WalletUnlocker/UnlockWallet", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WalletUnlockerServer).UnlockWallet(ctx, req.(*UnlockWalletRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _WalletUnlocker_ChangePassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ChangePasswordRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(WalletUnlockerServer).ChangePassword(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/lnrpc.WalletUnlocker/ChangePassword", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(WalletUnlockerServer).ChangePassword(ctx, req.(*ChangePasswordRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// WalletUnlocker_ServiceDesc is the grpc.ServiceDesc for WalletUnlocker service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var WalletUnlocker_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "lnrpc.WalletUnlocker", - HandlerType: (*WalletUnlockerServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GenSeed", - Handler: _WalletUnlocker_GenSeed_Handler, - }, - { - MethodName: "InitWallet", - Handler: _WalletUnlocker_InitWallet_Handler, - }, - { - MethodName: "UnlockWallet", - Handler: _WalletUnlocker_UnlockWallet_Handler, - }, - { - MethodName: "ChangePassword", - Handler: _WalletUnlocker_ChangePassword_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "walletunlocker.proto", -} diff --git a/go.mod b/go.mod index 1795f7c..88f3b2b 100644 --- a/go.mod +++ b/go.mod @@ -2,38 +2,50 @@ module github.com/Elenpay/liquidator go 1.20 +replace google.golang.org/protobuf => github.com/lightninglabs/protobuf-go-hex-display v1.30.0-hex-display + require ( - github.com/btcsuite/btcd/btcutil v1.1.3 - github.com/lightninglabs/loop v0.26.2-beta - github.com/lightningnetwork/lnd v0.16.4-beta.rc1 - go.opentelemetry.io/otel v1.16.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0 - go.opentelemetry.io/otel/sdk v1.16.0 - google.golang.org/grpc v1.57.1 + github.com/btcsuite/btcd/btcutil v1.1.5 + github.com/lightninglabs/loop v0.27.1-beta + github.com/lightningnetwork/lnd v0.17.4-beta + go.opentelemetry.io/otel v1.21.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 + go.opentelemetry.io/otel/sdk v1.21.0 + google.golang.org/grpc v1.60.1 ) require ( github.com/joho/godotenv v1.5.1 - go.uber.org/goleak v1.2.1 + go.uber.org/goleak v1.3.0 + go.uber.org/mock v0.4.0 ) require ( - golang.org/x/exp v0.0.0-20230807204917-050eac23e9de // indirect - golang.org/x/sync v0.3.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230807174057-1744710a1577 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 // indirect + github.com/Masterminds/semver/v3 v3.2.0 // indirect + github.com/gofrs/uuid v4.2.0+incompatible // indirect + github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa // indirect + github.com/lightningnetwork/lnd/fn v1.0.1 // indirect + github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect + github.com/onsi/ginkgo v1.16.4 // indirect + github.com/sagikazarmark/locafero v0.4.0 // indirect + github.com/sagikazarmark/slog-shim v0.1.0 // indirect + github.com/shopspring/decimal v1.3.1 // indirect + github.com/sourcegraph/conc v0.3.0 // indirect + golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 // indirect ) require ( github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/aead/siphash v1.0.1 // indirect - github.com/btcsuite/btcd v0.23.5-0.20230228185050-38331963bddd // indirect + github.com/btcsuite/btcd v0.24.1-0.20240123000108-62e6af035ec5 // indirect github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect - github.com/btcsuite/btcd/btcutil/psbt v1.1.8 // indirect - github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2 // indirect + github.com/btcsuite/btcd/btcutil/psbt v1.1.9 // indirect + github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 // indirect github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f // indirect - github.com/btcsuite/btcwallet v0.16.10-0.20230621165747-9c21f464ce13 // indirect + github.com/btcsuite/btcwallet v0.16.10-0.20240127010340-16b422a2e8bf // indirect github.com/btcsuite/btcwallet/wallet/txauthor v1.3.3 // indirect github.com/btcsuite/btcwallet/wallet/txrules v1.2.0 // indirect github.com/btcsuite/btcwallet/wallet/txsizes v1.2.3 // indirect @@ -45,26 +57,26 @@ require ( github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/coreos/go-semver v0.3.1 // indirect github.com/coreos/go-systemd/v22 v22.5.0 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/decred/dcrd/crypto/blake256 v1.0.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect github.com/decred/dcrd/lru v1.1.2 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/fergusstrange/embedded-postgres v1.23.0 // indirect - github.com/go-errors/errors v1.4.2 // indirect - github.com/go-logr/logr v1.2.4 // indirect + github.com/fergusstrange/embedded-postgres v1.25.0 // indirect + github.com/go-errors/errors v1.5.1 // indirect + github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-macaroon-bakery/macaroonpb v1.0.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v4 v4.5.0 // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/btree v1.1.2 // indirect - github.com/google/uuid v1.3.0 // indirect - github.com/gorilla/websocket v1.5.0 // indirect + github.com/google/uuid v1.5.0 // indirect + github.com/gorilla/websocket v1.5.1 // indirect github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 // indirect github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.2 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect github.com/jackc/chunkreader/v2 v2.0.1 // indirect github.com/jackc/pgconn v1.14.1 // indirect github.com/jackc/pgio v1.0.0 // indirect @@ -82,22 +94,22 @@ require ( github.com/lib/pq v1.10.9 // indirect github.com/lightninglabs/gozmq v0.0.0-20191113021534-d20a764486bf // indirect github.com/lightninglabs/loop/swapserverrpc v1.0.5 // indirect - github.com/lightninglabs/neutrino v0.15.0 // indirect + github.com/lightninglabs/neutrino v0.16.0 // indirect github.com/lightninglabs/neutrino/cache v1.1.2 // indirect - github.com/lightningnetwork/lightning-onion v1.2.1-0.20221202012345-ca23184850a1 // indirect - github.com/lightningnetwork/lnd/clock v1.1.0 // indirect - github.com/lightningnetwork/lnd/healthcheck v1.2.2 // indirect - github.com/lightningnetwork/lnd/kvdb v1.4.2 // indirect - github.com/lightningnetwork/lnd/queue v1.1.0 // indirect - github.com/lightningnetwork/lnd/ticker v1.1.0 // indirect - github.com/lightningnetwork/lnd/tlv v1.1.0 // indirect - github.com/lightningnetwork/lnd/tor v1.1.1 // indirect + github.com/lightningnetwork/lightning-onion v1.2.1-0.20230823005744-06182b1d7d2f // indirect + github.com/lightningnetwork/lnd/clock v1.1.1 // indirect + github.com/lightningnetwork/lnd/healthcheck v1.2.3 // indirect + github.com/lightningnetwork/lnd/kvdb v1.4.4 // indirect + github.com/lightningnetwork/lnd/queue v1.1.1 // indirect + github.com/lightningnetwork/lnd/ticker v1.1.1 // indirect + github.com/lightningnetwork/lnd/tlv v1.2.1 // indirect + github.com/lightningnetwork/lnd/tor v1.1.3 // indirect github.com/ltcsuite/ltcd v0.22.1-beta // indirect - github.com/mattn/go-isatty v0.0.19 // indirect - github.com/miekg/dns v1.1.55 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect + github.com/miekg/dns v1.1.57 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect github.com/rogpeppe/fastuuid v1.2.0 // indirect github.com/soheilhy/cmux v0.1.5 // indirect @@ -107,74 +119,69 @@ require ( github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 // indirect github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510 // indirect - go.etcd.io/bbolt v1.3.7 // indirect - go.etcd.io/etcd/api/v3 v3.5.9 // indirect - go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect - go.etcd.io/etcd/client/v2 v2.305.9 // indirect - go.etcd.io/etcd/client/v3 v3.5.9 // indirect - go.etcd.io/etcd/pkg/v3 v3.5.9 // indirect - go.etcd.io/etcd/raft/v3 v3.5.9 // indirect - go.etcd.io/etcd/server/v3 v3.5.9 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 - go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 // indirect - go.opentelemetry.io/otel/metric v1.16.0 // indirect - go.opentelemetry.io/otel/trace v1.16.0 + go.etcd.io/bbolt v1.3.8 // indirect + go.etcd.io/etcd/api/v3 v3.5.11 // indirect + go.etcd.io/etcd/client/pkg/v3 v3.5.11 // indirect + go.etcd.io/etcd/client/v2 v2.305.11 // indirect + go.etcd.io/etcd/client/v3 v3.5.11 // indirect + go.etcd.io/etcd/pkg/v3 v3.5.11 // indirect + go.etcd.io/etcd/raft/v3 v3.5.11 // indirect + go.etcd.io/etcd/server/v3 v3.5.11 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 + go.opentelemetry.io/otel/metric v1.21.0 // indirect + go.opentelemetry.io/otel/trace v1.21.0 go.opentelemetry.io/proto/otlp v1.0.0 // indirect go.uber.org/multierr v1.11.0 // indirect - go.uber.org/zap v1.25.0 // indirect - golang.org/x/crypto v0.17.0 // indirect - golang.org/x/mod v0.12.0 // indirect - golang.org/x/term v0.15.0 // indirect - golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.12.0 // indirect + go.uber.org/zap v1.26.0 // indirect + golang.org/x/crypto v0.18.0 // indirect + golang.org/x/mod v0.14.0 // indirect + golang.org/x/term v0.16.0 // indirect + golang.org/x/time v0.5.0 // indirect + golang.org/x/tools v0.17.0 // indirect gopkg.in/errgo.v1 v1.0.1 // indirect gopkg.in/macaroon-bakery.v2 v2.3.0 // indirect gopkg.in/macaroon.v2 v2.1.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect lukechampine.com/uint128 v1.3.0 // indirect modernc.org/cc/v3 v3.41.0 // indirect - modernc.org/ccgo/v3 v3.16.14 // indirect - modernc.org/libc v1.24.1 // indirect + modernc.org/ccgo/v3 v3.16.15 // indirect + modernc.org/libc v1.40.1 // indirect modernc.org/mathutil v1.6.0 // indirect - modernc.org/memory v1.6.0 // indirect + modernc.org/memory v1.7.2 // indirect modernc.org/opt v0.1.3 // indirect - modernc.org/sqlite v1.25.0 // indirect - modernc.org/strutil v1.1.3 // indirect + modernc.org/sqlite v1.28.0 // indirect + modernc.org/strutil v1.2.0 // indirect modernc.org/token v1.1.0 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) require ( github.com/allegro/bigcache/v3 v3.1.0 github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/golang/mock v1.6.0 + github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/magiconair/properties v1.8.7 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/pelletier/go-toml/v2 v2.0.9 // indirect - github.com/prometheus/client_golang v1.16.0 - github.com/prometheus/client_model v0.4.0 // indirect - github.com/prometheus/common v0.44.0 // indirect - github.com/prometheus/procfs v0.11.1 // indirect + github.com/pelletier/go-toml/v2 v2.1.1 // indirect + github.com/prometheus/client_golang v1.18.0 + github.com/prometheus/client_model v0.5.0 // indirect + github.com/prometheus/common v0.45.0 // indirect + github.com/prometheus/procfs v0.12.0 // indirect github.com/sirupsen/logrus v1.9.3 - github.com/spf13/afero v1.9.5 // indirect - github.com/spf13/cast v1.5.1 // indirect - github.com/spf13/cobra v1.7.0 - github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/spf13/afero v1.11.0 // indirect + github.com/spf13/cast v1.6.0 // indirect + github.com/spf13/cobra v1.8.0 github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.16.0 - github.com/subosito/gotenv v1.4.2 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.15.0 // indirect + github.com/spf13/viper v1.18.2 + github.com/subosito/gotenv v1.6.0 // indirect + golang.org/x/net v0.20.0 // indirect + golang.org/x/sys v0.16.0 // indirect golang.org/x/text v0.14.0 // indirect - google.golang.org/genproto v0.0.0-20230807174057-1744710a1577 // indirect - google.golang.org/protobuf v1.31.0 + google.golang.org/genproto v0.0.0-20240108191215-35c7eff3a6b1 // indirect + google.golang.org/protobuf v1.32.0 gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 02b85fd..616d5b5 100644 --- a/go.sum +++ b/go.sum @@ -35,7 +35,7 @@ cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34h cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= -cloud.google.com/go v0.110.7 h1:rJyC7nWRg2jWGZ4wSJ5nY65GTdYJkg0cd/uXb+ACI6o= +cloud.google.com/go v0.111.0 h1:YHLKNupSD1KqjDbQ3+LVdQ81h/UJbJyZG203cEfnQgM= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= @@ -118,7 +118,7 @@ cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= -cloud.google.com/go/compute v1.23.0 h1:tP41Zoavr8ptEqaW6j+LQOnyBBhO7OkOMAGrgLopTwY= +cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= @@ -390,8 +390,9 @@ cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= +github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= @@ -401,19 +402,16 @@ github.com/allegro/bigcache/v3 v3.1.0 h1:H2Vp8VOvxcrB91o86fUSVJFqeuz8kpyyB02eH3b github.com/allegro/bigcache/v3 v3.1.0/go.mod h1:aPyh7jEvrog9zAwx5N7+JUQX5dZTSGpxF1LAR4dr35I= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benbjohnson/clock v1.3.0 h1:ip6w0uFQkncKQ979AypyG0ER7mqUSBdKLOgAle/AT8A= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/btcsuite/btcd v0.20.1-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ= github.com/btcsuite/btcd v0.22.0-beta.0.20220111032746-97732e52810c/go.mod h1:tjmYdS6MLJ5/s0Fj4DbLgSbDHbEqLJrtnHecBFkdz5M= github.com/btcsuite/btcd v0.22.0-beta.0.20220204213055-eaf0459ff879/go.mod h1:osu7EoKiL36UThEgzYPqdRaxeo0NU8VoXqgcnwpey0g= -github.com/btcsuite/btcd v0.22.0-beta.0.20220207191057-4dc4ff7963b4/go.mod h1:7alexyj/lHlOtr2PJK7L/+HDJZpcGDn/pAU98r7DY08= -github.com/btcsuite/btcd v0.23.0/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= github.com/btcsuite/btcd v0.23.1/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= -github.com/btcsuite/btcd v0.23.3/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= github.com/btcsuite/btcd v0.23.4/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= -github.com/btcsuite/btcd v0.23.5-0.20230228185050-38331963bddd h1:v2Bs8yLhwv+8XYU96OOnhZ5BEj8ZlNGownexUO0e80I= -github.com/btcsuite/btcd v0.23.5-0.20230228185050-38331963bddd/go.mod h1:0QJIIN1wwIXF/3G/m87gIwGniDMDQqjVn4SZgnFpsYY= +github.com/btcsuite/btcd v0.23.5-0.20231215221805-96c9fd8078fd/go.mod h1:nm3Bko6zh6bWP60UxwoT5LzdGJsQJaPo6HjduXq9p6A= +github.com/btcsuite/btcd v0.24.1-0.20240123000108-62e6af035ec5 h1:8BHBWvtP6kkzvmCpyWEznq4eS0gfLOSVuXLesv413Xs= +github.com/btcsuite/btcd v0.24.1-0.20240123000108-62e6af035ec5/go.mod h1:5C8ChTkl5ejr3WHj8tkQSCmydiMEPB0ZhQhehpq7Dgg= github.com/btcsuite/btcd/btcec/v2 v2.1.0/go.mod h1:2VzYrv4Gm4apmbVVsSq5bqf1Ec8v56E48Vt0Y/umPgA= github.com/btcsuite/btcd/btcec/v2 v2.1.1/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= github.com/btcsuite/btcd/btcec/v2 v2.1.3/go.mod h1:ctjw4H1kknNJmRN4iP1R7bTQ+v3GJkZBd6mui8ZsAZE= @@ -422,19 +420,19 @@ github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY github.com/btcsuite/btcd/btcutil v1.0.0/go.mod h1:Uoxwv0pqYWhD//tfTiipkxNfdhG9UrLwaeswfjfdF0A= github.com/btcsuite/btcd/btcutil v1.1.0/go.mod h1:5OapHB7A2hBBWLm48mmw4MOHNJCcUBTwmWH/0Jn8VHE= github.com/btcsuite/btcd/btcutil v1.1.1/go.mod h1:nbKlBMNm9FGsdvKvu0essceubPiAcI57pYBNnsLAa34= -github.com/btcsuite/btcd/btcutil v1.1.3 h1:xfbtw8lwpp0G6NwSHb+UE67ryTFHJAiNuipusjXSohQ= -github.com/btcsuite/btcd/btcutil v1.1.3/go.mod h1:UR7dsSJzJUfMmFiiLlIrMq1lS9jh9EdCV7FStZSnpi0= -github.com/btcsuite/btcd/btcutil/psbt v1.1.8 h1:4voqtT8UppT7nmKQkXV+T9K8UyQjKOn2z/ycpmJK8wg= -github.com/btcsuite/btcd/btcutil/psbt v1.1.8/go.mod h1:kA6FLH/JfUx++j9pYU0pyu+Z8XGBQuuTmuKYUf6q7/U= +github.com/btcsuite/btcd/btcutil v1.1.5 h1:+wER79R5670vs/ZusMTF1yTcRYE5GUsFbdjdisflzM8= +github.com/btcsuite/btcd/btcutil v1.1.5/go.mod h1:PSZZ4UitpLBWzxGd5VGOrLnmOjtPP/a6HaFo12zMs00= +github.com/btcsuite/btcd/btcutil/psbt v1.1.9 h1:UmfOIiWMZcVMOLaN+lxbbLSuoINGS1WmK1TZNI0b4yk= +github.com/btcsuite/btcd/btcutil/psbt v1.1.9/go.mod h1:ehBEvU91lxSlXtA+zZz3iFYx7Yq9eqnKx4/kSrnsvMY= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2 h1:KdUfX2zKommPRa+PD0sWZUyXe9w277ABlgELO7H04IM= -github.com/btcsuite/btcd/chaincfg/chainhash v1.0.2/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 h1:59Kx4K6lzOW5w6nFlA0v5+lk/6sjybR934QNHSJZPTQ= +github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f h1:bAs4lUbRJpnnkd9VhRV3jjAVU7DJVjMaK+IsvSeZvFo= github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA= github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg= -github.com/btcsuite/btcwallet v0.16.10-0.20230621165747-9c21f464ce13 h1:7i0CzK+PP4+Dth9ia/eIBFRw8+K6MT8MfoFqBH43Xts= -github.com/btcsuite/btcwallet v0.16.10-0.20230621165747-9c21f464ce13/go.mod h1:Hl4PP/tSNcgN6himfx/020mYSa19a1qkqTuqQBUU97w= +github.com/btcsuite/btcwallet v0.16.10-0.20240127010340-16b422a2e8bf h1:eNjj5R0tKP48NQxDkuKr+C9frZsdzTAemEwu75ZDQg0= +github.com/btcsuite/btcwallet v0.16.10-0.20240127010340-16b422a2e8bf/go.mod h1:LzcW/LYkQLgDufv6Ouw4cOIW0YsY+A60MTtc61/OZTU= github.com/btcsuite/btcwallet/wallet/txauthor v1.3.3 h1:A4vz5wCONhxawdWs5y41gluZUVARhK/Pty1Uu1c5zkw= github.com/btcsuite/btcwallet/wallet/txauthor v1.3.3/go.mod h1:k8f2FcgUQUdfpkY98vWvDYpXLb83g17EupcLv1KcNJw= github.com/btcsuite/btcwallet/wallet/txrules v1.2.0 h1:BtEN5Empw62/RVnZ0VcJaVtVlBijnLlJY+dwjAye2Bg= @@ -491,13 +489,14 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7 github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= +github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= github.com/decred/dcrd/crypto/blake256 v1.0.1 h1:7PltbUIQB7u/FfZ39+DGa/ShuMyJ5ilcvdfma9wOH6Y= github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= @@ -522,44 +521,45 @@ github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= -github.com/envoyproxy/protoc-gen-validate v0.10.1 h1:c0g45+xCJhdgFGw7a5QAfdS4byAbud7miNWJ1WwEVf8= -github.com/fergusstrange/embedded-postgres v1.23.0 h1:ZYRD89nammxQDWDi6taJE2CYjDuAoVc1TpEqRIYQryc= -github.com/fergusstrange/embedded-postgres v1.23.0/go.mod h1:wL562t1V+iuFwq0UcgMi2e9rp8CROY9wxWZEfP8Y874= +github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA= +github.com/fergusstrange/embedded-postgres v1.25.0 h1:sa+k2Ycrtz40eCRPOzI7Ry7TtkWXXJ+YRsxpKMDhxK0= +github.com/fergusstrange/embedded-postgres v1.25.0/go.mod h1:t/MLs0h9ukYM6FSt99R7InCHs1nW0ordoVCcnzmpTYw= github.com/frankban/quicktest v1.0.0/go.mod h1:R98jIehRai+d1/3Hv2//jOVCTJhW1VBavT6B6CuGq2k= github.com/frankban/quicktest v1.1.0/go.mod h1:R98jIehRai+d1/3Hv2//jOVCTJhW1VBavT6B6CuGq2k= github.com/frankban/quicktest v1.2.2/go.mod h1:Qh/WofXFeiAFII1aEBu529AtJo6Zg2VHscnEsbBnJ20= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= -github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= +github.com/go-errors/errors v1.5.1 h1:ZwEMSLRCapFLflTpT7NKaAc7ukJ8ZPEjzlxt8rPN8bk= +github.com/go-errors/errors v1.5.1/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ= -github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-macaroon-bakery/macaroonpb v1.0.0 h1:It9exBaRMZ9iix1iJ6gwzfwsDE6ExNuwtAJ9e09v6XE= github.com/go-macaroon-bakery/macaroonpb v1.0.0/go.mod h1:UzrGOcbiwTXISFP2XDLDPjfhMINZa+fX/7A2lMd31zc= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gofrs/uuid v4.2.0+incompatible h1:yyYWMnhkhrKwwr8gAOcOCYxOOscHgDS9yZgBrnJfGa0= +github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -571,7 +571,6 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -579,10 +578,6 @@ github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= @@ -614,8 +609,8 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -639,8 +634,9 @@ github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= +github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= @@ -657,8 +653,9 @@ github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57Q github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.1 h1:gmztn0JnHVt9JZquRuzLw3g4wouNVzKL15iLr/zn/QY= +github.com/gorilla/websocket v1.5.1/go.mod h1:x3kM2JMyaluk02fnUJpQuwD2dCS5NDG2ZHL0uE0tcaY= github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 h1:UH//fgunKIs4JdUbpDl1VZCDaL56wXCB/5+wF6uHfaI= github.com/grpc-ecosystem/go-grpc-middleware v1.4.0/go.mod h1:g5qyo/la0ALbONm6Vbp88Yd8NsDy6rZz+RcrMPxvld8= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= @@ -667,8 +664,8 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4 github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.2 h1:dygLcbEBA+t/P7ck6a8AkXv6juQ4cK0RHBoh32jxhHM= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.2/go.mod h1:Ap9RLCIJVtgQg1/BBgVEfypOAySvvlcpcVQkSzJCH4Y= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 h1:Wqo399gCIufwto+VfwCSvsnfGpF/w5E9CNxSwbpD6No= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0/go.mod h1:qmOFXW2epJhM0qSnUUYpldc7gVz2KMQwJ/QYCDIa7XU= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= @@ -692,6 +689,8 @@ github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRb github.com/jackc/pgconn v1.14.0/go.mod h1:9mBNlny0UvkgJdCDvdVHYSjI+8tD2rnKK69Wz8ti++E= github.com/jackc/pgconn v1.14.1 h1:smbxIaZA08n6YuxEX1sDyjV/qkbtUtkH20qLkR9MUR4= github.com/jackc/pgconn v1.14.1/go.mod h1:9mBNlny0UvkgJdCDvdVHYSjI+8tD2rnKK69Wz8ti++E= +github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa h1:s+4MhCQ6YrzisK6hFJUX53drDT4UsSW3DEhKn0ifuHw= +github.com/jackc/pgerrcode v0.0.0-20220416144525-469b46aa5efa/go.mod h1:a/s9Lp5W7n/DD0VrVoyJ00FbP2ytTPDVOivvn2bMlds= github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= @@ -711,8 +710,9 @@ github.com/jackc/pgproto3/v2 v2.3.2/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwX github.com/jackc/pgproto3/v2 v2.3.3 h1:1HLSx5H+tXR9pW3in3zaztoEwQYRC9SQaYUHjTSUOag= github.com/jackc/pgproto3/v2 v2.3.3/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 h1:L0QtFUgDarD7Fpv9jeVMgy/+Ec0mtnmYuImjTz6dtDA= +github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= @@ -776,35 +776,37 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lightninglabs/gozmq v0.0.0-20191113021534-d20a764486bf h1:HZKvJUHlcXI/f/O0Avg7t8sqkPo78HFzjmeYFl6DPnc= github.com/lightninglabs/gozmq v0.0.0-20191113021534-d20a764486bf/go.mod h1:vxmQPeIQxPf6Jf9rM8R+B4rKBqLA2AjttNxkFBL2Plk= -github.com/lightninglabs/loop v0.26.2-beta h1:aUPD+jj5BTW7Kwc45I2UzTN9sS2kFB5rlVVaUGA0t2w= -github.com/lightninglabs/loop v0.26.2-beta/go.mod h1:ajgWPGeG4eGLA12eNnxoZ5s+AFL8ijM4E+j005CZl1Q= +github.com/lightninglabs/loop v0.27.1-beta h1:iQMa9qgiyIptd4dA8iIjdflugkqtkmP21+cU5b0Rous= +github.com/lightninglabs/loop v0.27.1-beta/go.mod h1:mI7VFSqJjUu0TxxECohpzDk9w9Ro9Jwmuk3xvxoFv+s= github.com/lightninglabs/loop/swapserverrpc v1.0.5 h1:wxgAnxO8d20+t8AppNfdoZZY69++9dvx9mkuWST4nxE= github.com/lightninglabs/loop/swapserverrpc v1.0.5/go.mod h1:vrUYQjRLzV7fZZkM8I1AlmwTdPjCtKPCzeBeKemMGa4= -github.com/lightninglabs/neutrino v0.15.0 h1:yr3uz36fLAq8hyM0TRUVlef1TRNoWAqpmmNlVtKUDtI= -github.com/lightninglabs/neutrino v0.15.0/go.mod h1:pmjwElN/091TErtSE9Vd5W4hpxoG2/+xlb+HoPm9Gug= +github.com/lightninglabs/neutrino v0.16.0 h1:YNTQG32fPR/Zg0vvJVI65OBH8l3U18LSXXtX91hx0q0= +github.com/lightninglabs/neutrino v0.16.0/go.mod h1:x3OmY2wsA18+Kc3TSV2QpSUewOCiscw2mKpXgZv2kZk= github.com/lightninglabs/neutrino/cache v1.1.2 h1:C9DY/DAPaPxbFC+xNNEI/z1SJY9GS3shmlu5hIQ798g= github.com/lightninglabs/neutrino/cache v1.1.2/go.mod h1:XJNcgdOw1LQnanGjw8Vj44CvguYA25IMKjWFZczwZuo= -github.com/lightningnetwork/lightning-onion v1.2.1-0.20221202012345-ca23184850a1 h1:Wm0g70gkcAu2pGpNZwfWPSVOY21j8IyYsNewwK4OkT4= -github.com/lightningnetwork/lightning-onion v1.2.1-0.20221202012345-ca23184850a1/go.mod h1:7dDx73ApjEZA0kcknI799m2O5kkpfg4/gr7N092ojNo= -github.com/lightningnetwork/lnd v0.16.4-beta.rc1 h1:L8ktsv1lM5esVtiOlEtOBqU1dCoDckbm0FkcketBskQ= -github.com/lightningnetwork/lnd v0.16.4-beta.rc1/go.mod h1:sK9F98TpFuO/fjLCX4jEjc65qr2GZGs8IquVde1N46I= +github.com/lightninglabs/protobuf-go-hex-display v1.30.0-hex-display h1:pRdza2wleRN1L2fJXd6ZoQ9ZegVFTAb2bOQfruJPKcY= +github.com/lightninglabs/protobuf-go-hex-display v1.30.0-hex-display/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +github.com/lightningnetwork/lightning-onion v1.2.1-0.20230823005744-06182b1d7d2f h1:Pua7+5TcFEJXIIZ1I2YAUapmbcttmLj4TTi786bIi3s= +github.com/lightningnetwork/lightning-onion v1.2.1-0.20230823005744-06182b1d7d2f/go.mod h1:c0kvRShutpj3l6B9WtTsNTBUtjSmjZXbJd9ZBRQOSKI= +github.com/lightningnetwork/lnd v0.17.4-beta h1:BXYbETYZWtcNrYcAosGGXnWsq4Nr5R9PRqlRuEA9AUs= +github.com/lightningnetwork/lnd v0.17.4-beta/go.mod h1:S5hugoB/FWyF9Up9sjEnOsA/ohmhXzIqRHHMLlrtyFk= github.com/lightningnetwork/lnd/clock v1.0.1/go.mod h1:KnQudQ6w0IAMZi1SgvecLZQZ43ra2vpDNj7H/aasemg= -github.com/lightningnetwork/lnd/clock v1.1.0 h1:/yfVAwtPmdx45aQBoXQImeY7sOIEr7IXlImRMBOZ7GQ= -github.com/lightningnetwork/lnd/clock v1.1.0/go.mod h1:KnQudQ6w0IAMZi1SgvecLZQZ43ra2vpDNj7H/aasemg= -github.com/lightningnetwork/lnd/healthcheck v1.2.2 h1:im+qcpgSuteqRCGeorT9yqVXuLrS6A7/acYzGgarMS4= -github.com/lightningnetwork/lnd/healthcheck v1.2.2/go.mod h1:IWY0GChlarRbXFkFDdE4WY5POYJabe/7/H1iCZt4ZKs= -github.com/lightningnetwork/lnd/kvdb v1.4.2 h1:kbKaRJJLEvYArSmkGuY0G9bxzqB3F5OHFDAqGOJU1tg= -github.com/lightningnetwork/lnd/kvdb v1.4.2/go.mod h1:Sz57z4hOSKDpdSepaDdWR0qtk2PuyL1LGEZ+BdNbzvc= -github.com/lightningnetwork/lnd/queue v1.1.0 h1:YpCJjlIvVxN/R7ww2aNiY8ex7U2fucZDLJ67tI3HFx8= -github.com/lightningnetwork/lnd/queue v1.1.0/go.mod h1:YTkTVZCxz8tAYreH27EO3s8572ODumWrNdYW2E/YKxg= -github.com/lightningnetwork/lnd/ticker v1.0.0/go.mod h1:iaLXJiVgI1sPANIF2qYYUJXjoksPNvGNYowB8aRbpX0= -github.com/lightningnetwork/lnd/ticker v1.1.0 h1:ShoBiRP3pIxZHaETndfQ5kEe+S4NdAY1hiX7YbZ4QE4= -github.com/lightningnetwork/lnd/ticker v1.1.0/go.mod h1:ubqbSVCn6RlE0LazXuBr7/Zi6QT0uQo++OgIRBxQUrk= -github.com/lightningnetwork/lnd/tlv v1.1.0 h1:gsyte75HVuA/X59O+BhaISHM6OobZ0YesPbdu+xG1h0= -github.com/lightningnetwork/lnd/tlv v1.1.0/go.mod h1:0+JKp4un47MG1lnj6jKa8woNeB1X7w3yF4MZB1NHiiE= -github.com/lightningnetwork/lnd/tor v1.0.0/go.mod h1:RDtaAdwfAm+ONuPYwUhNIH1RAvKPv+75lHPOegUcz64= -github.com/lightningnetwork/lnd/tor v1.1.1 h1:496FUbqvMX2+uX96buXp68trQhD5KhLX1B9TrLdm2l4= -github.com/lightningnetwork/lnd/tor v1.1.1/go.mod h1:NCB5SH13I5Ahm0pXbwrcMagPsSyVx0ClGHti5ByfYSM= +github.com/lightningnetwork/lnd/clock v1.1.1 h1:OfR3/zcJd2RhH0RU+zX/77c0ZiOnIMsDIBjgjWdZgA0= +github.com/lightningnetwork/lnd/clock v1.1.1/go.mod h1:mGnAhPyjYZQJmebS7aevElXKTFDuO+uNFFfMXK1W8xQ= +github.com/lightningnetwork/lnd/fn v1.0.1 h1:4nAxKpGKgk4/xRQKxvim3BW0QM34S4BH6QghWZVjsko= +github.com/lightningnetwork/lnd/fn v1.0.1/go.mod h1:XV+0vBXSnh3aUjskJUv58TOpsveiXQ+ac8rEnXZDGFc= +github.com/lightningnetwork/lnd/healthcheck v1.2.3 h1:oqhOOy8WmIEa6RBkYKC0mmYZkhl8T2kGD97n9jpML8o= +github.com/lightningnetwork/lnd/healthcheck v1.2.3/go.mod h1:eDxH3dEwV9DeBW/6inrmlVh1qBOFV0AI14EEPnGt9gc= +github.com/lightningnetwork/lnd/kvdb v1.4.4 h1:bCv63rVCvzqj1BkagN/EWTov6NDDgYEG/t0z2HepRMk= +github.com/lightningnetwork/lnd/kvdb v1.4.4/go.mod h1:9SuaIqMA9ugrVkdvgQkYXa8CAKYNYd4vsEYORP4V698= +github.com/lightningnetwork/lnd/queue v1.1.1 h1:99ovBlpM9B0FRCGYJo6RSFDlt8/vOkQQZznVb18iNMI= +github.com/lightningnetwork/lnd/queue v1.1.1/go.mod h1:7A6nC1Qrm32FHuhx/mi1cieAiBZo5O6l8IBIoQxvkz4= +github.com/lightningnetwork/lnd/ticker v1.1.1 h1:J/b6N2hibFtC7JLV77ULQp++QLtCwT6ijJlbdiZFbSM= +github.com/lightningnetwork/lnd/ticker v1.1.1/go.mod h1:waPTRAAcwtu7Ji3+3k+u/xH5GHovTsCoSVpho0KDvdA= +github.com/lightningnetwork/lnd/tlv v1.2.1 h1:zV6nBuPNKthAnDc2UR8D8RK+408w3eumRsiJFf3ukyU= +github.com/lightningnetwork/lnd/tlv v1.2.1/go.mod h1:GJ1JLyA7FWJsjJ2zKJe9+urxwYi15GweC8c509mUfCs= +github.com/lightningnetwork/lnd/tor v1.1.3 h1:hPIxSpT0UUJmt7iCbF4n4nsmkYe++fvQ/zRadeFfprY= +github.com/lightningnetwork/lnd/tor v1.1.3/go.mod h1:/LwOzgL6c+bVW0Aegoj1pGlxx9wSvbulBe876knJetc= github.com/ltcsuite/ltcd v0.22.1-beta h1:aXeIMuzwPss4VABDyc7Zbx+NMLYFaG3YkNTPNkKL9XA= github.com/ltcsuite/ltcd v0.22.1-beta/go.mod h1:O9R9U/mbZwRgr3So8TlNmW7CPc2ZQVhWyVlhXrqu/vo= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= @@ -816,14 +818,13 @@ github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y= -github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= -github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= -github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo= -github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= +github.com/miekg/dns v1.1.57 h1:Jzi7ApEIzwEPLHWRcafCN9LZSBbqQpxjt/wpgvg7wcM= +github.com/miekg/dns v1.1.57/go.mod h1:uqRjCRUuEAA6qsOiJvDd+CFo/vW+y5WR6SNmHE55hZk= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -833,36 +834,39 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.15.0 h1:1V1NfVQR87RtWAgp1lv9JZJ5Jap+XFGKPi00andXGi4= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.10.5 h1:7n6FEkpFmfCoo2t+YYqXH0evK+a9ICQz0xcAy9dYcaQ= +github.com/onsi/gomega v1.26.0 h1:03cDLK28U6hWvCAns6NeydX3zIm4SF3ci69ulidS32Q= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0= -github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI= +github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v1.16.0 h1:yk/hx9hDbrGHovbci4BY+pRMfSuuat626eFsHb7tmT8= -github.com/prometheus/client_golang v1.16.0/go.mod h1:Zsulrv/L9oM40tJ7T815tM89lFEugiJ9HzIqaAx4LKc= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= +github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.4.0 h1:5lQXD3cAg1OXBf4Wq03gTrXHeaV0TQvGfUooCfx1yqY= -github.com/prometheus/client_model v0.4.0/go.mod h1:oMQmHW1/JoDwqLtg57MGgP/Fb1CJEYF2imWWhWtMkYU= -github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdOOfY= -github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= -github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwaUuI= -github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY= +github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= +github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= +github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= @@ -874,10 +878,15 @@ github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= +github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= +github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= +github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= +github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= @@ -885,22 +894,22 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= +github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= -github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= -github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= -github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= -github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= -github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= +github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= +github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= -github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= +github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= +github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= @@ -920,8 +929,8 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= -github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= +github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75 h1:6fotK7otjonDflCTK0BCfls4SPy3NcCVb5dqqmbRknE= @@ -938,22 +947,22 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.5-0.20200615073812-232d8fc87f50/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= -go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= -go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= -go.etcd.io/etcd/api/v3 v3.5.9 h1:4wSsluwyTbGGmyjJktOf3wFQoTBIURXHnq9n/G/JQHs= -go.etcd.io/etcd/api/v3 v3.5.9/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= -go.etcd.io/etcd/client/pkg/v3 v3.5.9 h1:oidDC4+YEuSIQbsR94rY9gur91UPL6DnxDCIYd2IGsE= -go.etcd.io/etcd/client/pkg/v3 v3.5.9/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= -go.etcd.io/etcd/client/v2 v2.305.9 h1:YZ2OLi0OvR0H75AcgSUajjd5uqKDKocQUqROTG11jIo= -go.etcd.io/etcd/client/v2 v2.305.9/go.mod h1:0NBdNx9wbxtEQLwAQtrDHwx58m02vXpDcgSYI2seohQ= -go.etcd.io/etcd/client/v3 v3.5.9 h1:r5xghnU7CwbUxD/fbUtRyJGaYNfDun8sp/gTr1hew6E= -go.etcd.io/etcd/client/v3 v3.5.9/go.mod h1:i/Eo5LrZ5IKqpbtpPDuaUnDOUv471oDg8cjQaUr2MbA= -go.etcd.io/etcd/pkg/v3 v3.5.9 h1:6R2jg/aWd/zB9+9JxmijDKStGJAPFsX3e6BeJkMi6eQ= -go.etcd.io/etcd/pkg/v3 v3.5.9/go.mod h1:BZl0SAShQFk0IpLWR78T/+pyt8AruMHhTNNX73hkNVY= -go.etcd.io/etcd/raft/v3 v3.5.9 h1:ZZ1GIHoUlHsn0QVqiRysAm3/81Xx7+i2d7nSdWxlOiI= -go.etcd.io/etcd/raft/v3 v3.5.9/go.mod h1:WnFkqzFdZua4LVlVXQEGhmooLeyS7mqzS4Pf4BCVqXg= -go.etcd.io/etcd/server/v3 v3.5.9 h1:vomEmmxeztLtS5OEH7d0hBAg4cjVIu9wXuNzUZx2ZA0= -go.etcd.io/etcd/server/v3 v3.5.9/go.mod h1:GgI1fQClQCFIzuVjlvdbMxNbnISt90gdfYyqiAIt65g= +go.etcd.io/bbolt v1.3.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA= +go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/etcd/api/v3 v3.5.11 h1:B54KwXbWDHyD3XYAwprxNzTe7vlhR69LuBgZnMVvS7E= +go.etcd.io/etcd/api/v3 v3.5.11/go.mod h1:Ot+o0SWSyT6uHhA56al1oCED0JImsRiU9Dc26+C2a+4= +go.etcd.io/etcd/client/pkg/v3 v3.5.11 h1:bT2xVspdiCj2910T0V+/KHcVKjkUrCZVtk8J2JF2z1A= +go.etcd.io/etcd/client/pkg/v3 v3.5.11/go.mod h1:seTzl2d9APP8R5Y2hFL3NVlD6qC/dOT+3kvrqPyTas4= +go.etcd.io/etcd/client/v2 v2.305.11 h1:ZqdKLNJnWpE3bUaaj3XZ5xWyCi+7Vspgk9E0hlIBguE= +go.etcd.io/etcd/client/v2 v2.305.11/go.mod h1:vX2j5tMynwOateY6BfVmLol3gYOIkbhqjs/BqRsdIOw= +go.etcd.io/etcd/client/v3 v3.5.11 h1:ajWtgoNSZJ1gmS8k+icvPtqsqEav+iUorF7b0qozgUU= +go.etcd.io/etcd/client/v3 v3.5.11/go.mod h1:a6xQUEqFJ8vztO1agJh/KQKOMfFI8og52ZconzcDJwE= +go.etcd.io/etcd/pkg/v3 v3.5.11 h1:U5+/mZh+jps8VRWv7+xPiK1tC1hRBOBYdn7zCqtWyOY= +go.etcd.io/etcd/pkg/v3 v3.5.11/go.mod h1:bLfwo6YEgpOAMBZJsZg5AiSS+mxNTRJi15Dvp9kKW68= +go.etcd.io/etcd/raft/v3 v3.5.11 h1:eeimaNIT9DjV4bdLSy4FjLQ/KGSAiG1L5T1nTf5VoZg= +go.etcd.io/etcd/raft/v3 v3.5.11/go.mod h1:Tp7kZJVtWJWLiMCPrgkimiOB5ZYi8YM93onQihpG724= +go.etcd.io/etcd/server/v3 v3.5.11 h1:FEa0ImvoXdIPa81/vZUKpnJ74fpQ5ZivseoIKMPzfpg= +go.etcd.io/etcd/server/v3 v3.5.11/go.mod h1:CS0+TwcuRlhg1I5CpA3YlisOcoqJB1h1GMRgje75uDs= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -962,22 +971,20 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0 h1:ZOLJc06r4CB42laIXg/7udr0pbZyuAihN10A/XuiQRY= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0/go.mod h1:5z+/ZWJQKXa9YT34fQNx5K8Hd1EoIhvtUygUQPqEOgQ= -go.opentelemetry.io/otel v1.16.0 h1:Z7GVAX/UkAXPKsy94IU+i6thsQS4nb7LviLpnaNeW8s= -go.opentelemetry.io/otel v1.16.0/go.mod h1:vl0h9NUa1D5s1nv3A5vZOYWn8av4K8Ml6JDeHrT/bx4= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0 h1:t4ZwRPU+emrcvM2e9DHd0Fsf0JTPVcbfa/BhTDF03d0= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.16.0/go.mod h1:vLarbg68dH2Wa77g71zmKQqlQ8+8Rq3GRG31uc0WcWI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0 h1:cbsD4cUcviQGXdw8+bo5x2wazq10SKz8hEbtCRPcU78= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.16.0/go.mod h1:JgXSGah17croqhJfhByOLVY719k1emAXC8MVhCIJlRs= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0 h1:TVQp/bboR4mhZSav+MdgXB8FaRho1RC8UwVn3T0vjVc= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.16.0/go.mod h1:I33vtIe0sR96wfrUcilIzLoA3mLHhRmz9S9Te0S3gDo= -go.opentelemetry.io/otel/metric v1.16.0 h1:RbrpwVG1Hfv85LgnZ7+txXioPDoh6EdbZHo26Q3hqOo= -go.opentelemetry.io/otel/metric v1.16.0/go.mod h1:QE47cpOmkwipPiefDwo2wDzwJrlfxxNYodqc4xnGCo4= -go.opentelemetry.io/otel/sdk v1.16.0 h1:Z1Ok1YsijYL0CSJpHt4cS3wDDh7p572grzNrBMiMWgE= -go.opentelemetry.io/otel/sdk v1.16.0/go.mod h1:tMsIuKXuuIWPBAOrH+eHtvhTL+SntFtXF9QD68aP6p4= -go.opentelemetry.io/otel/trace v1.16.0 h1:8JRpaObFoW0pxuVPapkgH8UhHQj+bJW8jJsCZEu5MQs= -go.opentelemetry.io/otel/trace v1.16.0/go.mod h1:Yt9vYq1SdNz3xdjZZK7wcXv1qv2pwLkqr2QVwea0ef0= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 h1:SpGay3w+nEwMpfVnbqOLH5gY52/foP8RE8UzTZ1pdSE= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1/go.mod h1:4UoMYEZOC0yN/sPGH76KPkkU7zgiEWYWL9vwmbnTJPE= +go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc= +go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruOgJP5QiA1pw4fYYdv6nc6CBWw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0/go.mod h1:zgBdWWAu7oEEMC06MMKc5NLbA/1YDXV1sMpSqEeLQLg= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h1:nUeKExfxAQVbiVFn32YXpXZZHZ61Cc3s3Rn1pDBGAb0= +go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4= +go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= +go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= +go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= +go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc= +go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I= @@ -988,8 +995,10 @@ go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= -go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4= +go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= +go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU= +go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= @@ -1001,8 +1010,8 @@ go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.25.0 h1:4Hvk6GtkucQ790dqmj7l1eEnRdKm3k3ZUrUMS2d5+5c= -go.uber.org/zap v1.25.0/go.mod h1:JIAUzQIH94IC4fOJQm7gMmBJP5k7wQfdcnYdPoEXJYk= +go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= +go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180723164146-c126467f60eb/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= @@ -1019,10 +1028,9 @@ golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1033,8 +1041,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20230807204917-050eac23e9de h1:l5Za6utMv/HsBWWqzt4S8X17j+kt1uVETUX5UFhn2rE= -golang.org/x/exp v0.0.0-20230807204917-050eac23e9de/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= +golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o= +golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1063,8 +1071,8 @@ golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20150829230318-ea47fc708ee3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1109,8 +1117,6 @@ golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLd golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -1127,9 +1133,8 @@ golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfS golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1156,7 +1161,7 @@ golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= -golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8= +golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1172,8 +1177,7 @@ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1217,10 +1221,10 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1255,21 +1259,20 @@ golang.org/x/sys v0.0.0-20220624220833-87e55d714810/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1290,8 +1293,8 @@ golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= -golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181008205924-a2b3f7f249e9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1344,6 +1347,7 @@ golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82u golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -1355,8 +1359,8 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= -golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss= -golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= +golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= +golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1424,8 +1428,8 @@ google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7 google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1539,12 +1543,12 @@ google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZV google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230807174057-1744710a1577 h1:Tyk/35yqszRCvaragTn5NnkY6IiKk/XvHzEWepo71N0= -google.golang.org/genproto v0.0.0-20230807174057-1744710a1577/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= -google.golang.org/genproto/googleapis/api v0.0.0-20230807174057-1744710a1577 h1:xv8KoglAClYGkprUSmDTKaILtzfD8XzG9NYVXMprjKo= -google.golang.org/genproto/googleapis/api v0.0.0-20230807174057-1744710a1577/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577 h1:wukfNtZmZUurLN/atp2hiIeTKn7QJWIQdHzqmsOnAOk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230807174057-1744710a1577/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/genproto v0.0.0-20240108191215-35c7eff3a6b1 h1:/IWabOtPziuXTEtI1KYCpM6Ss7vaAkeMxk+uXV/xvZs= +google.golang.org/genproto v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k= +google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1 h1:OPXtXn7fNMaXwO3JvOmF1QyTc00jsSFFz1vXXBOdCDo= +google.golang.org/genproto/googleapis/api v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:B5xPO//w8qmBDjGReYLpR6UJPnkldGkCSMoH/2vxJeg= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1 h1:gphdwh0npgs8elJ4T6J+DQJHPVF7RsuJHCfwztUb4J4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240108191215-35c7eff3a6b1/go.mod h1:daQN87bsDqDoe316QbbvX60nMoJQa4r6Ds0ZuoAe5yA= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1583,26 +1587,9 @@ google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCD google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= -google.golang.org/grpc v1.57.1 h1:upNTNqv0ES+2ZOOqACwVtS3Il8M12/+Hz41RCPzAjQg= -google.golang.org/grpc v1.57.1/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= +google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= @@ -1632,7 +1619,6 @@ gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= @@ -1649,22 +1635,22 @@ lukechampine.com/uint128 v1.3.0 h1:cDdUVfRwDUDovz610ABgFD17nXD4/uDgVHl2sC3+sbo= lukechampine.com/uint128 v1.3.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= modernc.org/cc/v3 v3.41.0 h1:QoR1Sn3YWlmA1T4vLaKZfawdVtSiGx8H+cEojbC7v1Q= modernc.org/cc/v3 v3.41.0/go.mod h1:Ni4zjJYJ04CDOhG7dn640WGfwBzfE0ecX8TyMB0Fv0Y= -modernc.org/ccgo/v3 v3.16.14 h1:af6KNtFgsVmnDYrWk3PQCS9XT6BXe7o3ZFJKkIKvXNQ= -modernc.org/ccgo/v3 v3.16.14/go.mod h1:mPDSujUIaTNWQSG4eqKw+atqLOEbma6Ncsa94WbC9zo= +modernc.org/ccgo/v3 v3.16.15 h1:KbDR3ZAVU+wiLyMESPtbtE/Add4elztFyfsWoNTgxS0= +modernc.org/ccgo/v3 v3.16.15/go.mod h1:yT7B+/E2m43tmMOT51GMoM98/MtHIcQQSleGnddkUNI= modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk= modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= -modernc.org/libc v1.24.1 h1:uvJSeCKL/AgzBo2yYIPPTy82v21KgGnizcGYfBHaNuM= -modernc.org/libc v1.24.1/go.mod h1:FmfO1RLrU3MHJfyi9eYYmZBfi/R+tqZ6+hQ3yQQUkak= +modernc.org/libc v1.40.1 h1:ZhRylEBcj3GyQbPVC8JxIg7SdrT4JOxIDJoUon0NfF8= +modernc.org/libc v1.40.1/go.mod h1:YAXkAZ8ktnkCKaN9sw/UDeUVkGYJ/YquGO4FTi5nmHE= modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4= modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo= -modernc.org/memory v1.6.0 h1:i6mzavxrE9a30whzMfwf7XWVODx2r5OYXvU46cirX7o= -modernc.org/memory v1.6.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E= +modernc.org/memory v1.7.2/go.mod h1:NO4NVCQy0N7ln+T9ngWqOQfi7ley4vpwvARR+Hjw95E= modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4= modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= -modernc.org/sqlite v1.25.0 h1:AFweiwPNd/b3BoKnBOfFm+Y260guGMF+0UFk0savqeA= -modernc.org/sqlite v1.25.0/go.mod h1:FL3pVXie73rg3Rii6V/u5BoHlSoyeZeIgKZEgHARyCU= -modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY= -modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/sqlite v1.28.0 h1:Zx+LyDDmXczNnEQdvPuEfcFVA2ZPyaD7UCZDjef3BHQ= +modernc.org/sqlite v1.28.0/go.mod h1:Qxpazz0zH8Z1xCFyi5GSL3FzbtZ3fvbjmywNogldEW0= +modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA= +modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0= modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY= modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y= modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= @@ -1672,5 +1658,5 @@ modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/lightning_rpc_mock.go b/lightning_rpc_mock.go index 4b2e061..e34bb12 100644 --- a/lightning_rpc_mock.go +++ b/lightning_rpc_mock.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: lnd/lnrpc/lightning_grpc.pb.go +// +// Generated by this command: +// +// mockgen -destination lightning_rpc_mock.go -source lnd/lnrpc/lightning_grpc.pb.go -package main +// // Package main is a generated GoMock package. package main @@ -8,8 +13,8 @@ import ( context "context" reflect "reflect" - gomock "github.com/golang/mock/gomock" lnrpc "github.com/lightningnetwork/lnd/lnrpc" + gomock "go.uber.org/mock/gomock" grpc "google.golang.org/grpc" metadata "google.golang.org/grpc/metadata" ) @@ -40,7 +45,7 @@ func (m *MockLightningClient) EXPECT() *MockLightningClientMockRecorder { // AbandonChannel mocks base method. func (m *MockLightningClient) AbandonChannel(ctx context.Context, in *lnrpc.AbandonChannelRequest, opts ...grpc.CallOption) (*lnrpc.AbandonChannelResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -51,16 +56,16 @@ func (m *MockLightningClient) AbandonChannel(ctx context.Context, in *lnrpc.Aban } // AbandonChannel indicates an expected call of AbandonChannel. -func (mr *MockLightningClientMockRecorder) AbandonChannel(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) AbandonChannel(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AbandonChannel", reflect.TypeOf((*MockLightningClient)(nil).AbandonChannel), varargs...) } // AddInvoice mocks base method. func (m *MockLightningClient) AddInvoice(ctx context.Context, in *lnrpc.Invoice, opts ...grpc.CallOption) (*lnrpc.AddInvoiceResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -71,16 +76,16 @@ func (m *MockLightningClient) AddInvoice(ctx context.Context, in *lnrpc.Invoice, } // AddInvoice indicates an expected call of AddInvoice. -func (mr *MockLightningClientMockRecorder) AddInvoice(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) AddInvoice(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddInvoice", reflect.TypeOf((*MockLightningClient)(nil).AddInvoice), varargs...) } // BakeMacaroon mocks base method. func (m *MockLightningClient) BakeMacaroon(ctx context.Context, in *lnrpc.BakeMacaroonRequest, opts ...grpc.CallOption) (*lnrpc.BakeMacaroonResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -91,16 +96,16 @@ func (m *MockLightningClient) BakeMacaroon(ctx context.Context, in *lnrpc.BakeMa } // BakeMacaroon indicates an expected call of BakeMacaroon. -func (mr *MockLightningClientMockRecorder) BakeMacaroon(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) BakeMacaroon(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BakeMacaroon", reflect.TypeOf((*MockLightningClient)(nil).BakeMacaroon), varargs...) } // BatchOpenChannel mocks base method. func (m *MockLightningClient) BatchOpenChannel(ctx context.Context, in *lnrpc.BatchOpenChannelRequest, opts ...grpc.CallOption) (*lnrpc.BatchOpenChannelResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -111,16 +116,16 @@ func (m *MockLightningClient) BatchOpenChannel(ctx context.Context, in *lnrpc.Ba } // BatchOpenChannel indicates an expected call of BatchOpenChannel. -func (mr *MockLightningClientMockRecorder) BatchOpenChannel(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) BatchOpenChannel(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BatchOpenChannel", reflect.TypeOf((*MockLightningClient)(nil).BatchOpenChannel), varargs...) } // ChannelAcceptor mocks base method. func (m *MockLightningClient) ChannelAcceptor(ctx context.Context, opts ...grpc.CallOption) (lnrpc.Lightning_ChannelAcceptorClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx} + varargs := []any{ctx} for _, a := range opts { varargs = append(varargs, a) } @@ -131,16 +136,16 @@ func (m *MockLightningClient) ChannelAcceptor(ctx context.Context, opts ...grpc. } // ChannelAcceptor indicates an expected call of ChannelAcceptor. -func (mr *MockLightningClientMockRecorder) ChannelAcceptor(ctx interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ChannelAcceptor(ctx any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx}, opts...) + varargs := append([]any{ctx}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChannelAcceptor", reflect.TypeOf((*MockLightningClient)(nil).ChannelAcceptor), varargs...) } // ChannelBalance mocks base method. func (m *MockLightningClient) ChannelBalance(ctx context.Context, in *lnrpc.ChannelBalanceRequest, opts ...grpc.CallOption) (*lnrpc.ChannelBalanceResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -151,16 +156,16 @@ func (m *MockLightningClient) ChannelBalance(ctx context.Context, in *lnrpc.Chan } // ChannelBalance indicates an expected call of ChannelBalance. -func (mr *MockLightningClientMockRecorder) ChannelBalance(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ChannelBalance(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChannelBalance", reflect.TypeOf((*MockLightningClient)(nil).ChannelBalance), varargs...) } // CheckMacaroonPermissions mocks base method. func (m *MockLightningClient) CheckMacaroonPermissions(ctx context.Context, in *lnrpc.CheckMacPermRequest, opts ...grpc.CallOption) (*lnrpc.CheckMacPermResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -171,16 +176,16 @@ func (m *MockLightningClient) CheckMacaroonPermissions(ctx context.Context, in * } // CheckMacaroonPermissions indicates an expected call of CheckMacaroonPermissions. -func (mr *MockLightningClientMockRecorder) CheckMacaroonPermissions(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) CheckMacaroonPermissions(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckMacaroonPermissions", reflect.TypeOf((*MockLightningClient)(nil).CheckMacaroonPermissions), varargs...) } // CloseChannel mocks base method. func (m *MockLightningClient) CloseChannel(ctx context.Context, in *lnrpc.CloseChannelRequest, opts ...grpc.CallOption) (lnrpc.Lightning_CloseChannelClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -191,16 +196,16 @@ func (m *MockLightningClient) CloseChannel(ctx context.Context, in *lnrpc.CloseC } // CloseChannel indicates an expected call of CloseChannel. -func (mr *MockLightningClientMockRecorder) CloseChannel(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) CloseChannel(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloseChannel", reflect.TypeOf((*MockLightningClient)(nil).CloseChannel), varargs...) } // ClosedChannels mocks base method. func (m *MockLightningClient) ClosedChannels(ctx context.Context, in *lnrpc.ClosedChannelsRequest, opts ...grpc.CallOption) (*lnrpc.ClosedChannelsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -211,16 +216,16 @@ func (m *MockLightningClient) ClosedChannels(ctx context.Context, in *lnrpc.Clos } // ClosedChannels indicates an expected call of ClosedChannels. -func (mr *MockLightningClientMockRecorder) ClosedChannels(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ClosedChannels(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClosedChannels", reflect.TypeOf((*MockLightningClient)(nil).ClosedChannels), varargs...) } // ConnectPeer mocks base method. func (m *MockLightningClient) ConnectPeer(ctx context.Context, in *lnrpc.ConnectPeerRequest, opts ...grpc.CallOption) (*lnrpc.ConnectPeerResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -231,16 +236,16 @@ func (m *MockLightningClient) ConnectPeer(ctx context.Context, in *lnrpc.Connect } // ConnectPeer indicates an expected call of ConnectPeer. -func (mr *MockLightningClientMockRecorder) ConnectPeer(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ConnectPeer(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConnectPeer", reflect.TypeOf((*MockLightningClient)(nil).ConnectPeer), varargs...) } // DebugLevel mocks base method. func (m *MockLightningClient) DebugLevel(ctx context.Context, in *lnrpc.DebugLevelRequest, opts ...grpc.CallOption) (*lnrpc.DebugLevelResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -251,16 +256,16 @@ func (m *MockLightningClient) DebugLevel(ctx context.Context, in *lnrpc.DebugLev } // DebugLevel indicates an expected call of DebugLevel. -func (mr *MockLightningClientMockRecorder) DebugLevel(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) DebugLevel(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DebugLevel", reflect.TypeOf((*MockLightningClient)(nil).DebugLevel), varargs...) } // DecodePayReq mocks base method. func (m *MockLightningClient) DecodePayReq(ctx context.Context, in *lnrpc.PayReqString, opts ...grpc.CallOption) (*lnrpc.PayReq, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -271,16 +276,16 @@ func (m *MockLightningClient) DecodePayReq(ctx context.Context, in *lnrpc.PayReq } // DecodePayReq indicates an expected call of DecodePayReq. -func (mr *MockLightningClientMockRecorder) DecodePayReq(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) DecodePayReq(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DecodePayReq", reflect.TypeOf((*MockLightningClient)(nil).DecodePayReq), varargs...) } // DeleteAllPayments mocks base method. func (m *MockLightningClient) DeleteAllPayments(ctx context.Context, in *lnrpc.DeleteAllPaymentsRequest, opts ...grpc.CallOption) (*lnrpc.DeleteAllPaymentsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -291,16 +296,16 @@ func (m *MockLightningClient) DeleteAllPayments(ctx context.Context, in *lnrpc.D } // DeleteAllPayments indicates an expected call of DeleteAllPayments. -func (mr *MockLightningClientMockRecorder) DeleteAllPayments(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) DeleteAllPayments(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllPayments", reflect.TypeOf((*MockLightningClient)(nil).DeleteAllPayments), varargs...) } // DeleteMacaroonID mocks base method. func (m *MockLightningClient) DeleteMacaroonID(ctx context.Context, in *lnrpc.DeleteMacaroonIDRequest, opts ...grpc.CallOption) (*lnrpc.DeleteMacaroonIDResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -311,16 +316,16 @@ func (m *MockLightningClient) DeleteMacaroonID(ctx context.Context, in *lnrpc.De } // DeleteMacaroonID indicates an expected call of DeleteMacaroonID. -func (mr *MockLightningClientMockRecorder) DeleteMacaroonID(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) DeleteMacaroonID(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMacaroonID", reflect.TypeOf((*MockLightningClient)(nil).DeleteMacaroonID), varargs...) } // DeletePayment mocks base method. func (m *MockLightningClient) DeletePayment(ctx context.Context, in *lnrpc.DeletePaymentRequest, opts ...grpc.CallOption) (*lnrpc.DeletePaymentResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -331,16 +336,16 @@ func (m *MockLightningClient) DeletePayment(ctx context.Context, in *lnrpc.Delet } // DeletePayment indicates an expected call of DeletePayment. -func (mr *MockLightningClientMockRecorder) DeletePayment(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) DeletePayment(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePayment", reflect.TypeOf((*MockLightningClient)(nil).DeletePayment), varargs...) } // DescribeGraph mocks base method. func (m *MockLightningClient) DescribeGraph(ctx context.Context, in *lnrpc.ChannelGraphRequest, opts ...grpc.CallOption) (*lnrpc.ChannelGraph, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -351,16 +356,16 @@ func (m *MockLightningClient) DescribeGraph(ctx context.Context, in *lnrpc.Chann } // DescribeGraph indicates an expected call of DescribeGraph. -func (mr *MockLightningClientMockRecorder) DescribeGraph(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) DescribeGraph(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeGraph", reflect.TypeOf((*MockLightningClient)(nil).DescribeGraph), varargs...) } // DisconnectPeer mocks base method. func (m *MockLightningClient) DisconnectPeer(ctx context.Context, in *lnrpc.DisconnectPeerRequest, opts ...grpc.CallOption) (*lnrpc.DisconnectPeerResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -371,16 +376,16 @@ func (m *MockLightningClient) DisconnectPeer(ctx context.Context, in *lnrpc.Disc } // DisconnectPeer indicates an expected call of DisconnectPeer. -func (mr *MockLightningClientMockRecorder) DisconnectPeer(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) DisconnectPeer(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DisconnectPeer", reflect.TypeOf((*MockLightningClient)(nil).DisconnectPeer), varargs...) } // EstimateFee mocks base method. func (m *MockLightningClient) EstimateFee(ctx context.Context, in *lnrpc.EstimateFeeRequest, opts ...grpc.CallOption) (*lnrpc.EstimateFeeResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -391,16 +396,16 @@ func (m *MockLightningClient) EstimateFee(ctx context.Context, in *lnrpc.Estimat } // EstimateFee indicates an expected call of EstimateFee. -func (mr *MockLightningClientMockRecorder) EstimateFee(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) EstimateFee(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EstimateFee", reflect.TypeOf((*MockLightningClient)(nil).EstimateFee), varargs...) } // ExportAllChannelBackups mocks base method. func (m *MockLightningClient) ExportAllChannelBackups(ctx context.Context, in *lnrpc.ChanBackupExportRequest, opts ...grpc.CallOption) (*lnrpc.ChanBackupSnapshot, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -411,16 +416,16 @@ func (m *MockLightningClient) ExportAllChannelBackups(ctx context.Context, in *l } // ExportAllChannelBackups indicates an expected call of ExportAllChannelBackups. -func (mr *MockLightningClientMockRecorder) ExportAllChannelBackups(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ExportAllChannelBackups(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExportAllChannelBackups", reflect.TypeOf((*MockLightningClient)(nil).ExportAllChannelBackups), varargs...) } // ExportChannelBackup mocks base method. func (m *MockLightningClient) ExportChannelBackup(ctx context.Context, in *lnrpc.ExportChannelBackupRequest, opts ...grpc.CallOption) (*lnrpc.ChannelBackup, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -431,16 +436,16 @@ func (m *MockLightningClient) ExportChannelBackup(ctx context.Context, in *lnrpc } // ExportChannelBackup indicates an expected call of ExportChannelBackup. -func (mr *MockLightningClientMockRecorder) ExportChannelBackup(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ExportChannelBackup(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExportChannelBackup", reflect.TypeOf((*MockLightningClient)(nil).ExportChannelBackup), varargs...) } // FeeReport mocks base method. func (m *MockLightningClient) FeeReport(ctx context.Context, in *lnrpc.FeeReportRequest, opts ...grpc.CallOption) (*lnrpc.FeeReportResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -451,16 +456,16 @@ func (m *MockLightningClient) FeeReport(ctx context.Context, in *lnrpc.FeeReport } // FeeReport indicates an expected call of FeeReport. -func (mr *MockLightningClientMockRecorder) FeeReport(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) FeeReport(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FeeReport", reflect.TypeOf((*MockLightningClient)(nil).FeeReport), varargs...) } // ForwardingHistory mocks base method. func (m *MockLightningClient) ForwardingHistory(ctx context.Context, in *lnrpc.ForwardingHistoryRequest, opts ...grpc.CallOption) (*lnrpc.ForwardingHistoryResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -471,16 +476,16 @@ func (m *MockLightningClient) ForwardingHistory(ctx context.Context, in *lnrpc.F } // ForwardingHistory indicates an expected call of ForwardingHistory. -func (mr *MockLightningClientMockRecorder) ForwardingHistory(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ForwardingHistory(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ForwardingHistory", reflect.TypeOf((*MockLightningClient)(nil).ForwardingHistory), varargs...) } // FundingStateStep mocks base method. func (m *MockLightningClient) FundingStateStep(ctx context.Context, in *lnrpc.FundingTransitionMsg, opts ...grpc.CallOption) (*lnrpc.FundingStateStepResp, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -491,16 +496,16 @@ func (m *MockLightningClient) FundingStateStep(ctx context.Context, in *lnrpc.Fu } // FundingStateStep indicates an expected call of FundingStateStep. -func (mr *MockLightningClientMockRecorder) FundingStateStep(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) FundingStateStep(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FundingStateStep", reflect.TypeOf((*MockLightningClient)(nil).FundingStateStep), varargs...) } // GetChanInfo mocks base method. func (m *MockLightningClient) GetChanInfo(ctx context.Context, in *lnrpc.ChanInfoRequest, opts ...grpc.CallOption) (*lnrpc.ChannelEdge, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -511,16 +516,16 @@ func (m *MockLightningClient) GetChanInfo(ctx context.Context, in *lnrpc.ChanInf } // GetChanInfo indicates an expected call of GetChanInfo. -func (mr *MockLightningClientMockRecorder) GetChanInfo(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) GetChanInfo(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetChanInfo", reflect.TypeOf((*MockLightningClient)(nil).GetChanInfo), varargs...) } // GetInfo mocks base method. func (m *MockLightningClient) GetInfo(ctx context.Context, in *lnrpc.GetInfoRequest, opts ...grpc.CallOption) (*lnrpc.GetInfoResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -531,16 +536,16 @@ func (m *MockLightningClient) GetInfo(ctx context.Context, in *lnrpc.GetInfoRequ } // GetInfo indicates an expected call of GetInfo. -func (mr *MockLightningClientMockRecorder) GetInfo(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) GetInfo(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInfo", reflect.TypeOf((*MockLightningClient)(nil).GetInfo), varargs...) } // GetNetworkInfo mocks base method. func (m *MockLightningClient) GetNetworkInfo(ctx context.Context, in *lnrpc.NetworkInfoRequest, opts ...grpc.CallOption) (*lnrpc.NetworkInfo, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -551,16 +556,16 @@ func (m *MockLightningClient) GetNetworkInfo(ctx context.Context, in *lnrpc.Netw } // GetNetworkInfo indicates an expected call of GetNetworkInfo. -func (mr *MockLightningClientMockRecorder) GetNetworkInfo(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) GetNetworkInfo(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNetworkInfo", reflect.TypeOf((*MockLightningClient)(nil).GetNetworkInfo), varargs...) } // GetNodeInfo mocks base method. func (m *MockLightningClient) GetNodeInfo(ctx context.Context, in *lnrpc.NodeInfoRequest, opts ...grpc.CallOption) (*lnrpc.NodeInfo, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -571,16 +576,16 @@ func (m *MockLightningClient) GetNodeInfo(ctx context.Context, in *lnrpc.NodeInf } // GetNodeInfo indicates an expected call of GetNodeInfo. -func (mr *MockLightningClientMockRecorder) GetNodeInfo(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) GetNodeInfo(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNodeInfo", reflect.TypeOf((*MockLightningClient)(nil).GetNodeInfo), varargs...) } // GetNodeMetrics mocks base method. func (m *MockLightningClient) GetNodeMetrics(ctx context.Context, in *lnrpc.NodeMetricsRequest, opts ...grpc.CallOption) (*lnrpc.NodeMetricsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -591,16 +596,16 @@ func (m *MockLightningClient) GetNodeMetrics(ctx context.Context, in *lnrpc.Node } // GetNodeMetrics indicates an expected call of GetNodeMetrics. -func (mr *MockLightningClientMockRecorder) GetNodeMetrics(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) GetNodeMetrics(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNodeMetrics", reflect.TypeOf((*MockLightningClient)(nil).GetNodeMetrics), varargs...) } // GetRecoveryInfo mocks base method. func (m *MockLightningClient) GetRecoveryInfo(ctx context.Context, in *lnrpc.GetRecoveryInfoRequest, opts ...grpc.CallOption) (*lnrpc.GetRecoveryInfoResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -611,16 +616,16 @@ func (m *MockLightningClient) GetRecoveryInfo(ctx context.Context, in *lnrpc.Get } // GetRecoveryInfo indicates an expected call of GetRecoveryInfo. -func (mr *MockLightningClientMockRecorder) GetRecoveryInfo(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) GetRecoveryInfo(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRecoveryInfo", reflect.TypeOf((*MockLightningClient)(nil).GetRecoveryInfo), varargs...) } // GetTransactions mocks base method. func (m *MockLightningClient) GetTransactions(ctx context.Context, in *lnrpc.GetTransactionsRequest, opts ...grpc.CallOption) (*lnrpc.TransactionDetails, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -631,16 +636,16 @@ func (m *MockLightningClient) GetTransactions(ctx context.Context, in *lnrpc.Get } // GetTransactions indicates an expected call of GetTransactions. -func (mr *MockLightningClientMockRecorder) GetTransactions(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) GetTransactions(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTransactions", reflect.TypeOf((*MockLightningClient)(nil).GetTransactions), varargs...) } // ListAliases mocks base method. func (m *MockLightningClient) ListAliases(ctx context.Context, in *lnrpc.ListAliasesRequest, opts ...grpc.CallOption) (*lnrpc.ListAliasesResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -651,16 +656,16 @@ func (m *MockLightningClient) ListAliases(ctx context.Context, in *lnrpc.ListAli } // ListAliases indicates an expected call of ListAliases. -func (mr *MockLightningClientMockRecorder) ListAliases(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ListAliases(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAliases", reflect.TypeOf((*MockLightningClient)(nil).ListAliases), varargs...) } // ListChannels mocks base method. func (m *MockLightningClient) ListChannels(ctx context.Context, in *lnrpc.ListChannelsRequest, opts ...grpc.CallOption) (*lnrpc.ListChannelsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -671,16 +676,16 @@ func (m *MockLightningClient) ListChannels(ctx context.Context, in *lnrpc.ListCh } // ListChannels indicates an expected call of ListChannels. -func (mr *MockLightningClientMockRecorder) ListChannels(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ListChannels(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListChannels", reflect.TypeOf((*MockLightningClient)(nil).ListChannels), varargs...) } // ListInvoices mocks base method. func (m *MockLightningClient) ListInvoices(ctx context.Context, in *lnrpc.ListInvoiceRequest, opts ...grpc.CallOption) (*lnrpc.ListInvoiceResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -691,16 +696,16 @@ func (m *MockLightningClient) ListInvoices(ctx context.Context, in *lnrpc.ListIn } // ListInvoices indicates an expected call of ListInvoices. -func (mr *MockLightningClientMockRecorder) ListInvoices(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ListInvoices(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListInvoices", reflect.TypeOf((*MockLightningClient)(nil).ListInvoices), varargs...) } // ListMacaroonIDs mocks base method. func (m *MockLightningClient) ListMacaroonIDs(ctx context.Context, in *lnrpc.ListMacaroonIDsRequest, opts ...grpc.CallOption) (*lnrpc.ListMacaroonIDsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -711,16 +716,16 @@ func (m *MockLightningClient) ListMacaroonIDs(ctx context.Context, in *lnrpc.Lis } // ListMacaroonIDs indicates an expected call of ListMacaroonIDs. -func (mr *MockLightningClientMockRecorder) ListMacaroonIDs(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ListMacaroonIDs(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListMacaroonIDs", reflect.TypeOf((*MockLightningClient)(nil).ListMacaroonIDs), varargs...) } // ListPayments mocks base method. func (m *MockLightningClient) ListPayments(ctx context.Context, in *lnrpc.ListPaymentsRequest, opts ...grpc.CallOption) (*lnrpc.ListPaymentsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -731,16 +736,16 @@ func (m *MockLightningClient) ListPayments(ctx context.Context, in *lnrpc.ListPa } // ListPayments indicates an expected call of ListPayments. -func (mr *MockLightningClientMockRecorder) ListPayments(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ListPayments(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPayments", reflect.TypeOf((*MockLightningClient)(nil).ListPayments), varargs...) } // ListPeers mocks base method. func (m *MockLightningClient) ListPeers(ctx context.Context, in *lnrpc.ListPeersRequest, opts ...grpc.CallOption) (*lnrpc.ListPeersResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -751,16 +756,16 @@ func (m *MockLightningClient) ListPeers(ctx context.Context, in *lnrpc.ListPeers } // ListPeers indicates an expected call of ListPeers. -func (mr *MockLightningClientMockRecorder) ListPeers(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ListPeers(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPeers", reflect.TypeOf((*MockLightningClient)(nil).ListPeers), varargs...) } // ListPermissions mocks base method. func (m *MockLightningClient) ListPermissions(ctx context.Context, in *lnrpc.ListPermissionsRequest, opts ...grpc.CallOption) (*lnrpc.ListPermissionsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -771,16 +776,16 @@ func (m *MockLightningClient) ListPermissions(ctx context.Context, in *lnrpc.Lis } // ListPermissions indicates an expected call of ListPermissions. -func (mr *MockLightningClientMockRecorder) ListPermissions(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ListPermissions(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPermissions", reflect.TypeOf((*MockLightningClient)(nil).ListPermissions), varargs...) } // ListUnspent mocks base method. func (m *MockLightningClient) ListUnspent(ctx context.Context, in *lnrpc.ListUnspentRequest, opts ...grpc.CallOption) (*lnrpc.ListUnspentResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -791,16 +796,16 @@ func (m *MockLightningClient) ListUnspent(ctx context.Context, in *lnrpc.ListUns } // ListUnspent indicates an expected call of ListUnspent. -func (mr *MockLightningClientMockRecorder) ListUnspent(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) ListUnspent(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListUnspent", reflect.TypeOf((*MockLightningClient)(nil).ListUnspent), varargs...) } // LookupHtlcResolution mocks base method. func (m *MockLightningClient) LookupHtlcResolution(ctx context.Context, in *lnrpc.LookupHtlcResolutionRequest, opts ...grpc.CallOption) (*lnrpc.LookupHtlcResolutionResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -811,16 +816,16 @@ func (m *MockLightningClient) LookupHtlcResolution(ctx context.Context, in *lnrp } // LookupHtlcResolution indicates an expected call of LookupHtlcResolution. -func (mr *MockLightningClientMockRecorder) LookupHtlcResolution(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) LookupHtlcResolution(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LookupHtlcResolution", reflect.TypeOf((*MockLightningClient)(nil).LookupHtlcResolution), varargs...) } // LookupInvoice mocks base method. func (m *MockLightningClient) LookupInvoice(ctx context.Context, in *lnrpc.PaymentHash, opts ...grpc.CallOption) (*lnrpc.Invoice, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -831,16 +836,16 @@ func (m *MockLightningClient) LookupInvoice(ctx context.Context, in *lnrpc.Payme } // LookupInvoice indicates an expected call of LookupInvoice. -func (mr *MockLightningClientMockRecorder) LookupInvoice(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) LookupInvoice(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LookupInvoice", reflect.TypeOf((*MockLightningClient)(nil).LookupInvoice), varargs...) } // NewAddress mocks base method. func (m *MockLightningClient) NewAddress(ctx context.Context, in *lnrpc.NewAddressRequest, opts ...grpc.CallOption) (*lnrpc.NewAddressResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -851,16 +856,16 @@ func (m *MockLightningClient) NewAddress(ctx context.Context, in *lnrpc.NewAddre } // NewAddress indicates an expected call of NewAddress. -func (mr *MockLightningClientMockRecorder) NewAddress(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) NewAddress(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewAddress", reflect.TypeOf((*MockLightningClient)(nil).NewAddress), varargs...) } // OpenChannel mocks base method. func (m *MockLightningClient) OpenChannel(ctx context.Context, in *lnrpc.OpenChannelRequest, opts ...grpc.CallOption) (lnrpc.Lightning_OpenChannelClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -871,16 +876,16 @@ func (m *MockLightningClient) OpenChannel(ctx context.Context, in *lnrpc.OpenCha } // OpenChannel indicates an expected call of OpenChannel. -func (mr *MockLightningClientMockRecorder) OpenChannel(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) OpenChannel(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OpenChannel", reflect.TypeOf((*MockLightningClient)(nil).OpenChannel), varargs...) } // OpenChannelSync mocks base method. func (m *MockLightningClient) OpenChannelSync(ctx context.Context, in *lnrpc.OpenChannelRequest, opts ...grpc.CallOption) (*lnrpc.ChannelPoint, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -891,16 +896,16 @@ func (m *MockLightningClient) OpenChannelSync(ctx context.Context, in *lnrpc.Ope } // OpenChannelSync indicates an expected call of OpenChannelSync. -func (mr *MockLightningClientMockRecorder) OpenChannelSync(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) OpenChannelSync(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OpenChannelSync", reflect.TypeOf((*MockLightningClient)(nil).OpenChannelSync), varargs...) } // PendingChannels mocks base method. func (m *MockLightningClient) PendingChannels(ctx context.Context, in *lnrpc.PendingChannelsRequest, opts ...grpc.CallOption) (*lnrpc.PendingChannelsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -911,16 +916,16 @@ func (m *MockLightningClient) PendingChannels(ctx context.Context, in *lnrpc.Pen } // PendingChannels indicates an expected call of PendingChannels. -func (mr *MockLightningClientMockRecorder) PendingChannels(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) PendingChannels(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PendingChannels", reflect.TypeOf((*MockLightningClient)(nil).PendingChannels), varargs...) } // QueryRoutes mocks base method. func (m *MockLightningClient) QueryRoutes(ctx context.Context, in *lnrpc.QueryRoutesRequest, opts ...grpc.CallOption) (*lnrpc.QueryRoutesResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -931,16 +936,16 @@ func (m *MockLightningClient) QueryRoutes(ctx context.Context, in *lnrpc.QueryRo } // QueryRoutes indicates an expected call of QueryRoutes. -func (mr *MockLightningClientMockRecorder) QueryRoutes(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) QueryRoutes(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryRoutes", reflect.TypeOf((*MockLightningClient)(nil).QueryRoutes), varargs...) } // RegisterRPCMiddleware mocks base method. func (m *MockLightningClient) RegisterRPCMiddleware(ctx context.Context, opts ...grpc.CallOption) (lnrpc.Lightning_RegisterRPCMiddlewareClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx} + varargs := []any{ctx} for _, a := range opts { varargs = append(varargs, a) } @@ -951,16 +956,16 @@ func (m *MockLightningClient) RegisterRPCMiddleware(ctx context.Context, opts .. } // RegisterRPCMiddleware indicates an expected call of RegisterRPCMiddleware. -func (mr *MockLightningClientMockRecorder) RegisterRPCMiddleware(ctx interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) RegisterRPCMiddleware(ctx any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx}, opts...) + varargs := append([]any{ctx}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterRPCMiddleware", reflect.TypeOf((*MockLightningClient)(nil).RegisterRPCMiddleware), varargs...) } // RestoreChannelBackups mocks base method. func (m *MockLightningClient) RestoreChannelBackups(ctx context.Context, in *lnrpc.RestoreChanBackupRequest, opts ...grpc.CallOption) (*lnrpc.RestoreBackupResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -971,16 +976,16 @@ func (m *MockLightningClient) RestoreChannelBackups(ctx context.Context, in *lnr } // RestoreChannelBackups indicates an expected call of RestoreChannelBackups. -func (mr *MockLightningClientMockRecorder) RestoreChannelBackups(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) RestoreChannelBackups(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RestoreChannelBackups", reflect.TypeOf((*MockLightningClient)(nil).RestoreChannelBackups), varargs...) } // SendCoins mocks base method. func (m *MockLightningClient) SendCoins(ctx context.Context, in *lnrpc.SendCoinsRequest, opts ...grpc.CallOption) (*lnrpc.SendCoinsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -991,16 +996,16 @@ func (m *MockLightningClient) SendCoins(ctx context.Context, in *lnrpc.SendCoins } // SendCoins indicates an expected call of SendCoins. -func (mr *MockLightningClientMockRecorder) SendCoins(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SendCoins(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoins", reflect.TypeOf((*MockLightningClient)(nil).SendCoins), varargs...) } // SendCustomMessage mocks base method. func (m *MockLightningClient) SendCustomMessage(ctx context.Context, in *lnrpc.SendCustomMessageRequest, opts ...grpc.CallOption) (*lnrpc.SendCustomMessageResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1011,16 +1016,16 @@ func (m *MockLightningClient) SendCustomMessage(ctx context.Context, in *lnrpc.S } // SendCustomMessage indicates an expected call of SendCustomMessage. -func (mr *MockLightningClientMockRecorder) SendCustomMessage(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SendCustomMessage(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCustomMessage", reflect.TypeOf((*MockLightningClient)(nil).SendCustomMessage), varargs...) } // SendMany mocks base method. func (m *MockLightningClient) SendMany(ctx context.Context, in *lnrpc.SendManyRequest, opts ...grpc.CallOption) (*lnrpc.SendManyResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1031,16 +1036,16 @@ func (m *MockLightningClient) SendMany(ctx context.Context, in *lnrpc.SendManyRe } // SendMany indicates an expected call of SendMany. -func (mr *MockLightningClientMockRecorder) SendMany(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SendMany(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMany", reflect.TypeOf((*MockLightningClient)(nil).SendMany), varargs...) } // SendPayment mocks base method. func (m *MockLightningClient) SendPayment(ctx context.Context, opts ...grpc.CallOption) (lnrpc.Lightning_SendPaymentClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx} + varargs := []any{ctx} for _, a := range opts { varargs = append(varargs, a) } @@ -1051,16 +1056,16 @@ func (m *MockLightningClient) SendPayment(ctx context.Context, opts ...grpc.Call } // SendPayment indicates an expected call of SendPayment. -func (mr *MockLightningClientMockRecorder) SendPayment(ctx interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SendPayment(ctx any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx}, opts...) + varargs := append([]any{ctx}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendPayment", reflect.TypeOf((*MockLightningClient)(nil).SendPayment), varargs...) } // SendPaymentSync mocks base method. func (m *MockLightningClient) SendPaymentSync(ctx context.Context, in *lnrpc.SendRequest, opts ...grpc.CallOption) (*lnrpc.SendResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1071,16 +1076,16 @@ func (m *MockLightningClient) SendPaymentSync(ctx context.Context, in *lnrpc.Sen } // SendPaymentSync indicates an expected call of SendPaymentSync. -func (mr *MockLightningClientMockRecorder) SendPaymentSync(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SendPaymentSync(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendPaymentSync", reflect.TypeOf((*MockLightningClient)(nil).SendPaymentSync), varargs...) } // SendToRoute mocks base method. func (m *MockLightningClient) SendToRoute(ctx context.Context, opts ...grpc.CallOption) (lnrpc.Lightning_SendToRouteClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx} + varargs := []any{ctx} for _, a := range opts { varargs = append(varargs, a) } @@ -1091,16 +1096,16 @@ func (m *MockLightningClient) SendToRoute(ctx context.Context, opts ...grpc.Call } // SendToRoute indicates an expected call of SendToRoute. -func (mr *MockLightningClientMockRecorder) SendToRoute(ctx interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SendToRoute(ctx any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx}, opts...) + varargs := append([]any{ctx}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendToRoute", reflect.TypeOf((*MockLightningClient)(nil).SendToRoute), varargs...) } // SendToRouteSync mocks base method. func (m *MockLightningClient) SendToRouteSync(ctx context.Context, in *lnrpc.SendToRouteRequest, opts ...grpc.CallOption) (*lnrpc.SendResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1111,16 +1116,16 @@ func (m *MockLightningClient) SendToRouteSync(ctx context.Context, in *lnrpc.Sen } // SendToRouteSync indicates an expected call of SendToRouteSync. -func (mr *MockLightningClientMockRecorder) SendToRouteSync(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SendToRouteSync(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendToRouteSync", reflect.TypeOf((*MockLightningClient)(nil).SendToRouteSync), varargs...) } // SignMessage mocks base method. func (m *MockLightningClient) SignMessage(ctx context.Context, in *lnrpc.SignMessageRequest, opts ...grpc.CallOption) (*lnrpc.SignMessageResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1131,16 +1136,16 @@ func (m *MockLightningClient) SignMessage(ctx context.Context, in *lnrpc.SignMes } // SignMessage indicates an expected call of SignMessage. -func (mr *MockLightningClientMockRecorder) SignMessage(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SignMessage(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SignMessage", reflect.TypeOf((*MockLightningClient)(nil).SignMessage), varargs...) } // StopDaemon mocks base method. func (m *MockLightningClient) StopDaemon(ctx context.Context, in *lnrpc.StopRequest, opts ...grpc.CallOption) (*lnrpc.StopResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1151,16 +1156,16 @@ func (m *MockLightningClient) StopDaemon(ctx context.Context, in *lnrpc.StopRequ } // StopDaemon indicates an expected call of StopDaemon. -func (mr *MockLightningClientMockRecorder) StopDaemon(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) StopDaemon(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StopDaemon", reflect.TypeOf((*MockLightningClient)(nil).StopDaemon), varargs...) } // SubscribeChannelBackups mocks base method. func (m *MockLightningClient) SubscribeChannelBackups(ctx context.Context, in *lnrpc.ChannelBackupSubscription, opts ...grpc.CallOption) (lnrpc.Lightning_SubscribeChannelBackupsClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1171,16 +1176,16 @@ func (m *MockLightningClient) SubscribeChannelBackups(ctx context.Context, in *l } // SubscribeChannelBackups indicates an expected call of SubscribeChannelBackups. -func (mr *MockLightningClientMockRecorder) SubscribeChannelBackups(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SubscribeChannelBackups(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeChannelBackups", reflect.TypeOf((*MockLightningClient)(nil).SubscribeChannelBackups), varargs...) } // SubscribeChannelEvents mocks base method. func (m *MockLightningClient) SubscribeChannelEvents(ctx context.Context, in *lnrpc.ChannelEventSubscription, opts ...grpc.CallOption) (lnrpc.Lightning_SubscribeChannelEventsClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1191,16 +1196,16 @@ func (m *MockLightningClient) SubscribeChannelEvents(ctx context.Context, in *ln } // SubscribeChannelEvents indicates an expected call of SubscribeChannelEvents. -func (mr *MockLightningClientMockRecorder) SubscribeChannelEvents(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SubscribeChannelEvents(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeChannelEvents", reflect.TypeOf((*MockLightningClient)(nil).SubscribeChannelEvents), varargs...) } // SubscribeChannelGraph mocks base method. func (m *MockLightningClient) SubscribeChannelGraph(ctx context.Context, in *lnrpc.GraphTopologySubscription, opts ...grpc.CallOption) (lnrpc.Lightning_SubscribeChannelGraphClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1211,16 +1216,16 @@ func (m *MockLightningClient) SubscribeChannelGraph(ctx context.Context, in *lnr } // SubscribeChannelGraph indicates an expected call of SubscribeChannelGraph. -func (mr *MockLightningClientMockRecorder) SubscribeChannelGraph(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SubscribeChannelGraph(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeChannelGraph", reflect.TypeOf((*MockLightningClient)(nil).SubscribeChannelGraph), varargs...) } // SubscribeCustomMessages mocks base method. func (m *MockLightningClient) SubscribeCustomMessages(ctx context.Context, in *lnrpc.SubscribeCustomMessagesRequest, opts ...grpc.CallOption) (lnrpc.Lightning_SubscribeCustomMessagesClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1231,16 +1236,16 @@ func (m *MockLightningClient) SubscribeCustomMessages(ctx context.Context, in *l } // SubscribeCustomMessages indicates an expected call of SubscribeCustomMessages. -func (mr *MockLightningClientMockRecorder) SubscribeCustomMessages(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SubscribeCustomMessages(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeCustomMessages", reflect.TypeOf((*MockLightningClient)(nil).SubscribeCustomMessages), varargs...) } // SubscribeInvoices mocks base method. func (m *MockLightningClient) SubscribeInvoices(ctx context.Context, in *lnrpc.InvoiceSubscription, opts ...grpc.CallOption) (lnrpc.Lightning_SubscribeInvoicesClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1251,16 +1256,16 @@ func (m *MockLightningClient) SubscribeInvoices(ctx context.Context, in *lnrpc.I } // SubscribeInvoices indicates an expected call of SubscribeInvoices. -func (mr *MockLightningClientMockRecorder) SubscribeInvoices(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SubscribeInvoices(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeInvoices", reflect.TypeOf((*MockLightningClient)(nil).SubscribeInvoices), varargs...) } // SubscribePeerEvents mocks base method. func (m *MockLightningClient) SubscribePeerEvents(ctx context.Context, in *lnrpc.PeerEventSubscription, opts ...grpc.CallOption) (lnrpc.Lightning_SubscribePeerEventsClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1271,16 +1276,16 @@ func (m *MockLightningClient) SubscribePeerEvents(ctx context.Context, in *lnrpc } // SubscribePeerEvents indicates an expected call of SubscribePeerEvents. -func (mr *MockLightningClientMockRecorder) SubscribePeerEvents(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SubscribePeerEvents(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribePeerEvents", reflect.TypeOf((*MockLightningClient)(nil).SubscribePeerEvents), varargs...) } // SubscribeTransactions mocks base method. func (m *MockLightningClient) SubscribeTransactions(ctx context.Context, in *lnrpc.GetTransactionsRequest, opts ...grpc.CallOption) (lnrpc.Lightning_SubscribeTransactionsClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1291,16 +1296,16 @@ func (m *MockLightningClient) SubscribeTransactions(ctx context.Context, in *lnr } // SubscribeTransactions indicates an expected call of SubscribeTransactions. -func (mr *MockLightningClientMockRecorder) SubscribeTransactions(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) SubscribeTransactions(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeTransactions", reflect.TypeOf((*MockLightningClient)(nil).SubscribeTransactions), varargs...) } // UpdateChannelPolicy mocks base method. func (m *MockLightningClient) UpdateChannelPolicy(ctx context.Context, in *lnrpc.PolicyUpdateRequest, opts ...grpc.CallOption) (*lnrpc.PolicyUpdateResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1311,16 +1316,16 @@ func (m *MockLightningClient) UpdateChannelPolicy(ctx context.Context, in *lnrpc } // UpdateChannelPolicy indicates an expected call of UpdateChannelPolicy. -func (mr *MockLightningClientMockRecorder) UpdateChannelPolicy(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) UpdateChannelPolicy(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateChannelPolicy", reflect.TypeOf((*MockLightningClient)(nil).UpdateChannelPolicy), varargs...) } // VerifyChanBackup mocks base method. func (m *MockLightningClient) VerifyChanBackup(ctx context.Context, in *lnrpc.ChanBackupSnapshot, opts ...grpc.CallOption) (*lnrpc.VerifyChanBackupResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1331,16 +1336,16 @@ func (m *MockLightningClient) VerifyChanBackup(ctx context.Context, in *lnrpc.Ch } // VerifyChanBackup indicates an expected call of VerifyChanBackup. -func (mr *MockLightningClientMockRecorder) VerifyChanBackup(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) VerifyChanBackup(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyChanBackup", reflect.TypeOf((*MockLightningClient)(nil).VerifyChanBackup), varargs...) } // VerifyMessage mocks base method. func (m *MockLightningClient) VerifyMessage(ctx context.Context, in *lnrpc.VerifyMessageRequest, opts ...grpc.CallOption) (*lnrpc.VerifyMessageResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1351,16 +1356,16 @@ func (m *MockLightningClient) VerifyMessage(ctx context.Context, in *lnrpc.Verif } // VerifyMessage indicates an expected call of VerifyMessage. -func (mr *MockLightningClientMockRecorder) VerifyMessage(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) VerifyMessage(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyMessage", reflect.TypeOf((*MockLightningClient)(nil).VerifyMessage), varargs...) } // WalletBalance mocks base method. func (m *MockLightningClient) WalletBalance(ctx context.Context, in *lnrpc.WalletBalanceRequest, opts ...grpc.CallOption) (*lnrpc.WalletBalanceResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -1371,9 +1376,9 @@ func (m *MockLightningClient) WalletBalance(ctx context.Context, in *lnrpc.Walle } // WalletBalance indicates an expected call of WalletBalance. -func (mr *MockLightningClientMockRecorder) WalletBalance(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockLightningClientMockRecorder) WalletBalance(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WalletBalance", reflect.TypeOf((*MockLightningClient)(nil).WalletBalance), varargs...) } @@ -1459,7 +1464,7 @@ func (mr *MockLightning_SubscribeTransactionsClientMockRecorder) Recv() *gomock. } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeTransactionsClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeTransactionsClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -1467,13 +1472,13 @@ func (m_2 *MockLightning_SubscribeTransactionsClient) RecvMsg(m interface{}) err } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeTransactionsClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeTransactionsClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeTransactionsClient)(nil).RecvMsg), m) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeTransactionsClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeTransactionsClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -1481,7 +1486,7 @@ func (m_2 *MockLightning_SubscribeTransactionsClient) SendMsg(m interface{}) err } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeTransactionsClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeTransactionsClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeTransactionsClient)(nil).SendMsg), m) } @@ -1582,7 +1587,7 @@ func (mr *MockLightning_SubscribePeerEventsClientMockRecorder) Recv() *gomock.Ca } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribePeerEventsClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribePeerEventsClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -1590,13 +1595,13 @@ func (m_2 *MockLightning_SubscribePeerEventsClient) RecvMsg(m interface{}) error } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribePeerEventsClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribePeerEventsClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribePeerEventsClient)(nil).RecvMsg), m) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribePeerEventsClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribePeerEventsClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -1604,7 +1609,7 @@ func (m_2 *MockLightning_SubscribePeerEventsClient) SendMsg(m interface{}) error } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribePeerEventsClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribePeerEventsClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribePeerEventsClient)(nil).SendMsg), m) } @@ -1705,7 +1710,7 @@ func (mr *MockLightning_SubscribeChannelEventsClientMockRecorder) Recv() *gomock } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelEventsClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelEventsClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -1713,13 +1718,13 @@ func (m_2 *MockLightning_SubscribeChannelEventsClient) RecvMsg(m interface{}) er } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeChannelEventsClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelEventsClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeChannelEventsClient)(nil).RecvMsg), m) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelEventsClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelEventsClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -1727,7 +1732,7 @@ func (m_2 *MockLightning_SubscribeChannelEventsClient) SendMsg(m interface{}) er } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeChannelEventsClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelEventsClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeChannelEventsClient)(nil).SendMsg), m) } @@ -1828,7 +1833,7 @@ func (mr *MockLightning_OpenChannelClientMockRecorder) Recv() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockLightning_OpenChannelClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_OpenChannelClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -1836,13 +1841,13 @@ func (m_2 *MockLightning_OpenChannelClient) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_OpenChannelClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_OpenChannelClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_OpenChannelClient)(nil).RecvMsg), m) } // SendMsg mocks base method. -func (m_2 *MockLightning_OpenChannelClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_OpenChannelClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -1850,7 +1855,7 @@ func (m_2 *MockLightning_OpenChannelClient) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_OpenChannelClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_OpenChannelClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_OpenChannelClient)(nil).SendMsg), m) } @@ -1951,7 +1956,7 @@ func (mr *MockLightning_ChannelAcceptorClientMockRecorder) Recv() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockLightning_ChannelAcceptorClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_ChannelAcceptorClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -1959,7 +1964,7 @@ func (m_2 *MockLightning_ChannelAcceptorClient) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_ChannelAcceptorClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_ChannelAcceptorClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_ChannelAcceptorClient)(nil).RecvMsg), m) } @@ -1973,13 +1978,13 @@ func (m *MockLightning_ChannelAcceptorClient) Send(arg0 *lnrpc.ChannelAcceptResp } // Send indicates an expected call of Send. -func (mr *MockLightning_ChannelAcceptorClientMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_ChannelAcceptorClientMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_ChannelAcceptorClient)(nil).Send), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_ChannelAcceptorClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_ChannelAcceptorClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -1987,7 +1992,7 @@ func (m_2 *MockLightning_ChannelAcceptorClient) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_ChannelAcceptorClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_ChannelAcceptorClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_ChannelAcceptorClient)(nil).SendMsg), m) } @@ -2088,7 +2093,7 @@ func (mr *MockLightning_CloseChannelClientMockRecorder) Recv() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockLightning_CloseChannelClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_CloseChannelClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -2096,13 +2101,13 @@ func (m_2 *MockLightning_CloseChannelClient) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_CloseChannelClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_CloseChannelClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_CloseChannelClient)(nil).RecvMsg), m) } // SendMsg mocks base method. -func (m_2 *MockLightning_CloseChannelClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_CloseChannelClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -2110,7 +2115,7 @@ func (m_2 *MockLightning_CloseChannelClient) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_CloseChannelClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_CloseChannelClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_CloseChannelClient)(nil).SendMsg), m) } @@ -2211,7 +2216,7 @@ func (mr *MockLightning_SendPaymentClientMockRecorder) Recv() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockLightning_SendPaymentClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SendPaymentClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -2219,7 +2224,7 @@ func (m_2 *MockLightning_SendPaymentClient) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SendPaymentClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SendPaymentClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SendPaymentClient)(nil).RecvMsg), m) } @@ -2233,13 +2238,13 @@ func (m *MockLightning_SendPaymentClient) Send(arg0 *lnrpc.SendRequest) error { } // Send indicates an expected call of Send. -func (mr *MockLightning_SendPaymentClientMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SendPaymentClientMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SendPaymentClient)(nil).Send), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SendPaymentClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SendPaymentClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -2247,7 +2252,7 @@ func (m_2 *MockLightning_SendPaymentClient) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SendPaymentClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SendPaymentClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SendPaymentClient)(nil).SendMsg), m) } @@ -2348,7 +2353,7 @@ func (mr *MockLightning_SendToRouteClientMockRecorder) Recv() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockLightning_SendToRouteClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SendToRouteClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -2356,7 +2361,7 @@ func (m_2 *MockLightning_SendToRouteClient) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SendToRouteClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SendToRouteClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SendToRouteClient)(nil).RecvMsg), m) } @@ -2370,13 +2375,13 @@ func (m *MockLightning_SendToRouteClient) Send(arg0 *lnrpc.SendToRouteRequest) e } // Send indicates an expected call of Send. -func (mr *MockLightning_SendToRouteClientMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SendToRouteClientMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SendToRouteClient)(nil).Send), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SendToRouteClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SendToRouteClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -2384,7 +2389,7 @@ func (m_2 *MockLightning_SendToRouteClient) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SendToRouteClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SendToRouteClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SendToRouteClient)(nil).SendMsg), m) } @@ -2485,7 +2490,7 @@ func (mr *MockLightning_SubscribeInvoicesClientMockRecorder) Recv() *gomock.Call } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeInvoicesClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeInvoicesClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -2493,13 +2498,13 @@ func (m_2 *MockLightning_SubscribeInvoicesClient) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeInvoicesClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeInvoicesClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeInvoicesClient)(nil).RecvMsg), m) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeInvoicesClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeInvoicesClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -2507,7 +2512,7 @@ func (m_2 *MockLightning_SubscribeInvoicesClient) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeInvoicesClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeInvoicesClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeInvoicesClient)(nil).SendMsg), m) } @@ -2608,7 +2613,7 @@ func (mr *MockLightning_SubscribeChannelGraphClientMockRecorder) Recv() *gomock. } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelGraphClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelGraphClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -2616,13 +2621,13 @@ func (m_2 *MockLightning_SubscribeChannelGraphClient) RecvMsg(m interface{}) err } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeChannelGraphClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelGraphClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeChannelGraphClient)(nil).RecvMsg), m) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelGraphClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelGraphClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -2630,7 +2635,7 @@ func (m_2 *MockLightning_SubscribeChannelGraphClient) SendMsg(m interface{}) err } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeChannelGraphClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelGraphClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeChannelGraphClient)(nil).SendMsg), m) } @@ -2731,7 +2736,7 @@ func (mr *MockLightning_SubscribeChannelBackupsClientMockRecorder) Recv() *gomoc } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelBackupsClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelBackupsClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -2739,13 +2744,13 @@ func (m_2 *MockLightning_SubscribeChannelBackupsClient) RecvMsg(m interface{}) e } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeChannelBackupsClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelBackupsClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeChannelBackupsClient)(nil).RecvMsg), m) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelBackupsClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelBackupsClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -2753,7 +2758,7 @@ func (m_2 *MockLightning_SubscribeChannelBackupsClient) SendMsg(m interface{}) e } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeChannelBackupsClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelBackupsClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeChannelBackupsClient)(nil).SendMsg), m) } @@ -2854,7 +2859,7 @@ func (mr *MockLightning_RegisterRPCMiddlewareClientMockRecorder) Recv() *gomock. } // RecvMsg mocks base method. -func (m_2 *MockLightning_RegisterRPCMiddlewareClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_RegisterRPCMiddlewareClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -2862,7 +2867,7 @@ func (m_2 *MockLightning_RegisterRPCMiddlewareClient) RecvMsg(m interface{}) err } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_RegisterRPCMiddlewareClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_RegisterRPCMiddlewareClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_RegisterRPCMiddlewareClient)(nil).RecvMsg), m) } @@ -2876,13 +2881,13 @@ func (m *MockLightning_RegisterRPCMiddlewareClient) Send(arg0 *lnrpc.RPCMiddlewa } // Send indicates an expected call of Send. -func (mr *MockLightning_RegisterRPCMiddlewareClientMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_RegisterRPCMiddlewareClientMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_RegisterRPCMiddlewareClient)(nil).Send), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_RegisterRPCMiddlewareClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_RegisterRPCMiddlewareClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -2890,7 +2895,7 @@ func (m_2 *MockLightning_RegisterRPCMiddlewareClient) SendMsg(m interface{}) err } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_RegisterRPCMiddlewareClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_RegisterRPCMiddlewareClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_RegisterRPCMiddlewareClient)(nil).SendMsg), m) } @@ -2991,7 +2996,7 @@ func (mr *MockLightning_SubscribeCustomMessagesClientMockRecorder) Recv() *gomoc } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeCustomMessagesClient) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeCustomMessagesClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -2999,13 +3004,13 @@ func (m_2 *MockLightning_SubscribeCustomMessagesClient) RecvMsg(m interface{}) e } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeCustomMessagesClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeCustomMessagesClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeCustomMessagesClient)(nil).RecvMsg), m) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeCustomMessagesClient) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeCustomMessagesClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -3013,7 +3018,7 @@ func (m_2 *MockLightning_SubscribeCustomMessagesClient) SendMsg(m interface{}) e } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeCustomMessagesClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeCustomMessagesClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeCustomMessagesClient)(nil).SendMsg), m) } @@ -3065,7 +3070,7 @@ func (m *MockLightningServer) AbandonChannel(arg0 context.Context, arg1 *lnrpc.A } // AbandonChannel indicates an expected call of AbandonChannel. -func (mr *MockLightningServerMockRecorder) AbandonChannel(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) AbandonChannel(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AbandonChannel", reflect.TypeOf((*MockLightningServer)(nil).AbandonChannel), arg0, arg1) } @@ -3080,7 +3085,7 @@ func (m *MockLightningServer) AddInvoice(arg0 context.Context, arg1 *lnrpc.Invoi } // AddInvoice indicates an expected call of AddInvoice. -func (mr *MockLightningServerMockRecorder) AddInvoice(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) AddInvoice(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddInvoice", reflect.TypeOf((*MockLightningServer)(nil).AddInvoice), arg0, arg1) } @@ -3095,7 +3100,7 @@ func (m *MockLightningServer) BakeMacaroon(arg0 context.Context, arg1 *lnrpc.Bak } // BakeMacaroon indicates an expected call of BakeMacaroon. -func (mr *MockLightningServerMockRecorder) BakeMacaroon(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) BakeMacaroon(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BakeMacaroon", reflect.TypeOf((*MockLightningServer)(nil).BakeMacaroon), arg0, arg1) } @@ -3110,7 +3115,7 @@ func (m *MockLightningServer) BatchOpenChannel(arg0 context.Context, arg1 *lnrpc } // BatchOpenChannel indicates an expected call of BatchOpenChannel. -func (mr *MockLightningServerMockRecorder) BatchOpenChannel(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) BatchOpenChannel(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BatchOpenChannel", reflect.TypeOf((*MockLightningServer)(nil).BatchOpenChannel), arg0, arg1) } @@ -3124,7 +3129,7 @@ func (m *MockLightningServer) ChannelAcceptor(arg0 lnrpc.Lightning_ChannelAccept } // ChannelAcceptor indicates an expected call of ChannelAcceptor. -func (mr *MockLightningServerMockRecorder) ChannelAcceptor(arg0 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ChannelAcceptor(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChannelAcceptor", reflect.TypeOf((*MockLightningServer)(nil).ChannelAcceptor), arg0) } @@ -3139,7 +3144,7 @@ func (m *MockLightningServer) ChannelBalance(arg0 context.Context, arg1 *lnrpc.C } // ChannelBalance indicates an expected call of ChannelBalance. -func (mr *MockLightningServerMockRecorder) ChannelBalance(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ChannelBalance(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ChannelBalance", reflect.TypeOf((*MockLightningServer)(nil).ChannelBalance), arg0, arg1) } @@ -3154,7 +3159,7 @@ func (m *MockLightningServer) CheckMacaroonPermissions(arg0 context.Context, arg } // CheckMacaroonPermissions indicates an expected call of CheckMacaroonPermissions. -func (mr *MockLightningServerMockRecorder) CheckMacaroonPermissions(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) CheckMacaroonPermissions(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckMacaroonPermissions", reflect.TypeOf((*MockLightningServer)(nil).CheckMacaroonPermissions), arg0, arg1) } @@ -3168,7 +3173,7 @@ func (m *MockLightningServer) CloseChannel(arg0 *lnrpc.CloseChannelRequest, arg1 } // CloseChannel indicates an expected call of CloseChannel. -func (mr *MockLightningServerMockRecorder) CloseChannel(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) CloseChannel(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloseChannel", reflect.TypeOf((*MockLightningServer)(nil).CloseChannel), arg0, arg1) } @@ -3183,7 +3188,7 @@ func (m *MockLightningServer) ClosedChannels(arg0 context.Context, arg1 *lnrpc.C } // ClosedChannels indicates an expected call of ClosedChannels. -func (mr *MockLightningServerMockRecorder) ClosedChannels(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ClosedChannels(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClosedChannels", reflect.TypeOf((*MockLightningServer)(nil).ClosedChannels), arg0, arg1) } @@ -3198,7 +3203,7 @@ func (m *MockLightningServer) ConnectPeer(arg0 context.Context, arg1 *lnrpc.Conn } // ConnectPeer indicates an expected call of ConnectPeer. -func (mr *MockLightningServerMockRecorder) ConnectPeer(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ConnectPeer(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ConnectPeer", reflect.TypeOf((*MockLightningServer)(nil).ConnectPeer), arg0, arg1) } @@ -3213,7 +3218,7 @@ func (m *MockLightningServer) DebugLevel(arg0 context.Context, arg1 *lnrpc.Debug } // DebugLevel indicates an expected call of DebugLevel. -func (mr *MockLightningServerMockRecorder) DebugLevel(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) DebugLevel(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DebugLevel", reflect.TypeOf((*MockLightningServer)(nil).DebugLevel), arg0, arg1) } @@ -3228,7 +3233,7 @@ func (m *MockLightningServer) DecodePayReq(arg0 context.Context, arg1 *lnrpc.Pay } // DecodePayReq indicates an expected call of DecodePayReq. -func (mr *MockLightningServerMockRecorder) DecodePayReq(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) DecodePayReq(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DecodePayReq", reflect.TypeOf((*MockLightningServer)(nil).DecodePayReq), arg0, arg1) } @@ -3243,7 +3248,7 @@ func (m *MockLightningServer) DeleteAllPayments(arg0 context.Context, arg1 *lnrp } // DeleteAllPayments indicates an expected call of DeleteAllPayments. -func (mr *MockLightningServerMockRecorder) DeleteAllPayments(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) DeleteAllPayments(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAllPayments", reflect.TypeOf((*MockLightningServer)(nil).DeleteAllPayments), arg0, arg1) } @@ -3258,7 +3263,7 @@ func (m *MockLightningServer) DeleteMacaroonID(arg0 context.Context, arg1 *lnrpc } // DeleteMacaroonID indicates an expected call of DeleteMacaroonID. -func (mr *MockLightningServerMockRecorder) DeleteMacaroonID(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) DeleteMacaroonID(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteMacaroonID", reflect.TypeOf((*MockLightningServer)(nil).DeleteMacaroonID), arg0, arg1) } @@ -3273,7 +3278,7 @@ func (m *MockLightningServer) DeletePayment(arg0 context.Context, arg1 *lnrpc.De } // DeletePayment indicates an expected call of DeletePayment. -func (mr *MockLightningServerMockRecorder) DeletePayment(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) DeletePayment(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeletePayment", reflect.TypeOf((*MockLightningServer)(nil).DeletePayment), arg0, arg1) } @@ -3288,7 +3293,7 @@ func (m *MockLightningServer) DescribeGraph(arg0 context.Context, arg1 *lnrpc.Ch } // DescribeGraph indicates an expected call of DescribeGraph. -func (mr *MockLightningServerMockRecorder) DescribeGraph(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) DescribeGraph(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeGraph", reflect.TypeOf((*MockLightningServer)(nil).DescribeGraph), arg0, arg1) } @@ -3303,7 +3308,7 @@ func (m *MockLightningServer) DisconnectPeer(arg0 context.Context, arg1 *lnrpc.D } // DisconnectPeer indicates an expected call of DisconnectPeer. -func (mr *MockLightningServerMockRecorder) DisconnectPeer(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) DisconnectPeer(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DisconnectPeer", reflect.TypeOf((*MockLightningServer)(nil).DisconnectPeer), arg0, arg1) } @@ -3318,7 +3323,7 @@ func (m *MockLightningServer) EstimateFee(arg0 context.Context, arg1 *lnrpc.Esti } // EstimateFee indicates an expected call of EstimateFee. -func (mr *MockLightningServerMockRecorder) EstimateFee(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) EstimateFee(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EstimateFee", reflect.TypeOf((*MockLightningServer)(nil).EstimateFee), arg0, arg1) } @@ -3333,7 +3338,7 @@ func (m *MockLightningServer) ExportAllChannelBackups(arg0 context.Context, arg1 } // ExportAllChannelBackups indicates an expected call of ExportAllChannelBackups. -func (mr *MockLightningServerMockRecorder) ExportAllChannelBackups(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ExportAllChannelBackups(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExportAllChannelBackups", reflect.TypeOf((*MockLightningServer)(nil).ExportAllChannelBackups), arg0, arg1) } @@ -3348,7 +3353,7 @@ func (m *MockLightningServer) ExportChannelBackup(arg0 context.Context, arg1 *ln } // ExportChannelBackup indicates an expected call of ExportChannelBackup. -func (mr *MockLightningServerMockRecorder) ExportChannelBackup(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ExportChannelBackup(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExportChannelBackup", reflect.TypeOf((*MockLightningServer)(nil).ExportChannelBackup), arg0, arg1) } @@ -3363,7 +3368,7 @@ func (m *MockLightningServer) FeeReport(arg0 context.Context, arg1 *lnrpc.FeeRep } // FeeReport indicates an expected call of FeeReport. -func (mr *MockLightningServerMockRecorder) FeeReport(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) FeeReport(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FeeReport", reflect.TypeOf((*MockLightningServer)(nil).FeeReport), arg0, arg1) } @@ -3378,7 +3383,7 @@ func (m *MockLightningServer) ForwardingHistory(arg0 context.Context, arg1 *lnrp } // ForwardingHistory indicates an expected call of ForwardingHistory. -func (mr *MockLightningServerMockRecorder) ForwardingHistory(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ForwardingHistory(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ForwardingHistory", reflect.TypeOf((*MockLightningServer)(nil).ForwardingHistory), arg0, arg1) } @@ -3393,7 +3398,7 @@ func (m *MockLightningServer) FundingStateStep(arg0 context.Context, arg1 *lnrpc } // FundingStateStep indicates an expected call of FundingStateStep. -func (mr *MockLightningServerMockRecorder) FundingStateStep(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) FundingStateStep(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FundingStateStep", reflect.TypeOf((*MockLightningServer)(nil).FundingStateStep), arg0, arg1) } @@ -3408,7 +3413,7 @@ func (m *MockLightningServer) GetChanInfo(arg0 context.Context, arg1 *lnrpc.Chan } // GetChanInfo indicates an expected call of GetChanInfo. -func (mr *MockLightningServerMockRecorder) GetChanInfo(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) GetChanInfo(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetChanInfo", reflect.TypeOf((*MockLightningServer)(nil).GetChanInfo), arg0, arg1) } @@ -3423,7 +3428,7 @@ func (m *MockLightningServer) GetInfo(arg0 context.Context, arg1 *lnrpc.GetInfoR } // GetInfo indicates an expected call of GetInfo. -func (mr *MockLightningServerMockRecorder) GetInfo(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) GetInfo(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInfo", reflect.TypeOf((*MockLightningServer)(nil).GetInfo), arg0, arg1) } @@ -3438,7 +3443,7 @@ func (m *MockLightningServer) GetNetworkInfo(arg0 context.Context, arg1 *lnrpc.N } // GetNetworkInfo indicates an expected call of GetNetworkInfo. -func (mr *MockLightningServerMockRecorder) GetNetworkInfo(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) GetNetworkInfo(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNetworkInfo", reflect.TypeOf((*MockLightningServer)(nil).GetNetworkInfo), arg0, arg1) } @@ -3453,7 +3458,7 @@ func (m *MockLightningServer) GetNodeInfo(arg0 context.Context, arg1 *lnrpc.Node } // GetNodeInfo indicates an expected call of GetNodeInfo. -func (mr *MockLightningServerMockRecorder) GetNodeInfo(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) GetNodeInfo(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNodeInfo", reflect.TypeOf((*MockLightningServer)(nil).GetNodeInfo), arg0, arg1) } @@ -3468,7 +3473,7 @@ func (m *MockLightningServer) GetNodeMetrics(arg0 context.Context, arg1 *lnrpc.N } // GetNodeMetrics indicates an expected call of GetNodeMetrics. -func (mr *MockLightningServerMockRecorder) GetNodeMetrics(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) GetNodeMetrics(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNodeMetrics", reflect.TypeOf((*MockLightningServer)(nil).GetNodeMetrics), arg0, arg1) } @@ -3483,7 +3488,7 @@ func (m *MockLightningServer) GetRecoveryInfo(arg0 context.Context, arg1 *lnrpc. } // GetRecoveryInfo indicates an expected call of GetRecoveryInfo. -func (mr *MockLightningServerMockRecorder) GetRecoveryInfo(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) GetRecoveryInfo(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetRecoveryInfo", reflect.TypeOf((*MockLightningServer)(nil).GetRecoveryInfo), arg0, arg1) } @@ -3498,7 +3503,7 @@ func (m *MockLightningServer) GetTransactions(arg0 context.Context, arg1 *lnrpc. } // GetTransactions indicates an expected call of GetTransactions. -func (mr *MockLightningServerMockRecorder) GetTransactions(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) GetTransactions(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetTransactions", reflect.TypeOf((*MockLightningServer)(nil).GetTransactions), arg0, arg1) } @@ -3513,7 +3518,7 @@ func (m *MockLightningServer) ListAliases(arg0 context.Context, arg1 *lnrpc.List } // ListAliases indicates an expected call of ListAliases. -func (mr *MockLightningServerMockRecorder) ListAliases(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ListAliases(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListAliases", reflect.TypeOf((*MockLightningServer)(nil).ListAliases), arg0, arg1) } @@ -3528,7 +3533,7 @@ func (m *MockLightningServer) ListChannels(arg0 context.Context, arg1 *lnrpc.Lis } // ListChannels indicates an expected call of ListChannels. -func (mr *MockLightningServerMockRecorder) ListChannels(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ListChannels(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListChannels", reflect.TypeOf((*MockLightningServer)(nil).ListChannels), arg0, arg1) } @@ -3543,7 +3548,7 @@ func (m *MockLightningServer) ListInvoices(arg0 context.Context, arg1 *lnrpc.Lis } // ListInvoices indicates an expected call of ListInvoices. -func (mr *MockLightningServerMockRecorder) ListInvoices(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ListInvoices(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListInvoices", reflect.TypeOf((*MockLightningServer)(nil).ListInvoices), arg0, arg1) } @@ -3558,7 +3563,7 @@ func (m *MockLightningServer) ListMacaroonIDs(arg0 context.Context, arg1 *lnrpc. } // ListMacaroonIDs indicates an expected call of ListMacaroonIDs. -func (mr *MockLightningServerMockRecorder) ListMacaroonIDs(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ListMacaroonIDs(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListMacaroonIDs", reflect.TypeOf((*MockLightningServer)(nil).ListMacaroonIDs), arg0, arg1) } @@ -3573,7 +3578,7 @@ func (m *MockLightningServer) ListPayments(arg0 context.Context, arg1 *lnrpc.Lis } // ListPayments indicates an expected call of ListPayments. -func (mr *MockLightningServerMockRecorder) ListPayments(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ListPayments(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPayments", reflect.TypeOf((*MockLightningServer)(nil).ListPayments), arg0, arg1) } @@ -3588,7 +3593,7 @@ func (m *MockLightningServer) ListPeers(arg0 context.Context, arg1 *lnrpc.ListPe } // ListPeers indicates an expected call of ListPeers. -func (mr *MockLightningServerMockRecorder) ListPeers(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ListPeers(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPeers", reflect.TypeOf((*MockLightningServer)(nil).ListPeers), arg0, arg1) } @@ -3603,7 +3608,7 @@ func (m *MockLightningServer) ListPermissions(arg0 context.Context, arg1 *lnrpc. } // ListPermissions indicates an expected call of ListPermissions. -func (mr *MockLightningServerMockRecorder) ListPermissions(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ListPermissions(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListPermissions", reflect.TypeOf((*MockLightningServer)(nil).ListPermissions), arg0, arg1) } @@ -3618,7 +3623,7 @@ func (m *MockLightningServer) ListUnspent(arg0 context.Context, arg1 *lnrpc.List } // ListUnspent indicates an expected call of ListUnspent. -func (mr *MockLightningServerMockRecorder) ListUnspent(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) ListUnspent(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListUnspent", reflect.TypeOf((*MockLightningServer)(nil).ListUnspent), arg0, arg1) } @@ -3633,7 +3638,7 @@ func (m *MockLightningServer) LookupHtlcResolution(arg0 context.Context, arg1 *l } // LookupHtlcResolution indicates an expected call of LookupHtlcResolution. -func (mr *MockLightningServerMockRecorder) LookupHtlcResolution(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) LookupHtlcResolution(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LookupHtlcResolution", reflect.TypeOf((*MockLightningServer)(nil).LookupHtlcResolution), arg0, arg1) } @@ -3648,7 +3653,7 @@ func (m *MockLightningServer) LookupInvoice(arg0 context.Context, arg1 *lnrpc.Pa } // LookupInvoice indicates an expected call of LookupInvoice. -func (mr *MockLightningServerMockRecorder) LookupInvoice(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) LookupInvoice(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LookupInvoice", reflect.TypeOf((*MockLightningServer)(nil).LookupInvoice), arg0, arg1) } @@ -3663,7 +3668,7 @@ func (m *MockLightningServer) NewAddress(arg0 context.Context, arg1 *lnrpc.NewAd } // NewAddress indicates an expected call of NewAddress. -func (mr *MockLightningServerMockRecorder) NewAddress(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) NewAddress(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "NewAddress", reflect.TypeOf((*MockLightningServer)(nil).NewAddress), arg0, arg1) } @@ -3677,7 +3682,7 @@ func (m *MockLightningServer) OpenChannel(arg0 *lnrpc.OpenChannelRequest, arg1 l } // OpenChannel indicates an expected call of OpenChannel. -func (mr *MockLightningServerMockRecorder) OpenChannel(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) OpenChannel(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OpenChannel", reflect.TypeOf((*MockLightningServer)(nil).OpenChannel), arg0, arg1) } @@ -3692,7 +3697,7 @@ func (m *MockLightningServer) OpenChannelSync(arg0 context.Context, arg1 *lnrpc. } // OpenChannelSync indicates an expected call of OpenChannelSync. -func (mr *MockLightningServerMockRecorder) OpenChannelSync(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) OpenChannelSync(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OpenChannelSync", reflect.TypeOf((*MockLightningServer)(nil).OpenChannelSync), arg0, arg1) } @@ -3707,7 +3712,7 @@ func (m *MockLightningServer) PendingChannels(arg0 context.Context, arg1 *lnrpc. } // PendingChannels indicates an expected call of PendingChannels. -func (mr *MockLightningServerMockRecorder) PendingChannels(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) PendingChannels(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PendingChannels", reflect.TypeOf((*MockLightningServer)(nil).PendingChannels), arg0, arg1) } @@ -3722,7 +3727,7 @@ func (m *MockLightningServer) QueryRoutes(arg0 context.Context, arg1 *lnrpc.Quer } // QueryRoutes indicates an expected call of QueryRoutes. -func (mr *MockLightningServerMockRecorder) QueryRoutes(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) QueryRoutes(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryRoutes", reflect.TypeOf((*MockLightningServer)(nil).QueryRoutes), arg0, arg1) } @@ -3736,7 +3741,7 @@ func (m *MockLightningServer) RegisterRPCMiddleware(arg0 lnrpc.Lightning_Registe } // RegisterRPCMiddleware indicates an expected call of RegisterRPCMiddleware. -func (mr *MockLightningServerMockRecorder) RegisterRPCMiddleware(arg0 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) RegisterRPCMiddleware(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterRPCMiddleware", reflect.TypeOf((*MockLightningServer)(nil).RegisterRPCMiddleware), arg0) } @@ -3751,7 +3756,7 @@ func (m *MockLightningServer) RestoreChannelBackups(arg0 context.Context, arg1 * } // RestoreChannelBackups indicates an expected call of RestoreChannelBackups. -func (mr *MockLightningServerMockRecorder) RestoreChannelBackups(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) RestoreChannelBackups(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RestoreChannelBackups", reflect.TypeOf((*MockLightningServer)(nil).RestoreChannelBackups), arg0, arg1) } @@ -3766,7 +3771,7 @@ func (m *MockLightningServer) SendCoins(arg0 context.Context, arg1 *lnrpc.SendCo } // SendCoins indicates an expected call of SendCoins. -func (mr *MockLightningServerMockRecorder) SendCoins(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SendCoins(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCoins", reflect.TypeOf((*MockLightningServer)(nil).SendCoins), arg0, arg1) } @@ -3781,7 +3786,7 @@ func (m *MockLightningServer) SendCustomMessage(arg0 context.Context, arg1 *lnrp } // SendCustomMessage indicates an expected call of SendCustomMessage. -func (mr *MockLightningServerMockRecorder) SendCustomMessage(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SendCustomMessage(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendCustomMessage", reflect.TypeOf((*MockLightningServer)(nil).SendCustomMessage), arg0, arg1) } @@ -3796,7 +3801,7 @@ func (m *MockLightningServer) SendMany(arg0 context.Context, arg1 *lnrpc.SendMan } // SendMany indicates an expected call of SendMany. -func (mr *MockLightningServerMockRecorder) SendMany(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SendMany(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMany", reflect.TypeOf((*MockLightningServer)(nil).SendMany), arg0, arg1) } @@ -3810,7 +3815,7 @@ func (m *MockLightningServer) SendPayment(arg0 lnrpc.Lightning_SendPaymentServer } // SendPayment indicates an expected call of SendPayment. -func (mr *MockLightningServerMockRecorder) SendPayment(arg0 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SendPayment(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendPayment", reflect.TypeOf((*MockLightningServer)(nil).SendPayment), arg0) } @@ -3825,7 +3830,7 @@ func (m *MockLightningServer) SendPaymentSync(arg0 context.Context, arg1 *lnrpc. } // SendPaymentSync indicates an expected call of SendPaymentSync. -func (mr *MockLightningServerMockRecorder) SendPaymentSync(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SendPaymentSync(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendPaymentSync", reflect.TypeOf((*MockLightningServer)(nil).SendPaymentSync), arg0, arg1) } @@ -3839,7 +3844,7 @@ func (m *MockLightningServer) SendToRoute(arg0 lnrpc.Lightning_SendToRouteServer } // SendToRoute indicates an expected call of SendToRoute. -func (mr *MockLightningServerMockRecorder) SendToRoute(arg0 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SendToRoute(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendToRoute", reflect.TypeOf((*MockLightningServer)(nil).SendToRoute), arg0) } @@ -3854,7 +3859,7 @@ func (m *MockLightningServer) SendToRouteSync(arg0 context.Context, arg1 *lnrpc. } // SendToRouteSync indicates an expected call of SendToRouteSync. -func (mr *MockLightningServerMockRecorder) SendToRouteSync(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SendToRouteSync(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendToRouteSync", reflect.TypeOf((*MockLightningServer)(nil).SendToRouteSync), arg0, arg1) } @@ -3869,7 +3874,7 @@ func (m *MockLightningServer) SignMessage(arg0 context.Context, arg1 *lnrpc.Sign } // SignMessage indicates an expected call of SignMessage. -func (mr *MockLightningServerMockRecorder) SignMessage(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SignMessage(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SignMessage", reflect.TypeOf((*MockLightningServer)(nil).SignMessage), arg0, arg1) } @@ -3884,7 +3889,7 @@ func (m *MockLightningServer) StopDaemon(arg0 context.Context, arg1 *lnrpc.StopR } // StopDaemon indicates an expected call of StopDaemon. -func (mr *MockLightningServerMockRecorder) StopDaemon(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) StopDaemon(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StopDaemon", reflect.TypeOf((*MockLightningServer)(nil).StopDaemon), arg0, arg1) } @@ -3898,7 +3903,7 @@ func (m *MockLightningServer) SubscribeChannelBackups(arg0 *lnrpc.ChannelBackupS } // SubscribeChannelBackups indicates an expected call of SubscribeChannelBackups. -func (mr *MockLightningServerMockRecorder) SubscribeChannelBackups(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SubscribeChannelBackups(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeChannelBackups", reflect.TypeOf((*MockLightningServer)(nil).SubscribeChannelBackups), arg0, arg1) } @@ -3912,7 +3917,7 @@ func (m *MockLightningServer) SubscribeChannelEvents(arg0 *lnrpc.ChannelEventSub } // SubscribeChannelEvents indicates an expected call of SubscribeChannelEvents. -func (mr *MockLightningServerMockRecorder) SubscribeChannelEvents(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SubscribeChannelEvents(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeChannelEvents", reflect.TypeOf((*MockLightningServer)(nil).SubscribeChannelEvents), arg0, arg1) } @@ -3926,7 +3931,7 @@ func (m *MockLightningServer) SubscribeChannelGraph(arg0 *lnrpc.GraphTopologySub } // SubscribeChannelGraph indicates an expected call of SubscribeChannelGraph. -func (mr *MockLightningServerMockRecorder) SubscribeChannelGraph(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SubscribeChannelGraph(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeChannelGraph", reflect.TypeOf((*MockLightningServer)(nil).SubscribeChannelGraph), arg0, arg1) } @@ -3940,7 +3945,7 @@ func (m *MockLightningServer) SubscribeCustomMessages(arg0 *lnrpc.SubscribeCusto } // SubscribeCustomMessages indicates an expected call of SubscribeCustomMessages. -func (mr *MockLightningServerMockRecorder) SubscribeCustomMessages(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SubscribeCustomMessages(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeCustomMessages", reflect.TypeOf((*MockLightningServer)(nil).SubscribeCustomMessages), arg0, arg1) } @@ -3954,7 +3959,7 @@ func (m *MockLightningServer) SubscribeInvoices(arg0 *lnrpc.InvoiceSubscription, } // SubscribeInvoices indicates an expected call of SubscribeInvoices. -func (mr *MockLightningServerMockRecorder) SubscribeInvoices(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SubscribeInvoices(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeInvoices", reflect.TypeOf((*MockLightningServer)(nil).SubscribeInvoices), arg0, arg1) } @@ -3968,7 +3973,7 @@ func (m *MockLightningServer) SubscribePeerEvents(arg0 *lnrpc.PeerEventSubscript } // SubscribePeerEvents indicates an expected call of SubscribePeerEvents. -func (mr *MockLightningServerMockRecorder) SubscribePeerEvents(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SubscribePeerEvents(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribePeerEvents", reflect.TypeOf((*MockLightningServer)(nil).SubscribePeerEvents), arg0, arg1) } @@ -3982,7 +3987,7 @@ func (m *MockLightningServer) SubscribeTransactions(arg0 *lnrpc.GetTransactionsR } // SubscribeTransactions indicates an expected call of SubscribeTransactions. -func (mr *MockLightningServerMockRecorder) SubscribeTransactions(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) SubscribeTransactions(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SubscribeTransactions", reflect.TypeOf((*MockLightningServer)(nil).SubscribeTransactions), arg0, arg1) } @@ -3997,7 +4002,7 @@ func (m *MockLightningServer) UpdateChannelPolicy(arg0 context.Context, arg1 *ln } // UpdateChannelPolicy indicates an expected call of UpdateChannelPolicy. -func (mr *MockLightningServerMockRecorder) UpdateChannelPolicy(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) UpdateChannelPolicy(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateChannelPolicy", reflect.TypeOf((*MockLightningServer)(nil).UpdateChannelPolicy), arg0, arg1) } @@ -4012,7 +4017,7 @@ func (m *MockLightningServer) VerifyChanBackup(arg0 context.Context, arg1 *lnrpc } // VerifyChanBackup indicates an expected call of VerifyChanBackup. -func (mr *MockLightningServerMockRecorder) VerifyChanBackup(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) VerifyChanBackup(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyChanBackup", reflect.TypeOf((*MockLightningServer)(nil).VerifyChanBackup), arg0, arg1) } @@ -4027,7 +4032,7 @@ func (m *MockLightningServer) VerifyMessage(arg0 context.Context, arg1 *lnrpc.Ve } // VerifyMessage indicates an expected call of VerifyMessage. -func (mr *MockLightningServerMockRecorder) VerifyMessage(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) VerifyMessage(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyMessage", reflect.TypeOf((*MockLightningServer)(nil).VerifyMessage), arg0, arg1) } @@ -4042,7 +4047,7 @@ func (m *MockLightningServer) WalletBalance(arg0 context.Context, arg1 *lnrpc.Wa } // WalletBalance indicates an expected call of WalletBalance. -func (mr *MockLightningServerMockRecorder) WalletBalance(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockLightningServerMockRecorder) WalletBalance(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WalletBalance", reflect.TypeOf((*MockLightningServer)(nil).WalletBalance), arg0, arg1) } @@ -4132,7 +4137,7 @@ func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) Context() *gomo } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeTransactionsServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeTransactionsServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -4140,7 +4145,7 @@ func (m_2 *MockLightning_SubscribeTransactionsServer) RecvMsg(m interface{}) err } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeTransactionsServer)(nil).RecvMsg), m) } @@ -4154,7 +4159,7 @@ func (m *MockLightning_SubscribeTransactionsServer) Send(arg0 *lnrpc.Transaction } // Send indicates an expected call of Send. -func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SubscribeTransactionsServer)(nil).Send), arg0) } @@ -4168,13 +4173,13 @@ func (m *MockLightning_SubscribeTransactionsServer) SendHeader(arg0 metadata.MD) } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_SubscribeTransactionsServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeTransactionsServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeTransactionsServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -4182,7 +4187,7 @@ func (m_2 *MockLightning_SubscribeTransactionsServer) SendMsg(m interface{}) err } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeTransactionsServer)(nil).SendMsg), m) } @@ -4196,7 +4201,7 @@ func (m *MockLightning_SubscribeTransactionsServer) SetHeader(arg0 metadata.MD) } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_SubscribeTransactionsServer)(nil).SetHeader), arg0) } @@ -4208,7 +4213,7 @@ func (m *MockLightning_SubscribeTransactionsServer) SetTrailer(arg0 metadata.MD) } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeTransactionsServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_SubscribeTransactionsServer)(nil).SetTrailer), arg0) } @@ -4251,7 +4256,7 @@ func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) Context() *gomock } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribePeerEventsServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribePeerEventsServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -4259,7 +4264,7 @@ func (m_2 *MockLightning_SubscribePeerEventsServer) RecvMsg(m interface{}) error } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribePeerEventsServer)(nil).RecvMsg), m) } @@ -4273,7 +4278,7 @@ func (m *MockLightning_SubscribePeerEventsServer) Send(arg0 *lnrpc.PeerEvent) er } // Send indicates an expected call of Send. -func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SubscribePeerEventsServer)(nil).Send), arg0) } @@ -4287,13 +4292,13 @@ func (m *MockLightning_SubscribePeerEventsServer) SendHeader(arg0 metadata.MD) e } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_SubscribePeerEventsServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribePeerEventsServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribePeerEventsServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -4301,7 +4306,7 @@ func (m_2 *MockLightning_SubscribePeerEventsServer) SendMsg(m interface{}) error } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribePeerEventsServer)(nil).SendMsg), m) } @@ -4315,7 +4320,7 @@ func (m *MockLightning_SubscribePeerEventsServer) SetHeader(arg0 metadata.MD) er } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_SubscribePeerEventsServer)(nil).SetHeader), arg0) } @@ -4327,7 +4332,7 @@ func (m *MockLightning_SubscribePeerEventsServer) SetTrailer(arg0 metadata.MD) { } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribePeerEventsServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_SubscribePeerEventsServer)(nil).SetTrailer), arg0) } @@ -4370,7 +4375,7 @@ func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) Context() *gom } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelEventsServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelEventsServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -4378,7 +4383,7 @@ func (m_2 *MockLightning_SubscribeChannelEventsServer) RecvMsg(m interface{}) er } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeChannelEventsServer)(nil).RecvMsg), m) } @@ -4392,7 +4397,7 @@ func (m *MockLightning_SubscribeChannelEventsServer) Send(arg0 *lnrpc.ChannelEve } // Send indicates an expected call of Send. -func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SubscribeChannelEventsServer)(nil).Send), arg0) } @@ -4406,13 +4411,13 @@ func (m *MockLightning_SubscribeChannelEventsServer) SendHeader(arg0 metadata.MD } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_SubscribeChannelEventsServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelEventsServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelEventsServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -4420,7 +4425,7 @@ func (m_2 *MockLightning_SubscribeChannelEventsServer) SendMsg(m interface{}) er } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeChannelEventsServer)(nil).SendMsg), m) } @@ -4434,7 +4439,7 @@ func (m *MockLightning_SubscribeChannelEventsServer) SetHeader(arg0 metadata.MD) } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_SubscribeChannelEventsServer)(nil).SetHeader), arg0) } @@ -4446,7 +4451,7 @@ func (m *MockLightning_SubscribeChannelEventsServer) SetTrailer(arg0 metadata.MD } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelEventsServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_SubscribeChannelEventsServer)(nil).SetTrailer), arg0) } @@ -4489,7 +4494,7 @@ func (mr *MockLightning_OpenChannelServerMockRecorder) Context() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockLightning_OpenChannelServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_OpenChannelServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -4497,7 +4502,7 @@ func (m_2 *MockLightning_OpenChannelServer) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_OpenChannelServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_OpenChannelServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_OpenChannelServer)(nil).RecvMsg), m) } @@ -4511,7 +4516,7 @@ func (m *MockLightning_OpenChannelServer) Send(arg0 *lnrpc.OpenStatusUpdate) err } // Send indicates an expected call of Send. -func (mr *MockLightning_OpenChannelServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_OpenChannelServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_OpenChannelServer)(nil).Send), arg0) } @@ -4525,13 +4530,13 @@ func (m *MockLightning_OpenChannelServer) SendHeader(arg0 metadata.MD) error { } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_OpenChannelServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_OpenChannelServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_OpenChannelServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_OpenChannelServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_OpenChannelServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -4539,7 +4544,7 @@ func (m_2 *MockLightning_OpenChannelServer) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_OpenChannelServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_OpenChannelServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_OpenChannelServer)(nil).SendMsg), m) } @@ -4553,7 +4558,7 @@ func (m *MockLightning_OpenChannelServer) SetHeader(arg0 metadata.MD) error { } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_OpenChannelServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_OpenChannelServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_OpenChannelServer)(nil).SetHeader), arg0) } @@ -4565,7 +4570,7 @@ func (m *MockLightning_OpenChannelServer) SetTrailer(arg0 metadata.MD) { } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_OpenChannelServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_OpenChannelServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_OpenChannelServer)(nil).SetTrailer), arg0) } @@ -4623,7 +4628,7 @@ func (mr *MockLightning_ChannelAcceptorServerMockRecorder) Recv() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockLightning_ChannelAcceptorServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_ChannelAcceptorServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -4631,7 +4636,7 @@ func (m_2 *MockLightning_ChannelAcceptorServer) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_ChannelAcceptorServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_ChannelAcceptorServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_ChannelAcceptorServer)(nil).RecvMsg), m) } @@ -4645,7 +4650,7 @@ func (m *MockLightning_ChannelAcceptorServer) Send(arg0 *lnrpc.ChannelAcceptRequ } // Send indicates an expected call of Send. -func (mr *MockLightning_ChannelAcceptorServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_ChannelAcceptorServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_ChannelAcceptorServer)(nil).Send), arg0) } @@ -4659,13 +4664,13 @@ func (m *MockLightning_ChannelAcceptorServer) SendHeader(arg0 metadata.MD) error } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_ChannelAcceptorServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_ChannelAcceptorServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_ChannelAcceptorServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_ChannelAcceptorServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_ChannelAcceptorServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -4673,7 +4678,7 @@ func (m_2 *MockLightning_ChannelAcceptorServer) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_ChannelAcceptorServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_ChannelAcceptorServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_ChannelAcceptorServer)(nil).SendMsg), m) } @@ -4687,7 +4692,7 @@ func (m *MockLightning_ChannelAcceptorServer) SetHeader(arg0 metadata.MD) error } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_ChannelAcceptorServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_ChannelAcceptorServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_ChannelAcceptorServer)(nil).SetHeader), arg0) } @@ -4699,7 +4704,7 @@ func (m *MockLightning_ChannelAcceptorServer) SetTrailer(arg0 metadata.MD) { } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_ChannelAcceptorServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_ChannelAcceptorServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_ChannelAcceptorServer)(nil).SetTrailer), arg0) } @@ -4742,7 +4747,7 @@ func (mr *MockLightning_CloseChannelServerMockRecorder) Context() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockLightning_CloseChannelServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_CloseChannelServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -4750,7 +4755,7 @@ func (m_2 *MockLightning_CloseChannelServer) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_CloseChannelServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_CloseChannelServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_CloseChannelServer)(nil).RecvMsg), m) } @@ -4764,7 +4769,7 @@ func (m *MockLightning_CloseChannelServer) Send(arg0 *lnrpc.CloseStatusUpdate) e } // Send indicates an expected call of Send. -func (mr *MockLightning_CloseChannelServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_CloseChannelServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_CloseChannelServer)(nil).Send), arg0) } @@ -4778,13 +4783,13 @@ func (m *MockLightning_CloseChannelServer) SendHeader(arg0 metadata.MD) error { } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_CloseChannelServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_CloseChannelServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_CloseChannelServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_CloseChannelServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_CloseChannelServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -4792,7 +4797,7 @@ func (m_2 *MockLightning_CloseChannelServer) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_CloseChannelServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_CloseChannelServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_CloseChannelServer)(nil).SendMsg), m) } @@ -4806,7 +4811,7 @@ func (m *MockLightning_CloseChannelServer) SetHeader(arg0 metadata.MD) error { } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_CloseChannelServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_CloseChannelServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_CloseChannelServer)(nil).SetHeader), arg0) } @@ -4818,7 +4823,7 @@ func (m *MockLightning_CloseChannelServer) SetTrailer(arg0 metadata.MD) { } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_CloseChannelServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_CloseChannelServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_CloseChannelServer)(nil).SetTrailer), arg0) } @@ -4876,7 +4881,7 @@ func (mr *MockLightning_SendPaymentServerMockRecorder) Recv() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockLightning_SendPaymentServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SendPaymentServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -4884,7 +4889,7 @@ func (m_2 *MockLightning_SendPaymentServer) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SendPaymentServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SendPaymentServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SendPaymentServer)(nil).RecvMsg), m) } @@ -4898,7 +4903,7 @@ func (m *MockLightning_SendPaymentServer) Send(arg0 *lnrpc.SendResponse) error { } // Send indicates an expected call of Send. -func (mr *MockLightning_SendPaymentServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SendPaymentServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SendPaymentServer)(nil).Send), arg0) } @@ -4912,13 +4917,13 @@ func (m *MockLightning_SendPaymentServer) SendHeader(arg0 metadata.MD) error { } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_SendPaymentServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SendPaymentServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_SendPaymentServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SendPaymentServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SendPaymentServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -4926,7 +4931,7 @@ func (m_2 *MockLightning_SendPaymentServer) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SendPaymentServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SendPaymentServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SendPaymentServer)(nil).SendMsg), m) } @@ -4940,7 +4945,7 @@ func (m *MockLightning_SendPaymentServer) SetHeader(arg0 metadata.MD) error { } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_SendPaymentServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SendPaymentServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_SendPaymentServer)(nil).SetHeader), arg0) } @@ -4952,7 +4957,7 @@ func (m *MockLightning_SendPaymentServer) SetTrailer(arg0 metadata.MD) { } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_SendPaymentServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SendPaymentServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_SendPaymentServer)(nil).SetTrailer), arg0) } @@ -5010,7 +5015,7 @@ func (mr *MockLightning_SendToRouteServerMockRecorder) Recv() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockLightning_SendToRouteServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SendToRouteServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -5018,7 +5023,7 @@ func (m_2 *MockLightning_SendToRouteServer) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SendToRouteServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SendToRouteServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SendToRouteServer)(nil).RecvMsg), m) } @@ -5032,7 +5037,7 @@ func (m *MockLightning_SendToRouteServer) Send(arg0 *lnrpc.SendResponse) error { } // Send indicates an expected call of Send. -func (mr *MockLightning_SendToRouteServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SendToRouteServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SendToRouteServer)(nil).Send), arg0) } @@ -5046,13 +5051,13 @@ func (m *MockLightning_SendToRouteServer) SendHeader(arg0 metadata.MD) error { } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_SendToRouteServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SendToRouteServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_SendToRouteServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SendToRouteServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SendToRouteServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -5060,7 +5065,7 @@ func (m_2 *MockLightning_SendToRouteServer) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SendToRouteServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SendToRouteServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SendToRouteServer)(nil).SendMsg), m) } @@ -5074,7 +5079,7 @@ func (m *MockLightning_SendToRouteServer) SetHeader(arg0 metadata.MD) error { } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_SendToRouteServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SendToRouteServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_SendToRouteServer)(nil).SetHeader), arg0) } @@ -5086,7 +5091,7 @@ func (m *MockLightning_SendToRouteServer) SetTrailer(arg0 metadata.MD) { } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_SendToRouteServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SendToRouteServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_SendToRouteServer)(nil).SetTrailer), arg0) } @@ -5129,7 +5134,7 @@ func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) Context() *gomock.C } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeInvoicesServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeInvoicesServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -5137,7 +5142,7 @@ func (m_2 *MockLightning_SubscribeInvoicesServer) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeInvoicesServer)(nil).RecvMsg), m) } @@ -5151,7 +5156,7 @@ func (m *MockLightning_SubscribeInvoicesServer) Send(arg0 *lnrpc.Invoice) error } // Send indicates an expected call of Send. -func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SubscribeInvoicesServer)(nil).Send), arg0) } @@ -5165,13 +5170,13 @@ func (m *MockLightning_SubscribeInvoicesServer) SendHeader(arg0 metadata.MD) err } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_SubscribeInvoicesServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeInvoicesServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeInvoicesServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -5179,7 +5184,7 @@ func (m_2 *MockLightning_SubscribeInvoicesServer) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeInvoicesServer)(nil).SendMsg), m) } @@ -5193,7 +5198,7 @@ func (m *MockLightning_SubscribeInvoicesServer) SetHeader(arg0 metadata.MD) erro } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_SubscribeInvoicesServer)(nil).SetHeader), arg0) } @@ -5205,7 +5210,7 @@ func (m *MockLightning_SubscribeInvoicesServer) SetTrailer(arg0 metadata.MD) { } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeInvoicesServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_SubscribeInvoicesServer)(nil).SetTrailer), arg0) } @@ -5248,7 +5253,7 @@ func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) Context() *gomo } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelGraphServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelGraphServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -5256,7 +5261,7 @@ func (m_2 *MockLightning_SubscribeChannelGraphServer) RecvMsg(m interface{}) err } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeChannelGraphServer)(nil).RecvMsg), m) } @@ -5270,7 +5275,7 @@ func (m *MockLightning_SubscribeChannelGraphServer) Send(arg0 *lnrpc.GraphTopolo } // Send indicates an expected call of Send. -func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SubscribeChannelGraphServer)(nil).Send), arg0) } @@ -5284,13 +5289,13 @@ func (m *MockLightning_SubscribeChannelGraphServer) SendHeader(arg0 metadata.MD) } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_SubscribeChannelGraphServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelGraphServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelGraphServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -5298,7 +5303,7 @@ func (m_2 *MockLightning_SubscribeChannelGraphServer) SendMsg(m interface{}) err } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeChannelGraphServer)(nil).SendMsg), m) } @@ -5312,7 +5317,7 @@ func (m *MockLightning_SubscribeChannelGraphServer) SetHeader(arg0 metadata.MD) } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_SubscribeChannelGraphServer)(nil).SetHeader), arg0) } @@ -5324,7 +5329,7 @@ func (m *MockLightning_SubscribeChannelGraphServer) SetTrailer(arg0 metadata.MD) } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelGraphServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_SubscribeChannelGraphServer)(nil).SetTrailer), arg0) } @@ -5367,7 +5372,7 @@ func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) Context() *go } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelBackupsServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelBackupsServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -5375,7 +5380,7 @@ func (m_2 *MockLightning_SubscribeChannelBackupsServer) RecvMsg(m interface{}) e } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeChannelBackupsServer)(nil).RecvMsg), m) } @@ -5389,7 +5394,7 @@ func (m *MockLightning_SubscribeChannelBackupsServer) Send(arg0 *lnrpc.ChanBacku } // Send indicates an expected call of Send. -func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SubscribeChannelBackupsServer)(nil).Send), arg0) } @@ -5403,13 +5408,13 @@ func (m *MockLightning_SubscribeChannelBackupsServer) SendHeader(arg0 metadata.M } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_SubscribeChannelBackupsServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeChannelBackupsServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeChannelBackupsServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -5417,7 +5422,7 @@ func (m_2 *MockLightning_SubscribeChannelBackupsServer) SendMsg(m interface{}) e } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeChannelBackupsServer)(nil).SendMsg), m) } @@ -5431,7 +5436,7 @@ func (m *MockLightning_SubscribeChannelBackupsServer) SetHeader(arg0 metadata.MD } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_SubscribeChannelBackupsServer)(nil).SetHeader), arg0) } @@ -5443,7 +5448,7 @@ func (m *MockLightning_SubscribeChannelBackupsServer) SetTrailer(arg0 metadata.M } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeChannelBackupsServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_SubscribeChannelBackupsServer)(nil).SetTrailer), arg0) } @@ -5501,7 +5506,7 @@ func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) Recv() *gomock. } // RecvMsg mocks base method. -func (m_2 *MockLightning_RegisterRPCMiddlewareServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_RegisterRPCMiddlewareServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -5509,7 +5514,7 @@ func (m_2 *MockLightning_RegisterRPCMiddlewareServer) RecvMsg(m interface{}) err } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_RegisterRPCMiddlewareServer)(nil).RecvMsg), m) } @@ -5523,7 +5528,7 @@ func (m *MockLightning_RegisterRPCMiddlewareServer) Send(arg0 *lnrpc.RPCMiddlewa } // Send indicates an expected call of Send. -func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_RegisterRPCMiddlewareServer)(nil).Send), arg0) } @@ -5537,13 +5542,13 @@ func (m *MockLightning_RegisterRPCMiddlewareServer) SendHeader(arg0 metadata.MD) } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_RegisterRPCMiddlewareServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_RegisterRPCMiddlewareServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_RegisterRPCMiddlewareServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -5551,7 +5556,7 @@ func (m_2 *MockLightning_RegisterRPCMiddlewareServer) SendMsg(m interface{}) err } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_RegisterRPCMiddlewareServer)(nil).SendMsg), m) } @@ -5565,7 +5570,7 @@ func (m *MockLightning_RegisterRPCMiddlewareServer) SetHeader(arg0 metadata.MD) } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_RegisterRPCMiddlewareServer)(nil).SetHeader), arg0) } @@ -5577,7 +5582,7 @@ func (m *MockLightning_RegisterRPCMiddlewareServer) SetTrailer(arg0 metadata.MD) } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_RegisterRPCMiddlewareServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_RegisterRPCMiddlewareServer)(nil).SetTrailer), arg0) } @@ -5620,7 +5625,7 @@ func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) Context() *go } // RecvMsg mocks base method. -func (m_2 *MockLightning_SubscribeCustomMessagesServer) RecvMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeCustomMessagesServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -5628,7 +5633,7 @@ func (m_2 *MockLightning_SubscribeCustomMessagesServer) RecvMsg(m interface{}) e } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockLightning_SubscribeCustomMessagesServer)(nil).RecvMsg), m) } @@ -5642,7 +5647,7 @@ func (m *MockLightning_SubscribeCustomMessagesServer) Send(arg0 *lnrpc.CustomMes } // Send indicates an expected call of Send. -func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockLightning_SubscribeCustomMessagesServer)(nil).Send), arg0) } @@ -5656,13 +5661,13 @@ func (m *MockLightning_SubscribeCustomMessagesServer) SendHeader(arg0 metadata.M } // SendHeader indicates an expected call of SendHeader. -func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockLightning_SubscribeCustomMessagesServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockLightning_SubscribeCustomMessagesServer) SendMsg(m interface{}) error { +func (m_2 *MockLightning_SubscribeCustomMessagesServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -5670,7 +5675,7 @@ func (m_2 *MockLightning_SubscribeCustomMessagesServer) SendMsg(m interface{}) e } // SendMsg indicates an expected call of SendMsg. -func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockLightning_SubscribeCustomMessagesServer)(nil).SendMsg), m) } @@ -5684,7 +5689,7 @@ func (m *MockLightning_SubscribeCustomMessagesServer) SetHeader(arg0 metadata.MD } // SetHeader indicates an expected call of SetHeader. -func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockLightning_SubscribeCustomMessagesServer)(nil).SetHeader), arg0) } @@ -5696,7 +5701,7 @@ func (m *MockLightning_SubscribeCustomMessagesServer) SetTrailer(arg0 metadata.M } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockLightning_SubscribeCustomMessagesServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockLightning_SubscribeCustomMessagesServer)(nil).SetTrailer), arg0) } diff --git a/liquidator.go b/liquidator.go index a2ee28e..3e21d80 100644 --- a/liquidator.go +++ b/liquidator.go @@ -2,6 +2,7 @@ package main import ( "context" + "errors" "fmt" "math" "net/http" @@ -12,7 +13,7 @@ import ( "time" "github.com/Elenpay/liquidator/cache" - "github.com/Elenpay/liquidator/errors" + "github.com/Elenpay/liquidator/customerrors" "github.com/Elenpay/liquidator/helper" "github.com/Elenpay/liquidator/lndconnect" "github.com/Elenpay/liquidator/nodeguard" @@ -71,6 +72,9 @@ func startLiquidator() { //For each node in nodesHosts, connect to the node and get the list of channels + lightningClients := make(map[string]lnrpc.LightningClient) + nodeCtxs := make(map[string]context.Context) + for i, lndconnectURI := range lndconnectURIs { //parse lndconnectURI @@ -102,8 +106,6 @@ func startLiquidator() { } defer conn.Close() - //TODO Add support for multiple providers in the future - //Create SwapClient to communicate with loopd swapClient, swapConn, err := rpc.CreateSwapClientClient(loopdConnectParams) @@ -131,21 +133,26 @@ func startLiquidator() { log.Fatalf("no macaroon provided for node %v", lndconnectURI) } - nodeContext, err := helper.GenerateContextWithMacaroon(nodeMacaroon, context.Background()) + nodeCtx, err := helper.GenerateContextWithMacaroon(nodeMacaroon, context.Background()) if err != nil { log.Fatal("failed to generate context with macaroon") } //Get the local node info - nodeInfo, err := getLocalNodeInfo(lightningClient, nodeContext) + nodeInfo, err := getLocalNodeInfo(lightningClient, nodeCtx) if err != nil { log.Fatalf("failed to get local node info: %v", err) } + nodeCtxs[nodeInfo.IdentityPubkey] = nodeCtx + + //Store the lightning client in a map so that it can be used later + lightningClients[nodeInfo.IdentityPubkey] = lightningClient + wg.Add(1) //Start a goroutine to poll nodeguard for liquidation rules for this node - go startNodeGuardPolling(nodeInfo, nodeguardClient, nodeContext) + go startNodeGuardPolling(nodeInfo, nodeguardClient, nodeCtx) //Start a goroutine to monitor the channels of the node lndconnectParams, err := lndconnect.Parse(lndconnectURI) @@ -155,14 +162,17 @@ func startLiquidator() { } go monitorChannels(MonitorChannelsInfo{ - nodeHost: lndconnectParams.Host + ":" + lndconnectParams.Port, - nodeInfo: nodeInfo, - nodeMacaroon: nodeMacaroon, - loopdMacaroon: loopdMacaroon, - lightningClient: lightningClient, - nodeguardClient: nodeguardClient, - swapClient: swapClient, - nodeCtx: nodeContext, + BaseInfo: BaseInfo{ + nodeHost: lndconnectParams.Host + ":" + lndconnectParams.Port, + nodeInfo: nodeInfo, + nodeMacaroon: nodeMacaroon, + loopdMacaroon: loopdMacaroon, + lightningClients: lightningClients, + nodeguardClient: nodeguardClient, + swapClient: swapClient, + nodeCtxs: nodeCtxs, + provider: &provider.LoopProvider{}, + }, }) } @@ -274,15 +284,12 @@ func monitorChannels(info MonitorChannelsInfo) { log.Error(err) } - //Loop provider - loopProvider := provider.LoopProvider{} - prevChannels := []*lnrpc.Channel{} //Infinite loop to monitor channels for { //Call ListChannels method of lightning client with metadata headers - response, err := info.lightningClient.ListChannels(info.nodeCtx, &lnrpc.ListChannelsRequest{ + response, err := info.lightningClients[info.nodeInfo.IdentityPubkey].ListChannels(info.nodeCtxs[info.nodeInfo.IdentityPubkey], &lnrpc.ListChannelsRequest{ ActiveOnly: false, }) @@ -309,7 +316,7 @@ func monitorChannels(info MonitorChannelsInfo) { } if !found { //Remove channel balance metric - deleteChannelBalanceMetric(info.nodeHost, channel, info.lightningClient, info.nodeCtx) + deleteChannelBalanceMetric(info.nodeHost, channel, info.lightningClients[info.nodeInfo.IdentityPubkey], info.nodeCtxs[info.nodeInfo.IdentityPubkey]) } } @@ -328,16 +335,10 @@ func monitorChannels(info MonitorChannelsInfo) { log.Debugf("monitoring Channel Id: %v", channel.ChanId) go monitorChannel(MonitorChannelInfo{ + BaseInfo: info.BaseInfo, channel: channel, - nodeHost: info.nodeHost, - lightningClient: info.lightningClient, - context: info.nodeCtx, + context: info.nodeCtxs[info.nodeInfo.IdentityPubkey], liquidationRules: liquidationRules, - swapClient: info.swapClient, - nodeguardClient: info.nodeguardClient, - loopProvider: &loopProvider, - loopdMacaroon: info.loopdMacaroon, - nodeInfo: info.nodeInfo, }) } @@ -370,7 +371,7 @@ func monitorChannel(info MonitorChannelInfo) { } log.Debugf("channel balance ratio for node %v channel %v is %v", info.nodeHost, info.channel.GetChanId(), channelBalanceRatio) - recordChannelBalanceMetric(info.nodeHost, info.channel, channelBalanceRatio, info.lightningClient, spanCtx) + recordChannelBalanceMetric(info.nodeHost, info.channel, channelBalanceRatio, info.lightningClients[info.nodeInfo.IdentityPubkey], spanCtx) if info.liquidationRules == nil { return @@ -380,14 +381,10 @@ func monitorChannel(info MonitorChannelInfo) { //Manage liquidity if there are no pending htlcs err = manageChannelLiquidity(ManageChannelLiquidityInfo{ + BaseInfo: info.BaseInfo, channel: info.channel, channelBalanceRatio: channelBalanceRatio, channelRules: &channelRules, - swapClientClient: info.swapClient, - nodeguardClient: info.nodeguardClient, - loopProvider: info.loopProvider, - loopdMacaroon: info.loopdMacaroon, - nodeInfo: info.nodeInfo, ctx: spanCtx, }) @@ -396,7 +393,7 @@ func monitorChannel(info MonitorChannelInfo) { //if err is not of type SwapInProgressError, record it switch err.(type) { - case *errors.SwapInProgressError: + case *customerrors.SwapInProgressError: default: span.RecordError(err) @@ -459,9 +456,50 @@ func manageChannelLiquidity(info ManageChannelLiquidityInfo) error { } switch { + //Both nodes are managed, then simply create 1 invoice and send it to the other node to pay it + case info.lightningClients[rule.NodePubkey] != nil && info.lightningClients[rule.RemoteNodePubkey] != nil: + { + //Add attribute to the span of swap requested + span.SetAttributes(attribute.String("swapRequestedType", "invoiceRebalance")) + span.SetAttributes(attribute.String("chanId", fmt.Sprintf("%v", channel.GetChanId()))) + span.SetAttributes(attribute.String("nodePubkey", info.nodeInfo.GetIdentityPubkey())) + span.SetAttributes(attribute.String("nodeAlias", info.nodeInfo.GetAlias())) + + log.WithField("span", span).Infof("rebalancing via invoice on channel %v on node %v", channel.GetChanId(), info.nodeInfo.GetAlias()) + var payerPubKey string + var payeePubKey string + var swapAmount int64 + + switch { + //Create an invoice for the swap amount from the remote node and pay with the rule's node + case rule.MinimumLocalBalance != 0 && info.channelBalanceRatio < float64(rule.MinimumLocalBalance): + { + swapAmount = helper.AbsInt64((swapAmountTarget - channel.LocalBalance)) + + payerPubKey = rule.NodePubkey + payeePubKey = rule.RemoteNodePubkey + } + //Create an invoice for the swap amount from the rule's node and pay with the remote node + case rule.MinimumRemoteBalance != 0 && info.channelBalanceRatio > float64(rule.MinimumRemoteBalance): + { + swapAmount = helper.AbsInt64((channel.RemoteBalance - swapAmountTarget)) + + payerPubKey = rule.RemoteNodePubkey + payeePubKey = rule.NodePubkey + } + + } + + err := invoiceRebalance(info, swapAmount, payerPubKey, payeePubKey) + if err != nil { + return err + } + + } case rule.MinimumLocalBalance != 0 && info.channelBalanceRatio < float64(rule.MinimumLocalBalance): { + swapAmount := helper.AbsInt64((swapAmountTarget - channel.LocalBalance)) //If the balance ratio is below the minimum threshold, perform a reverse swap to increase the local balance //Add attribute to the span of swap requested @@ -470,9 +508,6 @@ func manageChannelLiquidity(info ManageChannelLiquidityInfo) error { span.SetAttributes(attribute.String("nodePubkey", info.nodeInfo.GetIdentityPubkey())) span.SetAttributes(attribute.String("nodeAlias", info.nodeInfo.GetAlias())) - //Calculate the swap amount - swapAmount := helper.AbsInt64((channel.RemoteBalance - swapAmountTarget)) - retryCounter := 1 err := performReverseSwap(info, channel, swapAmount, rule, span, loopdCtx, retryCounter, swapAmountTarget) @@ -482,6 +517,7 @@ func manageChannelLiquidity(info ManageChannelLiquidityInfo) error { } case rule.MinimumRemoteBalance != 0 && info.channelBalanceRatio > float64(rule.MinimumRemoteBalance): { + swapAmount := helper.AbsInt64((channel.RemoteBalance - swapAmountTarget)) //The balance ratio is above the maximum threshold, perform a swap to increase the remote balance //Add attribute to the span of swap requested @@ -490,9 +526,6 @@ func manageChannelLiquidity(info ManageChannelLiquidityInfo) error { span.SetAttributes(attribute.String("nodePubkey", info.nodeInfo.GetIdentityPubkey())) span.SetAttributes(attribute.String("nodeAlias", info.nodeInfo.GetAlias())) - //Calculate the swap amount - swapAmount := helper.AbsInt64((channel.RemoteBalance - swapAmountTarget)) - retryCounter := 1 err := performSwap(info, channel, swapAmount, rule, span, loopdCtx, retryCounter, swapAmountTarget) @@ -503,6 +536,43 @@ func manageChannelLiquidity(info ManageChannelLiquidityInfo) error { } + return nil +} + +// Creates one invoice in payee node and pays it with the payer node +func invoiceRebalance(info ManageChannelLiquidityInfo, swapAmount int64, payerPubKey string, payeePubKey string) error { + + if swapAmount <= 0 { + return errors.New("swap amount is <= 0") + } + + //Create an invoice for the swap amount + invoiceRequest := &lnrpc.Invoice{ + Memo: fmt.Sprintf("Invoice rebalance for channel %v on date %v", info.channel.GetChanId(), time.Now().Format("2006-01-02 15:04:05")), + Value: swapAmount, + } + + payeeLnClient := info.lightningClients[payeePubKey] + payerLnClient := info.lightningClients[payerPubKey] + + invoiceResponse, err := payeeLnClient.AddInvoice(info.nodeCtxs[payeePubKey], invoiceRequest) + if err != nil { + return err + } + + sendResponse, err := payerLnClient.SendPaymentSync(info.nodeCtxs[payerPubKey], &lnrpc.SendRequest{ + PaymentRequest: invoiceResponse.PaymentRequest, + }) + if err != nil { + return err + } + + if sendResponse.PaymentError != "" { + return errors.New(sendResponse.PaymentError) + } + + log.Infof("invoice rebalance successful for channel %v on node %v", info.channel.GetChanId(), info.nodeInfo.GetIdentityPubkey()) + return nil } @@ -517,7 +587,7 @@ func performSwap(info ManageChannelLiquidityInfo, channel *lnrpc.Channel, swapAm //Log including channel.GetChanId() and swapAmount log.WithField("span", span).Infof("requesting submarine swap with amount: %d sats to node %s, channel: %v", swapRequest.SatsAmount, info.nodeInfo.GetIdentityPubkey(), channel.GetChanId()) - resp, err := info.loopProvider.RequestSubmarineSwap(loopdCtx, swapRequest, info.swapClientClient) + resp, err := info.provider.RequestSubmarineSwap(loopdCtx, swapRequest, info.swapClient) if err != nil { log.WithField("span", span).Errorf("error requesting swap: %v on node: %v", err, info.nodeInfo.GetIdentityPubkey()) return err @@ -534,7 +604,7 @@ func performSwap(info ManageChannelLiquidityInfo, channel *lnrpc.Channel, swapAm for i := 0; i < 10; i++ { //Get the swap status - swapStatus, err := info.loopProvider.GetSwapStatus(loopdCtx, resp.SwapId, info.swapClientClient) + swapStatus, err := info.provider.GetSwapStatus(loopdCtx, resp.SwapId, info.swapClient) if err != nil { return err @@ -592,7 +662,7 @@ func performSwap(info ManageChannelLiquidityInfo, channel *lnrpc.Channel, swapAm } //Monitor the swap - swapStatus, err := info.loopProvider.MonitorSwap(loopdCtx, resp.SwapId, info.swapClientClient) + swapStatus, err := info.provider.MonitorSwap(loopdCtx, resp.SwapId, info.swapClient) if err != nil { return err } @@ -665,7 +735,7 @@ func performReverseSwap(info ManageChannelLiquidityInfo, channel *lnrpc.Channel, log.WithField("span", span).Infof("requesting reverse submarine swap with amount: %d sats to BTC Address %s", swapRequest.SatsAmount, swapRequest.ReceiverBTCAddress) - resp, err := info.loopProvider.RequestReverseSubmarineSwap(loopdCtx, swapRequest, info.swapClientClient) + resp, err := info.provider.RequestReverseSubmarineSwap(loopdCtx, swapRequest, info.swapClient) if err != nil { log.WithField("span", span).Errorf("error requesting reverse swap: %v on node: %v", err, info.nodeInfo.GetIdentityPubkey()) if strings.Contains(err.Error(), "channel balance too low for loop out amount") { @@ -684,7 +754,7 @@ func performReverseSwap(info ManageChannelLiquidityInfo, channel *lnrpc.Channel, log.WithField("span", span).Infof("reverse swap requested for channel %v, swap id: %v on node %v", channel.GetChanId(), resp.SwapId, info.nodeInfo.GetIdentityPubkey()) //Monitor the swap - swapStatus, err := info.loopProvider.MonitorSwap(loopdCtx, resp.SwapId, info.swapClientClient) + swapStatus, err := info.provider.MonitorSwap(loopdCtx, resp.SwapId, info.swapClient) if err != nil { return err } diff --git a/liquidator_test.go b/liquidator_test.go index 5c64b48..c7499e4 100644 --- a/liquidator_test.go +++ b/liquidator_test.go @@ -8,12 +8,12 @@ import ( "github.com/Elenpay/liquidator/nodeguard" "github.com/Elenpay/liquidator/provider" - gomock "github.com/golang/mock/gomock" "github.com/lightninglabs/loop/looprpc" "github.com/lightningnetwork/lnd/lnrpc" "github.com/prometheus/client_golang/prometheus" log "github.com/sirupsen/logrus" "go.uber.org/goleak" + gomock "go.uber.org/mock/gomock" ) // Tear up method @@ -131,8 +131,14 @@ func Test_manageChannelLiquidity(t *testing.T) { }, } + //Mock for lightning clients for invoice rebalance + lightningClient := NewMockLightningClient(mockCtrl) + lightningClient.EXPECT().AddInvoice(gomock.Any(), gomock.Any()).Return(&lnrpc.AddInvoiceResponse{}, nil).AnyTimes() + lightningClient.EXPECT().SendPaymentSync(gomock.Any(), gomock.Any()).Return(&lnrpc.SendResponse{}, nil).AnyTimes() + nodeInfo := lnrpc.GetInfoResponse{ - Alias: "Test", + Alias: "Test", + IdentityPubkey: "1", } tests := []struct { @@ -144,13 +150,19 @@ func Test_manageChannelLiquidity(t *testing.T) { { name: "Manage channel liquidity test valid reverse swap", args: ManageChannelLiquidityInfo{ + BaseInfo: BaseInfo{ + nodeHost: "", + nodeInfo: nodeInfo, + nodeMacaroon: "", + loopdMacaroon: "1", + lightningClients: map[string]lnrpc.LightningClient{}, + nodeguardClient: mockNodeGuardClient, + swapClient: nil, + provider: mockProvider, + }, channel: channelActive, channelBalanceRatio: 0.1, channelRules: &[]nodeguard.LiquidityRule{{ChannelId: 123, NodePubkey: "", IsReverseSwapWalletRule: true, ReverseSwapWalletId: &walletId, MinimumLocalBalance: 20, MinimumRemoteBalance: 80, RebalanceTarget: 60}}, - nodeguardClient: mockNodeGuardClient, - loopProvider: mockProvider, - loopdMacaroon: "0201036c6e6402f801030a10dc64226b045d25f090b114baebcbf04c1201301a160a0761646472657373120472656164120577726974651a130a04696e666f120472656164120577726974651a170a08696e766f69636573120472656164120577726974651a210a086d616361726f6f6e120867656e6572617465120472656164120577726974651a160a076d657373616765120472656164120577726974651a170a086f6666636861696e120472656164120577726974651a160a076f6e636861696e120472656164120577726974651a140a057065657273120472656164120577726974651a180a067369676e6572120867656e657261746512047265616400000620a21b8cc8c071aa5104b706b751aede972f642537c05da31450fb4b02c6da776e", - nodeInfo: nodeInfo, ctx: context.TODO(), }, wantErr: false, @@ -158,27 +170,19 @@ func Test_manageChannelLiquidity(t *testing.T) { { name: "Manage channel liquidity test valid reverse swap", args: ManageChannelLiquidityInfo{ + BaseInfo: BaseInfo{ + nodeHost: "", + nodeInfo: nodeInfo, + nodeMacaroon: "", + loopdMacaroon: "1", + lightningClients: map[string]lnrpc.LightningClient{}, + nodeguardClient: mockNodeGuardClient, + swapClient: nil, + provider: mockProvider, + }, channel: channelActive, channelBalanceRatio: 0.1, channelRules: &[]nodeguard.LiquidityRule{{ChannelId: 123, NodePubkey: "", IsReverseSwapWalletRule: false, ReverseSwapAddress: &address, MinimumLocalBalance: 20, MinimumRemoteBalance: 80, RebalanceTarget: 60}}, - nodeguardClient: mockNodeGuardClient, - loopProvider: mockProvider, - loopdMacaroon: "0201036c6e6402f801030a10dc64226b045d25f090b114baebcbf04c1201301a160a0761646472657373120472656164120577726974651a130a04696e666f120472656164120577726974651a170a08696e766f69636573120472656164120577726974651a210a086d616361726f6f6e120867656e6572617465120472656164120577726974651a160a076d657373616765120472656164120577726974651a170a086f6666636861696e120472656164120577726974651a160a076f6e636861696e120472656164120577726974651a140a057065657273120472656164120577726974651a180a067369676e6572120867656e657261746512047265616400000620a21b8cc8c071aa5104b706b751aede972f642537c05da31450fb4b02c6da776e", - nodeInfo: nodeInfo, - ctx: context.TODO(), - }, - wantErr: false, - }, - { - name: "Manage channel liquidity test valid reverse swap bypassing max pending amt", - args: ManageChannelLiquidityInfo{ - channel: channelActive, - channelBalanceRatio: 0.1, - channelRules: &[]nodeguard.LiquidityRule{{ChannelId: 123, NodePubkey: "", IsReverseSwapWalletRule: true, ReverseSwapWalletId: &walletId, MinimumLocalBalance: 20, MinimumRemoteBalance: 80, RebalanceTarget: 40}}, - nodeguardClient: mockNodeGuardClient, - loopProvider: mockProvider, - loopdMacaroon: "0201036c6e6402f801030a10dc64226b045d25f090b114baebcbf04c1201301a160a0761646472657373120472656164120577726974651a130a04696e666f120472656164120577726974651a170a08696e766f69636573120472656164120577726974651a210a086d616361726f6f6e120867656e6572617465120472656164120577726974651a160a076d657373616765120472656164120577726974651a170a086f6666636861696e120472656164120577726974651a160a076f6e636861696e120472656164120577726974651a140a057065657273120472656164120577726974651a180a067369676e6572120867656e657261746512047265616400000620a21b8cc8c071aa5104b706b751aede972f642537c05da31450fb4b02c6da776e", - nodeInfo: nodeInfo, ctx: context.TODO(), }, wantErr: false, @@ -186,13 +190,19 @@ func Test_manageChannelLiquidity(t *testing.T) { { name: "Manage channel liquidity test valid reverse swap bypassing max pending amt", args: ManageChannelLiquidityInfo{ + BaseInfo: BaseInfo{ + nodeHost: "", + nodeInfo: nodeInfo, + nodeMacaroon: "", + loopdMacaroon: "1", + lightningClients: map[string]lnrpc.LightningClient{}, + nodeguardClient: mockNodeGuardClient, + swapClient: nil, + provider: mockProvider, + }, channel: channelActive, channelBalanceRatio: 0.1, channelRules: &[]nodeguard.LiquidityRule{{ChannelId: 123, NodePubkey: "", IsReverseSwapWalletRule: true, ReverseSwapWalletId: &walletId, MinimumLocalBalance: 20, MinimumRemoteBalance: 80, RebalanceTarget: 40}}, - nodeguardClient: mockNodeGuardClient, - loopProvider: mockProvider, - loopdMacaroon: "0201036c6e6402f801030a10dc64226b045d25f090b114baebcbf04c1201301a160a0761646472657373120472656164120577726974651a130a04696e666f120472656164120577726974651a170a08696e766f69636573120472656164120577726974651a210a086d616361726f6f6e120867656e6572617465120472656164120577726974651a160a076d657373616765120472656164120577726974651a170a086f6666636861696e120472656164120577726974651a160a076f6e636861696e120472656164120577726974651a140a057065657273120472656164120577726974651a180a067369676e6572120867656e657261746512047265616400000620a21b8cc8c071aa5104b706b751aede972f642537c05da31450fb4b02c6da776e", - nodeInfo: nodeInfo, ctx: context.TODO(), }, wantErr: false, @@ -200,8 +210,19 @@ func Test_manageChannelLiquidity(t *testing.T) { { name: "Manage channel liquidity test valid swap", args: ManageChannelLiquidityInfo{ + BaseInfo: BaseInfo{ + nodeHost: "", + nodeInfo: nodeInfo, + nodeMacaroon: "", + loopdMacaroon: "1", + lightningClients: map[string]lnrpc.LightningClient{}, + nodeguardClient: mockNodeGuardClient, + swapClient: nil, + provider: mockProvider, + }, channel: channelActive, channelBalanceRatio: 0.9, + ctx: context.TODO(), channelRules: &[]nodeguard.LiquidityRule{ { ChannelId: 123, @@ -212,24 +233,25 @@ func Test_manageChannelLiquidity(t *testing.T) { RebalanceTarget: 60, }, }, - nodeguardClient: mockNodeGuardClient, - loopProvider: mockProvider, - loopdMacaroon: "0201036c6e6402f801030a10dc64226b045d25f090b114baebcbf04c1201301a160a0761646472657373120472656164120577726974651a130a04696e666f120472656164120577726974651a170a08696e766f69636573120472656164120577726974651a210a086d616361726f6f6e120867656e6572617465120472656164120577726974651a160a076d657373616765120472656164120577726974651a170a086f6666636861696e120472656164120577726974651a160a076f6e636861696e120472656164120577726974651a140a057065657273120472656164120577726974651a180a067369676e6572120867656e657261746512047265616400000620a21b8cc8c071aa5104b706b751aede972f642537c05da31450fb4b02c6da776e", - nodeInfo: nodeInfo, - ctx: context.TODO(), }, wantErr: false, }, { name: "Manage channel liquidity test failed reverse swap", args: ManageChannelLiquidityInfo{ + BaseInfo: BaseInfo{ + nodeHost: "", + nodeInfo: nodeInfo, + nodeMacaroon: "", + loopdMacaroon: "1", + lightningClients: map[string]lnrpc.LightningClient{}, + nodeguardClient: mockNodeGuardClient, + swapClient: nil, + provider: mockProviderInvalid, + }, channel: channelActive, channelBalanceRatio: 0.1, channelRules: &[]nodeguard.LiquidityRule{{ChannelId: 123, NodePubkey: "", IsReverseSwapWalletRule: true, ReverseSwapWalletId: &walletId, MinimumLocalBalance: 20, MinimumRemoteBalance: 80, RebalanceTarget: 60}}, - nodeguardClient: mockNodeGuardClient, - loopProvider: mockProviderInvalid, - loopdMacaroon: "0201036c6e6402f801030a10dc64226b045d25f090b114baebcbf04c1201301a160a0761646472657373120472656164120577726974651a130a04696e666f120472656164120577726974651a170a08696e766f69636573120472656164120577726974651a210a086d616361726f6f6e120867656e6572617465120472656164120577726974651a160a076d657373616765120472656164120577726974651a170a086f6666636861696e120472656164120577726974651a160a076f6e636861696e120472656164120577726974651a140a057065657273120472656164120577726974651a180a067369676e6572120867656e657261746512047265616400000620a21b8cc8c071aa5104b706b751aede972f642537c05da31450fb4b02c6da776e", - nodeInfo: nodeInfo, ctx: context.TODO(), }, wantErr: true, @@ -237,13 +259,19 @@ func Test_manageChannelLiquidity(t *testing.T) { { name: "Manage channel liquidity test failed swap", args: ManageChannelLiquidityInfo{ + BaseInfo: BaseInfo{ + nodeHost: "", + nodeInfo: nodeInfo, + nodeMacaroon: "", + loopdMacaroon: "1", + lightningClients: map[string]lnrpc.LightningClient{}, + nodeguardClient: mockNodeGuardClient, + swapClient: nil, + provider: mockProviderInvalid, + }, channel: channelActive, channelBalanceRatio: 0.9, channelRules: &[]nodeguard.LiquidityRule{{ChannelId: 123, NodePubkey: "", SwapWalletId: 1, MinimumLocalBalance: 20, MinimumRemoteBalance: 80, RebalanceTarget: 60}}, - nodeguardClient: mockNodeGuardClient, - loopProvider: mockProviderInvalid, - loopdMacaroon: "0201036c6e6402f801030a10dc64226b045d25f090b114baebcbf04c1201301a160a0761646472657373120472656164120577726974651a130a04696e666f120472656164120577726974651a170a08696e766f69636573120472656164120577726974651a210a086d616361726f6f6e120867656e6572617465120472656164120577726974651a160a076d657373616765120472656164120577726974651a170a086f6666636861696e120472656164120577726974651a160a076f6e636861696e120472656164120577726974651a140a057065657273120472656164120577726974651a180a067369676e6572120867656e657261746512047265616400000620a21b8cc8c071aa5104b706b751aede972f642537c05da31450fb4b02c6da776e", - nodeInfo: nodeInfo, ctx: context.TODO(), }, wantErr: true, @@ -251,17 +279,67 @@ func Test_manageChannelLiquidity(t *testing.T) { { name: "Manage channel liquidity test failed reverse swap channel outbound capacity", args: ManageChannelLiquidityInfo{ + BaseInfo: BaseInfo{ + nodeHost: "", + nodeInfo: nodeInfo, + nodeMacaroon: "", + loopdMacaroon: "1", + lightningClients: map[string]lnrpc.LightningClient{}, + nodeguardClient: mockNodeGuardClient, + swapClient: nil, + provider: mockProviderInvalidLoopError, + }, channel: channelActive, channelBalanceRatio: 0.1, channelRules: &[]nodeguard.LiquidityRule{{ChannelId: 123, NodePubkey: "", IsReverseSwapWalletRule: true, ReverseSwapWalletId: &walletId, MinimumLocalBalance: 20, MinimumRemoteBalance: 80, RebalanceTarget: 60}}, - nodeguardClient: mockNodeGuardClient, - loopProvider: mockProviderInvalidLoopError, - loopdMacaroon: "0201036c6e6402f801030a10dc64226b045d25f090b114baebcbf04c1201301a160a0761646472657373120472656164120577726974651a130a04696e666f120472656164120577726974651a170a08696e766f69636573120472656164120577726974651a210a086d616361726f6f6e120867656e6572617465120472656164120577726974651a160a076d657373616765120472656164120577726974651a170a086f6666636861696e120472656164120577726974651a160a076f6e636861696e120472656164120577726974651a140a057065657273120472656164120577726974651a180a067369676e6572120867656e657261746512047265616400000620a21b8cc8c071aa5104b706b751aede972f642537c05da31450fb4b02c6da776e", - nodeInfo: nodeInfo, ctx: context.TODO(), }, wantErr: true, }, + { + name: "Manage channel liquidity test valid invoice rebalance minimum local balance threshold", + args: ManageChannelLiquidityInfo{ + BaseInfo: BaseInfo{ + nodeInfo: nodeInfo, + lightningClients: map[string]lnrpc.LightningClient{"1": lightningClient, "2": lightningClient}, + nodeMacaroon: "1", + loopdMacaroon: "2", + }, + channel: channelActive, + channelBalanceRatio: 0.1, + channelRules: &[]nodeguard.LiquidityRule{{ + NodePubkey: "1", + MinimumLocalBalance: 20, + MinimumRemoteBalance: 80, + RebalanceTarget: 50, + RemoteNodePubkey: "2", + }}, + ctx: context.TODO(), + }, + wantErr: false, + }, + { + name: "Manage channel liquidity test valid invoice rebalance remote local balance threshold", + args: ManageChannelLiquidityInfo{ + BaseInfo: BaseInfo{ + nodeInfo: nodeInfo, + lightningClients: map[string]lnrpc.LightningClient{"1": lightningClient, "2": lightningClient}, + nodeMacaroon: "1", + loopdMacaroon: "2", + }, + channel: channelActive, + channelBalanceRatio: 0.9, + channelRules: &[]nodeguard.LiquidityRule{{ + NodePubkey: "1", + MinimumLocalBalance: 20, + MinimumRemoteBalance: 80, + RebalanceTarget: 50, + RemoteNodePubkey: "2", + }}, + ctx: context.TODO(), + }, + wantErr: false, + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { @@ -452,6 +530,8 @@ func Test_monitorChannel(t *testing.T) { }, }, nil).AnyTimes() + nodeInfo := lnrpc.GetInfoResponse{IdentityPubkey: "1"} + tests := []struct { name string args args @@ -460,16 +540,16 @@ func Test_monitorChannel(t *testing.T) { name: "Monitor channel goroutine leak test invalid swap", args: args{ info: MonitorChannelInfo{ + BaseInfo: BaseInfo{ + nodeHost: "", + lightningClients: map[string]lnrpc.LightningClient{"1": mockLightningClient}, + swapClient: provider.NewMockSwapClientClient(mockCtrl), + nodeguardClient: nodeguardClient, + provider: createMockProviderInvalidSwap(mockCtrl), + nodeInfo: nodeInfo}, channel: channel, - nodeHost: "", - lightningClient: mockLightningClient, context: context.TODO(), liquidationRules: liquidityRules, - swapClient: provider.NewMockSwapClientClient(mockCtrl), - nodeguardClient: nodeguardClient, - loopProvider: createMockProviderInvalidSwap(mockCtrl), - loopdMacaroon: "123", - nodeInfo: lnrpc.GetInfoResponse{}, }, iterations: 4, }, @@ -478,16 +558,16 @@ func Test_monitorChannel(t *testing.T) { name: "Monitor channel with ongoing htlc", args: args{ info: MonitorChannelInfo{ + BaseInfo: BaseInfo{ + nodeHost: "", + lightningClients: map[string]lnrpc.LightningClient{"1": mockLightningClientWithHTLCs}, + swapClient: provider.NewMockSwapClientClient(mockCtrl), + nodeguardClient: nodeguardClient, + provider: &provider.LoopProvider{}, + nodeInfo: nodeInfo}, channel: channelHtlcs, - nodeHost: "", - lightningClient: mockLightningClientWithHTLCs, context: context.TODO(), liquidationRules: map[uint64][]nodeguard.LiquidityRule{}, - swapClient: provider.NewMockSwapClientClient(mockCtrl), - nodeguardClient: nodeguardClient, - loopProvider: &provider.LoopProvider{}, - loopdMacaroon: "", - nodeInfo: lnrpc.GetInfoResponse{}, }, iterations: 4, }, diff --git a/lnd b/lnd index 6bd3004..8bba792 160000 --- a/lnd +++ b/lnd @@ -1 +1 @@ -Subproject commit 6bd30047c1b1188029e8af6ee8a135cf86e7dc4b +Subproject commit 8bba79222f439127e46ec3ff7ec7c650e0d88d56 diff --git a/loop b/loop index fcfa4b1..ab30e0b 160000 --- a/loop +++ b/loop @@ -1 +1 @@ -Subproject commit fcfa4b180d8590fbc5581ad1239ce70ffeec17ad +Subproject commit ab30e0b4e852dc8538369c6be33bb8d8f95f83ae diff --git a/nodeguard/nodeguard.pb.go b/nodeguard/nodeguard.pb.go index 189a70b..341f310 100644 --- a/nodeguard/nodeguard.pb.go +++ b/nodeguard/nodeguard.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.28.1 -// protoc v3.21.12 +// protoc-gen-go v1.33.0 +// protoc v4.25.3 // source: nodeguard.proto package nodeguard @@ -492,7 +492,8 @@ type LiquidityRule struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // Public key of the node that is the managed node of the channel NodePubkey string `protobuf:"bytes,2,opt,name=node_pubkey,json=nodePubkey,proto3" json:"node_pubkey,omitempty"` SwapWalletId int32 `protobuf:"varint,3,opt,name=swap_wallet_id,json=swapWalletId,proto3" json:"swap_wallet_id,omitempty"` ReverseSwapWalletId *int32 `protobuf:"varint,4,opt,name=reverse_swap_wallet_id,json=reverseSwapWalletId,proto3,oneof" json:"reverse_swap_wallet_id,omitempty"` @@ -501,6 +502,8 @@ type LiquidityRule struct { RebalanceTarget float32 `protobuf:"fixed32,7,opt,name=rebalance_target,json=rebalanceTarget,proto3" json:"rebalance_target,omitempty"` ReverseSwapAddress *string `protobuf:"bytes,8,opt,name=reverse_swap_address,json=reverseSwapAddress,proto3,oneof" json:"reverse_swap_address,omitempty"` IsReverseSwapWalletRule bool `protobuf:"varint,9,opt,name=is_reverse_swap_wallet_rule,json=isReverseSwapWalletRule,proto3" json:"is_reverse_swap_wallet_rule,omitempty"` + // Public key of the node that is the counterparty of the channel + RemoteNodePubkey string `protobuf:"bytes,10,opt,name=remote_node_pubkey,json=remoteNodePubkey,proto3" json:"remote_node_pubkey,omitempty"` } func (x *LiquidityRule) Reset() { @@ -598,6 +601,13 @@ func (x *LiquidityRule) GetIsReverseSwapWalletRule() bool { return false } +func (x *LiquidityRule) GetRemoteNodePubkey() string { + if x != nil { + return x.RemoteNodePubkey + } + return "" +} + type GetNewWalletAddressRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1113,7 +1123,8 @@ type AddNodeRequest struct { ChannelAdminMacaroon string `protobuf:"bytes,4,opt,name=channel_admin_macaroon,json=channelAdminMacaroon,proto3" json:"channel_admin_macaroon,omitempty"` // Endpoint of the node in the form of host:port (gRPC) Endpoint string `protobuf:"bytes,5,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - // Whether this node's hot wallet should be autoswept to the returning funds wallet + // Whether this node's hot wallet should be autoswept to the returning funds + // wallet AutosweepEnabled bool `protobuf:"varint,6,opt,name=autosweep_enabled,json=autosweepEnabled,proto3" json:"autosweep_enabled,omitempty"` // Wallet ID as stored in the NG's database for use in autosweep ops ReturningFundsWalletId int32 `protobuf:"varint,7,opt,name=returning_funds_wallet_id,json=returningFundsWalletId,proto3" json:"returning_funds_wallet_id,omitempty"` @@ -1250,7 +1261,8 @@ type Node struct { Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` // Endpoint of the node in the form of host:port (gRPC) Endpoint string `protobuf:"bytes,5,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - // Whether this node's hot wallet should be autoswept to the returning funds wallet + // Whether this node's hot wallet should be autoswept to the returning funds + // wallet AutosweepEnabled bool `protobuf:"varint,6,opt,name=autosweep_enabled,json=autosweepEnabled,proto3" json:"autosweep_enabled,omitempty"` // Wallet ID as stored in the NG's database for use in autosweep ops ReturningFundsWalletId int32 `protobuf:"varint,7,opt,name=returning_funds_wallet_id,json=returningFundsWalletId,proto3" json:"returning_funds_wallet_id,omitempty"` @@ -1552,7 +1564,8 @@ func (x *OpenChannelRequest) GetCustomFeeRate() int32 { return 0 } -// A successful response returns the channel_operation_request_id but it does NOT indicate that the channel has been open, external monitoring is required +// A successful response returns the channel_operation_request_id but it does +// NOT indicate that the channel has been open, external monitoring is required type OpenChannelResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1657,7 +1670,8 @@ func (x *CloseChannelRequest) GetForce() bool { return false } -// A successful response is an empty message and does NOT indicate that the channel has been closed, external monitoring is required +// A successful response is an empty message and does NOT indicate that the +// channel has been closed, external monitoring is required type CloseChannelResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2059,7 +2073,8 @@ type GetAvailableUtxosRequest struct { Limit *int32 `protobuf:"varint,3,opt,name=limit,proto3,oneof" json:"limit,omitempty"` // Amount in satoshis Amount *int64 `protobuf:"varint,4,opt,name=amount,proto3,oneof" json:"amount,omitempty"` - // Order the UTXOs by closest to the amount specified if the strategy selected is CLOSEST_TO_TARGET_FIRST + // Order the UTXOs by closest to the amount specified if the strategy selected + // is CLOSEST_TO_TARGET_FIRST ClosestTo *int64 `protobuf:"varint,5,opt,name=closestTo,proto3,oneof" json:"closestTo,omitempty"` } @@ -2570,7 +2585,7 @@ var file_nodeguard_proto_rawDesc = []byte{ 0x69, 0x74, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x0e, 0x6c, 0x69, 0x71, 0x75, 0x69, - 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0xed, 0x03, 0x0a, 0x0d, 0x4c, 0x69, + 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x9b, 0x04, 0x0a, 0x0d, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, @@ -2598,446 +2613,449 @@ var file_nodeguard_proto_rawDesc = []byte{ 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x53, 0x77, 0x61, 0x70, 0x57, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, - 0x65, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, - 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x73, 0x77, 0x61, - 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x39, 0x0a, 0x1a, 0x47, 0x65, 0x74, - 0x4e, 0x65, 0x77, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x49, 0x64, 0x22, 0x37, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x57, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x80, 0x03, - 0x0a, 0x18, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, - 0x77, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x61, - 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x6c, 0x65, 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x5f, - 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0e, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, - 0x3e, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, - 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x6f, 0x64, 0x65, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x46, 0x45, 0x45, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x52, - 0x0e, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, - 0x2b, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, - 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, - 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, - 0x22, 0x72, 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, - 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, - 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x68, 0x6f, 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x48, 0x6f, 0x74, 0x57, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x22, 0x7a, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x3c, 0x0a, 0x0b, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, - 0x61, 0x72, 0x64, 0x2e, 0x57, 0x41, 0x4c, 0x4c, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x48, - 0x00, 0x52, 0x0a, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x28, 0x0a, 0x12, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x70, 0x75, 0x62, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x78, 0x70, 0x75, 0x62, 0x22, 0xbf, 0x01, 0x0a, 0x06, 0x57, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, - 0x68, 0x6f, 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x69, 0x73, 0x48, 0x6f, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x4f, 0x0a, - 0x14, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x6f, - 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, - 0x65, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x12, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x4a, 0x0a, 0x1b, - 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6e, - 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, - 0x07, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x99, 0x02, 0x0a, 0x0e, 0x41, 0x64, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x70, - 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, - 0x62, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x63, 0x61, - 0x72, 0x6f, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, - 0x61, 0x75, 0x74, 0x6f, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x77, 0x65, - 0x65, 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x77, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x57, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe9, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x61, - 0x75, 0x74, 0x6f, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x77, 0x65, 0x65, - 0x70, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x77, 0x61, 0x6c, 0x6c, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, - 0x74, 0x49, 0x64, 0x22, 0x3e, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x5f, 0x75, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x55, 0x6e, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x64, 0x22, 0x39, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x8c, - 0x03, 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x77, - 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x74, 0x73, - 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, - 0x61, 0x74, 0x73, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x65, 0x73, - 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, - 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x5f, 0x6f, 0x75, 0x74, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x74, - 0x78, 0x6f, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x10, - 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, - 0x72, 0x64, 0x2e, 0x46, 0x45, 0x45, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x52, 0x0e, 0x6d, 0x65, - 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x0f, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, - 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0x56, 0x0a, - 0x13, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, - 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, - 0x6f, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x21, 0x47, 0x65, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, - 0x0a, 0x1c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, - 0xfb, 0x04, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x61, 0x74, - 0x73, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4f, 0x50, - 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x48, 0x00, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6e, 0x6f, 0x64, 0x65, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4f, 0x50, - 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x48, 0x01, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x2a, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x63, 0x6c, 0x6f, - 0x73, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, - 0x08, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x48, - 0x04, 0x52, 0x07, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, - 0x09, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x05, 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, - 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x6f, - 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x0a, 0x64, - 0x65, 0x73, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x07, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, - 0x62, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, - 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x42, - 0x0c, 0x0a, 0x0a, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, - 0x0d, 0x5f, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0d, - 0x0a, 0x0b, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x22, 0xaf, 0x04, - 0x0a, 0x17, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x77, 0x61, 0x70, - 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x0c, 0x73, 0x77, 0x61, 0x70, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x12, 0x37, - 0x0a, 0x15, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, - 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, - 0x13, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x69, 0x6d, - 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x14, 0x6d, 0x69, 0x6e, 0x69, 0x6d, - 0x75, 0x6d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x0f, - 0x72, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x3c, 0x0a, 0x1b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, - 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, 0x52, 0x65, 0x76, 0x65, 0x72, - 0x73, 0x65, 0x53, 0x77, 0x61, 0x70, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, - 0x12, 0x35, 0x0a, 0x14, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x70, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, - 0x52, 0x12, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x53, 0x77, 0x61, 0x70, 0x41, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x16, 0x72, 0x65, 0x76, 0x65, 0x72, - 0x73, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x13, 0x72, 0x65, 0x76, 0x65, 0x72, - 0x73, 0x65, 0x53, 0x77, 0x61, 0x70, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6c, 0x6f, - 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, - 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, - 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x62, 0x61, 0x6c, - 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x5f, - 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, - 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0x33, 0x0a, 0x18, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x75, - 0x6c, 0x65, 0x49, 0x64, 0x22, 0x87, 0x02, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x12, 0x43, - 0x0a, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x22, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x4f, 0x49, - 0x4e, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, - 0x54, 0x45, 0x47, 0x59, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x48, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, - 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, - 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, - 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x22, 0x3a, - 0x0a, 0x04, 0x55, 0x74, 0x78, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, - 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x7d, 0x0a, 0x19, 0x47, 0x65, - 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x72, 0x6d, 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6e, 0x6f, 0x64, - 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x52, 0x09, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x0b, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x72, 0x6d, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6e, 0x6f, - 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x52, 0x0b, 0x75, 0x6e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x22, 0x45, 0x0a, 0x22, 0x47, 0x65, 0x74, - 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x73, - 0x22, 0xc8, 0x01, 0x0a, 0x11, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x2e, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x51, - 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x72, - 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, - 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, - 0x1a, 0x0a, 0x18, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x72, 0x5f, 0x63, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x74, 0x0a, 0x23, 0x47, - 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x13, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1c, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x57, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x77, - 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x73, 0x22, 0x32, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0xa0, 0x03, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, - 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0d, 0x52, 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, - 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x06, 0x63, 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x74, 0x73, 0x5f, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x61, - 0x74, 0x73, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x62, 0x74, 0x63, 0x5f, - 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x74, 0x63, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6e, 0x6f, 0x64, 0x65, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x30, 0x0a, 0x14, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x42, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x12, 0x43, - 0x0a, 0x1e, 0x69, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, - 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x69, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, - 0x74, 0x65, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x62, 0x74, 0x63, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2a, 0x2a, 0x0a, 0x0b, 0x57, 0x41, 0x4c, 0x4c, - 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, - 0x00, 0x12, 0x07, 0x0a, 0x03, 0x48, 0x4f, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, - 0x4c, 0x44, 0x10, 0x02, 0x2a, 0x5e, 0x0a, 0x09, 0x46, 0x45, 0x45, 0x53, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x43, 0x4f, 0x4e, 0x4f, 0x4d, 0x59, 0x5f, 0x46, 0x45, 0x45, - 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x41, 0x53, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x46, 0x45, - 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x4f, 0x55, 0x52, 0x5f, 0x46, 0x45, 0x45, 0x10, - 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x48, 0x41, 0x4c, 0x46, 0x5f, 0x48, 0x4f, 0x55, 0x52, 0x5f, 0x46, - 0x45, 0x45, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x46, - 0x45, 0x45, 0x10, 0x04, 0x2a, 0xc9, 0x01, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, - 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, - 0x53, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, - 0x0a, 0x08, 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, - 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x53, 0x42, - 0x54, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x4e, - 0x44, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x4e, 0x43, 0x48, 0x41, 0x49, - 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, - 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x4e, 0x43, 0x48, - 0x41, 0x49, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x06, 0x12, - 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x46, - 0x49, 0x4e, 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x53, 0x42, 0x54, 0x10, 0x08, - 0x2a, 0x3d, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x52, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, - 0x45, 0x4e, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, - 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x01, 0x2a, - 0x6f, 0x0a, 0x17, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4d, - 0x41, 0x4c, 0x4c, 0x45, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x11, - 0x0a, 0x0d, 0x42, 0x49, 0x47, 0x47, 0x45, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, - 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x4f, 0x5f, - 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x02, 0x12, 0x10, - 0x0a, 0x0c, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x03, - 0x2a, 0xc3, 0x01, 0x0a, 0x19, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, - 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x12, 0x16, - 0x0a, 0x12, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x54, - 0x54, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, - 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x50, 0x50, - 0x52, 0x4f, 0x56, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x57, 0x49, 0x54, 0x48, 0x44, - 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, - 0x02, 0x12, 0x17, 0x0a, 0x13, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, - 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x57, 0x49, - 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, - 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, - 0x15, 0x0a, 0x11, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x2a, 0x26, 0x0a, 0x0e, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, - 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x45, 0x4e, - 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x01, 0x32, 0xc5, - 0x09, 0x0a, 0x10, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x75, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, - 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, - 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x71, - 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x57, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x6e, 0x6f, 0x64, - 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x57, 0x61, 0x6c, - 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x26, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, - 0x74, 0x4e, 0x65, 0x77, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x12, 0x23, - 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, + 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x75, 0x62, 0x6b, 0x65, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x50, 0x75, 0x62, + 0x6b, 0x65, 0x79, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, + 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x17, + 0x0a, 0x15, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x39, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x4e, 0x65, + 0x77, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x49, 0x64, 0x22, 0x37, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x57, 0x61, 0x6c, 0x6c, + 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x80, 0x03, 0x0a, 0x18, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x41, 0x64, 0x64, - 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x2e, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x4e, - 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x47, - 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, - 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x64, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, - 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, - 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, - 0x64, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1e, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x2e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, - 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x61, 0x6c, 0x6c, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x77, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x65, + 0x73, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x6c, 0x65, 0x73, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x5f, 0x6f, 0x75, + 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x75, + 0x74, 0x78, 0x6f, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, + 0x10, 0x6d, 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x2e, 0x46, 0x45, 0x45, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x52, 0x0e, 0x6d, + 0x65, 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, + 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0x72, + 0x0a, 0x19, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x78, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x78, 0x69, 0x64, 0x12, + 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x68, 0x6f, 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x48, 0x6f, 0x74, 0x57, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x22, 0x7a, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x3c, 0x0a, 0x0b, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x2e, 0x57, 0x41, 0x4c, 0x4c, 0x45, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x48, 0x00, 0x52, + 0x0a, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x28, + 0x0a, 0x12, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x70, 0x75, 0x62, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x78, 0x70, 0x75, 0x62, 0x22, 0xbf, 0x01, 0x0a, 0x06, 0x57, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x68, 0x6f, + 0x74, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, + 0x69, 0x73, 0x48, 0x6f, 0x74, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x12, 0x4f, 0x0a, 0x14, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, + 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4b, 0x65, 0x79, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x12, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x4b, 0x65, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x4a, 0x0a, 0x1b, 0x47, 0x65, + 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x07, 0x77, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6e, 0x6f, 0x64, + 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x07, 0x77, + 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x22, 0x99, 0x02, 0x0a, 0x0e, 0x41, 0x64, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x70, 0x75, 0x62, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x75, 0x62, 0x4b, + 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x16, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x63, 0x61, 0x72, 0x6f, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4d, 0x61, 0x63, 0x61, 0x72, 0x6f, 0x6f, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x75, + 0x74, 0x6f, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x77, 0x65, 0x65, 0x70, + 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xe9, 0x01, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, + 0x0a, 0x07, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x70, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x75, 0x74, + 0x6f, 0x73, 0x77, 0x65, 0x65, 0x70, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x77, 0x65, 0x65, 0x70, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, + 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6e, 0x64, 0x73, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, + 0x64, 0x22, 0x3e, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x75, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x55, 0x6e, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x22, 0x39, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x22, 0x8c, 0x03, 0x0a, + 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x75, + 0x62, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x75, 0x62, 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x77, 0x61, 0x6c, + 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x77, 0x61, + 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x61, 0x74, + 0x73, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x65, 0x73, + 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x74, 0x78, 0x6f, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x75, 0x74, 0x78, 0x6f, + 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x10, 0x6d, 0x65, + 0x6d, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, + 0x2e, 0x46, 0x45, 0x45, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x52, 0x0e, 0x6d, 0x65, 0x6d, 0x70, + 0x6f, 0x6f, 0x6c, 0x46, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x0a, 0x0f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x46, 0x65, 0x65, + 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x22, 0x56, 0x0a, 0x13, 0x4f, + 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x1c, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, + 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, + 0x16, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x1c, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x19, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xfb, 0x04, + 0x0a, 0x22, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x61, 0x74, 0x73, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x2e, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x52, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x48, 0x00, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x2e, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x52, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x48, 0x01, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, 0x05, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x04, 0x74, 0x78, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x2a, 0x0a, 0x0e, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x0d, 0x63, 0x6c, 0x6f, 0x73, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x1e, 0x0a, 0x08, 0x66, + 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x48, 0x04, 0x52, + 0x07, 0x66, 0x65, 0x65, 0x52, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x77, + 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x48, 0x05, + 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x6f, 0x64, + 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x48, 0x06, 0x52, 0x0a, 0x64, 0x65, 0x73, + 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x48, 0x07, + 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, + 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x78, 0x5f, 0x69, 0x64, 0x42, 0x11, 0x0a, + 0x0f, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x66, 0x65, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x42, 0x0c, 0x0a, + 0x0a, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, + 0x64, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x22, 0xaf, 0x04, 0x0a, 0x17, + 0x41, 0x64, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, + 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, + 0x73, 0x77, 0x61, 0x70, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x12, 0x37, 0x0a, 0x15, + 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x62, 0x61, + 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x13, 0x6d, + 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x42, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x16, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, + 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x01, 0x52, 0x14, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x88, 0x01, 0x01, + 0x12, 0x2e, 0x0a, 0x10, 0x72, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x02, 0x52, 0x0f, 0x72, 0x65, + 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x88, 0x01, 0x01, + 0x12, 0x3c, 0x0a, 0x1b, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x73, + 0x77, 0x61, 0x70, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x73, 0x52, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, + 0x53, 0x77, 0x61, 0x70, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x35, + 0x0a, 0x14, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, 0x52, 0x12, + 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x53, 0x77, 0x61, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x16, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, + 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x13, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, + 0x53, 0x77, 0x61, 0x70, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, + 0x18, 0x0a, 0x16, 0x5f, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x6d, 0x69, + 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x72, 0x65, 0x62, 0x61, 0x6c, 0x61, 0x6e, + 0x63, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, 0x17, 0x0a, 0x15, 0x5f, 0x72, 0x65, + 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x73, 0x77, 0x61, 0x70, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, 0x73, + 0x77, 0x61, 0x70, 0x5f, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x33, 0x0a, + 0x18, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, + 0x49, 0x64, 0x22, 0x87, 0x02, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1b, 0x0a, 0x09, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x08, 0x77, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x08, + 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, + 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x4f, 0x49, 0x4e, 0x5f, + 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, + 0x47, 0x59, 0x48, 0x00, 0x52, 0x08, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x48, 0x01, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x06, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x09, + 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x88, 0x01, 0x01, 0x42, 0x0b, 0x0a, 0x09, + 0x5f, 0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0c, + 0x0a, 0x0a, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x74, 0x54, 0x6f, 0x22, 0x3a, 0x0a, 0x04, + 0x55, 0x74, 0x78, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x7d, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, + 0x65, 0x64, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x72, 0x6d, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x0b, 0x75, 0x6e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, + 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x52, 0x0b, 0x75, 0x6e, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x65, 0x64, 0x22, 0x45, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x57, 0x69, + 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x05, 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x73, 0x22, 0xc8, + 0x01, 0x0a, 0x11, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, + 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, + 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x3a, 0x0a, 0x17, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x72, 0x5f, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x14, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x4f, 0x72, 0x43, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, + 0x18, 0x5f, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6f, 0x72, 0x5f, 0x63, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x74, 0x0a, 0x23, 0x47, 0x65, 0x74, + 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4d, 0x0a, 0x13, 0x77, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, + 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x12, 0x77, 0x69, 0x74, + 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, + 0x32, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x64, 0x22, 0xa0, 0x03, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x75, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x66, 0x75, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x54, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, + 0x70, 0x75, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x17, 0x0a, 0x07, + 0x63, 0x68, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x63, + 0x68, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x74, 0x73, 0x5f, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x61, 0x74, 0x73, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x62, 0x74, 0x63, 0x5f, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x74, 0x63, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x2e, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x55, 0x53, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x42, 0x79, 0x4e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x12, 0x43, 0x0a, 0x1e, + 0x69, 0x73, 0x5f, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x71, + 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x69, 0x73, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x65, + 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x62, 0x74, 0x63, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2a, 0x2a, 0x0a, 0x0b, 0x57, 0x41, 0x4c, 0x4c, 0x45, 0x54, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x00, 0x12, + 0x07, 0x0a, 0x03, 0x48, 0x4f, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x4f, 0x4c, 0x44, + 0x10, 0x02, 0x2a, 0x5e, 0x0a, 0x09, 0x46, 0x45, 0x45, 0x53, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, + 0x0f, 0x0a, 0x0b, 0x45, 0x43, 0x4f, 0x4e, 0x4f, 0x4d, 0x59, 0x5f, 0x46, 0x45, 0x45, 0x10, 0x00, + 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x41, 0x53, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x46, 0x45, 0x45, 0x10, + 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x48, 0x4f, 0x55, 0x52, 0x5f, 0x46, 0x45, 0x45, 0x10, 0x02, 0x12, + 0x11, 0x0a, 0x0d, 0x48, 0x41, 0x4c, 0x46, 0x5f, 0x48, 0x4f, 0x55, 0x52, 0x5f, 0x46, 0x45, 0x45, + 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x46, 0x45, 0x45, + 0x10, 0x04, 0x2a, 0xc9, 0x01, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4f, + 0x50, 0x45, 0x52, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x12, + 0x0c, 0x0a, 0x08, 0x41, 0x50, 0x50, 0x52, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, + 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, + 0x52, 0x45, 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x53, 0x42, 0x54, 0x5f, + 0x53, 0x49, 0x47, 0x4e, 0x41, 0x54, 0x55, 0x52, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, + 0x4e, 0x47, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x4e, 0x43, 0x48, 0x41, 0x49, 0x4e, 0x5f, + 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x45, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x12, 0x15, 0x0a, 0x11, 0x4f, 0x4e, 0x43, 0x48, 0x41, 0x49, + 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x06, 0x12, 0x0a, 0x0a, + 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x13, 0x0a, 0x0f, 0x46, 0x49, 0x4e, + 0x41, 0x4c, 0x49, 0x5a, 0x49, 0x4e, 0x47, 0x5f, 0x50, 0x53, 0x42, 0x54, 0x10, 0x08, 0x2a, 0x3d, + 0x0a, 0x16, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x50, 0x45, 0x4e, + 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x4c, + 0x4f, 0x53, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x01, 0x2a, 0x6f, 0x0a, + 0x17, 0x43, 0x4f, 0x49, 0x4e, 0x5f, 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x4d, 0x41, 0x4c, + 0x4c, 0x45, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, + 0x42, 0x49, 0x47, 0x47, 0x45, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x01, 0x12, + 0x1b, 0x0a, 0x17, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x53, 0x54, 0x5f, 0x54, 0x4f, 0x5f, 0x54, 0x41, + 0x52, 0x47, 0x45, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, + 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x41, 0x4d, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x03, 0x2a, 0xc3, + 0x01, 0x0a, 0x19, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x52, 0x45, + 0x51, 0x55, 0x45, 0x53, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x12, 0x16, 0x0a, 0x12, + 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x53, 0x45, 0x54, 0x54, 0x4c, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, + 0x41, 0x4c, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x41, 0x50, 0x50, 0x52, 0x4f, + 0x56, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, + 0x57, 0x41, 0x4c, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, + 0x17, 0x0a, 0x13, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x52, 0x45, + 0x4a, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x57, 0x49, 0x54, 0x48, + 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x43, + 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x15, 0x0a, + 0x11, 0x57, 0x49, 0x54, 0x48, 0x44, 0x52, 0x41, 0x57, 0x41, 0x4c, 0x5f, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x10, 0x05, 0x2a, 0x26, 0x0a, 0x0e, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x12, 0x08, 0x0a, 0x04, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44, 0x10, 0x01, 0x32, 0xc5, 0x09, 0x0a, + 0x10, 0x4e, 0x6f, 0x64, 0x65, 0x47, 0x75, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, + 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, + 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x71, 0x75, 0x69, + 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x64, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x57, 0x61, 0x6c, 0x6c, 0x65, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x25, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, + 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x65, 0x77, 0x57, 0x61, 0x6c, 0x6c, 0x65, + 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4e, + 0x65, 0x77, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x12, 0x23, 0x2e, 0x6e, + 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x4e, 0x6f, + 0x64, 0x65, 0x12, 0x19, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x41, + 0x64, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x4e, 0x6f, 0x64, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x47, 0x65, 0x74, + 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x1a, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1b, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, + 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, + 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x61, + 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x61, + 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6e, + 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x61, 0x6c, 0x6c, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0b, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x12, 0x1d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, + 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x4f, + 0x70, 0x65, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x12, 0x1e, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x43, + 0x6c, 0x6f, 0x73, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2c, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5b, 0x0a, 0x10, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, - 0x52, 0x75, 0x6c, 0x65, 0x12, 0x22, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, - 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, - 0x75, 0x61, 0x72, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, - 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, - 0x11, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x74, 0x78, - 0x6f, 0x73, 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, + 0x0a, 0x10, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, + 0x6c, 0x65, 0x12, 0x22, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x41, + 0x64, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, + 0x72, 0x64, 0x2e, 0x41, 0x64, 0x64, 0x4c, 0x69, 0x71, 0x75, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x74, 0x78, 0x6f, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, - 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, - 0x1b, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x2e, 0x6e, - 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, - 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x6f, - 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, - 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x47, - 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x2e, 0x6e, 0x6f, 0x64, 0x65, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, + 0x12, 0x23, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x74, + 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x1b, 0x47, + 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, 0x77, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x2e, 0x6e, 0x6f, 0x64, + 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, + 0x61, 0x77, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6e, 0x6f, 0x64, 0x65, + 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x57, 0x69, 0x74, 0x68, 0x64, 0x72, 0x61, + 0x77, 0x61, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x47, 0x65, 0x74, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1c, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, 0x64, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x6e, 0x6f, 0x64, 0x65, - 0x67, 0x75, 0x61, 0x72, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, 0x61, 0x72, + 0x64, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x67, 0x75, + 0x61, 0x72, 0x64, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/nodeguard/nodeguard_grpc.pb.go b/nodeguard/nodeguard_grpc.pb.go index 7edc545..5fbe922 100644 --- a/nodeguard/nodeguard_grpc.pb.go +++ b/nodeguard/nodeguard_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v3.21.12 +// - protoc-gen-go-grpc v1.3.0 +// - protoc v4.25.3 // source: nodeguard.proto package nodeguard @@ -18,6 +18,22 @@ import ( // Requires gRPC-Go v1.32.0 or later. const _ = grpc.SupportPackageIsVersion7 +const ( + NodeGuardService_GetLiquidityRules_FullMethodName = "/nodeguard.NodeGuardService/GetLiquidityRules" + NodeGuardService_GetNewWalletAddress_FullMethodName = "/nodeguard.NodeGuardService/GetNewWalletAddress" + NodeGuardService_RequestWithdrawal_FullMethodName = "/nodeguard.NodeGuardService/RequestWithdrawal" + NodeGuardService_AddNode_FullMethodName = "/nodeguard.NodeGuardService/AddNode" + NodeGuardService_GetNodes_FullMethodName = "/nodeguard.NodeGuardService/GetNodes" + NodeGuardService_GetAvailableWallets_FullMethodName = "/nodeguard.NodeGuardService/GetAvailableWallets" + NodeGuardService_OpenChannel_FullMethodName = "/nodeguard.NodeGuardService/OpenChannel" + NodeGuardService_CloseChannel_FullMethodName = "/nodeguard.NodeGuardService/CloseChannel" + NodeGuardService_GetChannelOperationRequest_FullMethodName = "/nodeguard.NodeGuardService/GetChannelOperationRequest" + NodeGuardService_AddLiquidityRule_FullMethodName = "/nodeguard.NodeGuardService/AddLiquidityRule" + NodeGuardService_GetAvailableUtxos_FullMethodName = "/nodeguard.NodeGuardService/GetAvailableUtxos" + NodeGuardService_GetWithdrawalsRequestStatus_FullMethodName = "/nodeguard.NodeGuardService/GetWithdrawalsRequestStatus" + NodeGuardService_GetChannel_FullMethodName = "/nodeguard.NodeGuardService/GetChannel" +) + // NodeGuardServiceClient is the client API for NodeGuardService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. @@ -60,7 +76,7 @@ func NewNodeGuardServiceClient(cc grpc.ClientConnInterface) NodeGuardServiceClie func (c *nodeGuardServiceClient) GetLiquidityRules(ctx context.Context, in *GetLiquidityRulesRequest, opts ...grpc.CallOption) (*GetLiquidityRulesResponse, error) { out := new(GetLiquidityRulesResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/GetLiquidityRules", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_GetLiquidityRules_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -69,7 +85,7 @@ func (c *nodeGuardServiceClient) GetLiquidityRules(ctx context.Context, in *GetL func (c *nodeGuardServiceClient) GetNewWalletAddress(ctx context.Context, in *GetNewWalletAddressRequest, opts ...grpc.CallOption) (*GetNewWalletAddressResponse, error) { out := new(GetNewWalletAddressResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/GetNewWalletAddress", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_GetNewWalletAddress_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -78,7 +94,7 @@ func (c *nodeGuardServiceClient) GetNewWalletAddress(ctx context.Context, in *Ge func (c *nodeGuardServiceClient) RequestWithdrawal(ctx context.Context, in *RequestWithdrawalRequest, opts ...grpc.CallOption) (*RequestWithdrawalResponse, error) { out := new(RequestWithdrawalResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/RequestWithdrawal", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_RequestWithdrawal_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -87,7 +103,7 @@ func (c *nodeGuardServiceClient) RequestWithdrawal(ctx context.Context, in *Requ func (c *nodeGuardServiceClient) AddNode(ctx context.Context, in *AddNodeRequest, opts ...grpc.CallOption) (*AddNodeResponse, error) { out := new(AddNodeResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/AddNode", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_AddNode_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -96,7 +112,7 @@ func (c *nodeGuardServiceClient) AddNode(ctx context.Context, in *AddNodeRequest func (c *nodeGuardServiceClient) GetNodes(ctx context.Context, in *GetNodesRequest, opts ...grpc.CallOption) (*GetNodesResponse, error) { out := new(GetNodesResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/GetNodes", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_GetNodes_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -105,7 +121,7 @@ func (c *nodeGuardServiceClient) GetNodes(ctx context.Context, in *GetNodesReque func (c *nodeGuardServiceClient) GetAvailableWallets(ctx context.Context, in *GetAvailableWalletsRequest, opts ...grpc.CallOption) (*GetAvailableWalletsResponse, error) { out := new(GetAvailableWalletsResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/GetAvailableWallets", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_GetAvailableWallets_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -114,7 +130,7 @@ func (c *nodeGuardServiceClient) GetAvailableWallets(ctx context.Context, in *Ge func (c *nodeGuardServiceClient) OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (*OpenChannelResponse, error) { out := new(OpenChannelResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/OpenChannel", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_OpenChannel_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -123,7 +139,7 @@ func (c *nodeGuardServiceClient) OpenChannel(ctx context.Context, in *OpenChanne func (c *nodeGuardServiceClient) CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (*CloseChannelResponse, error) { out := new(CloseChannelResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/CloseChannel", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_CloseChannel_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -132,7 +148,7 @@ func (c *nodeGuardServiceClient) CloseChannel(ctx context.Context, in *CloseChan func (c *nodeGuardServiceClient) GetChannelOperationRequest(ctx context.Context, in *GetChannelOperationRequestRequest, opts ...grpc.CallOption) (*GetChannelOperationRequestResponse, error) { out := new(GetChannelOperationRequestResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/GetChannelOperationRequest", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_GetChannelOperationRequest_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -141,7 +157,7 @@ func (c *nodeGuardServiceClient) GetChannelOperationRequest(ctx context.Context, func (c *nodeGuardServiceClient) AddLiquidityRule(ctx context.Context, in *AddLiquidityRuleRequest, opts ...grpc.CallOption) (*AddLiquidityRuleResponse, error) { out := new(AddLiquidityRuleResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/AddLiquidityRule", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_AddLiquidityRule_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -150,7 +166,7 @@ func (c *nodeGuardServiceClient) AddLiquidityRule(ctx context.Context, in *AddLi func (c *nodeGuardServiceClient) GetAvailableUtxos(ctx context.Context, in *GetAvailableUtxosRequest, opts ...grpc.CallOption) (*GetAvailableUtxosResponse, error) { out := new(GetAvailableUtxosResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/GetAvailableUtxos", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_GetAvailableUtxos_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -159,7 +175,7 @@ func (c *nodeGuardServiceClient) GetAvailableUtxos(ctx context.Context, in *GetA func (c *nodeGuardServiceClient) GetWithdrawalsRequestStatus(ctx context.Context, in *GetWithdrawalsRequestStatusRequest, opts ...grpc.CallOption) (*GetWithdrawalsRequestStatusResponse, error) { out := new(GetWithdrawalsRequestStatusResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/GetWithdrawalsRequestStatus", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_GetWithdrawalsRequestStatus_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -168,7 +184,7 @@ func (c *nodeGuardServiceClient) GetWithdrawalsRequestStatus(ctx context.Context func (c *nodeGuardServiceClient) GetChannel(ctx context.Context, in *GetChannelRequest, opts ...grpc.CallOption) (*GetChannelResponse, error) { out := new(GetChannelResponse) - err := c.cc.Invoke(ctx, "/nodeguard.NodeGuardService/GetChannel", in, out, opts...) + err := c.cc.Invoke(ctx, NodeGuardService_GetChannel_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -274,7 +290,7 @@ func _NodeGuardService_GetLiquidityRules_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/GetLiquidityRules", + FullMethod: NodeGuardService_GetLiquidityRules_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).GetLiquidityRules(ctx, req.(*GetLiquidityRulesRequest)) @@ -292,7 +308,7 @@ func _NodeGuardService_GetNewWalletAddress_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/GetNewWalletAddress", + FullMethod: NodeGuardService_GetNewWalletAddress_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).GetNewWalletAddress(ctx, req.(*GetNewWalletAddressRequest)) @@ -310,7 +326,7 @@ func _NodeGuardService_RequestWithdrawal_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/RequestWithdrawal", + FullMethod: NodeGuardService_RequestWithdrawal_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).RequestWithdrawal(ctx, req.(*RequestWithdrawalRequest)) @@ -328,7 +344,7 @@ func _NodeGuardService_AddNode_Handler(srv interface{}, ctx context.Context, dec } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/AddNode", + FullMethod: NodeGuardService_AddNode_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).AddNode(ctx, req.(*AddNodeRequest)) @@ -346,7 +362,7 @@ func _NodeGuardService_GetNodes_Handler(srv interface{}, ctx context.Context, de } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/GetNodes", + FullMethod: NodeGuardService_GetNodes_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).GetNodes(ctx, req.(*GetNodesRequest)) @@ -364,7 +380,7 @@ func _NodeGuardService_GetAvailableWallets_Handler(srv interface{}, ctx context. } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/GetAvailableWallets", + FullMethod: NodeGuardService_GetAvailableWallets_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).GetAvailableWallets(ctx, req.(*GetAvailableWalletsRequest)) @@ -382,7 +398,7 @@ func _NodeGuardService_OpenChannel_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/OpenChannel", + FullMethod: NodeGuardService_OpenChannel_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).OpenChannel(ctx, req.(*OpenChannelRequest)) @@ -400,7 +416,7 @@ func _NodeGuardService_CloseChannel_Handler(srv interface{}, ctx context.Context } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/CloseChannel", + FullMethod: NodeGuardService_CloseChannel_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).CloseChannel(ctx, req.(*CloseChannelRequest)) @@ -418,7 +434,7 @@ func _NodeGuardService_GetChannelOperationRequest_Handler(srv interface{}, ctx c } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/GetChannelOperationRequest", + FullMethod: NodeGuardService_GetChannelOperationRequest_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).GetChannelOperationRequest(ctx, req.(*GetChannelOperationRequestRequest)) @@ -436,7 +452,7 @@ func _NodeGuardService_AddLiquidityRule_Handler(srv interface{}, ctx context.Con } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/AddLiquidityRule", + FullMethod: NodeGuardService_AddLiquidityRule_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).AddLiquidityRule(ctx, req.(*AddLiquidityRuleRequest)) @@ -454,7 +470,7 @@ func _NodeGuardService_GetAvailableUtxos_Handler(srv interface{}, ctx context.Co } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/GetAvailableUtxos", + FullMethod: NodeGuardService_GetAvailableUtxos_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).GetAvailableUtxos(ctx, req.(*GetAvailableUtxosRequest)) @@ -472,7 +488,7 @@ func _NodeGuardService_GetWithdrawalsRequestStatus_Handler(srv interface{}, ctx } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/GetWithdrawalsRequestStatus", + FullMethod: NodeGuardService_GetWithdrawalsRequestStatus_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).GetWithdrawalsRequestStatus(ctx, req.(*GetWithdrawalsRequestStatusRequest)) @@ -490,7 +506,7 @@ func _NodeGuardService_GetChannel_Handler(srv interface{}, ctx context.Context, } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/nodeguard.NodeGuardService/GetChannel", + FullMethod: NodeGuardService_GetChannel_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(NodeGuardServiceServer).GetChannel(ctx, req.(*GetChannelRequest)) diff --git a/nodeguard/nodeguard_mock.go b/nodeguard/nodeguard_mock.go index a495d04..3d2072b 100644 --- a/nodeguard/nodeguard_mock.go +++ b/nodeguard/nodeguard_mock.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: nodeguard/nodeguard_grpc.pb.go +// +// Generated by this command: +// +// mockgen -destination ./nodeguard/nodeguard_mock.go -source nodeguard/nodeguard_grpc.pb.go -package nodeguard +// // Package nodeguard is a generated GoMock package. package nodeguard @@ -8,7 +13,7 @@ import ( context "context" reflect "reflect" - gomock "github.com/golang/mock/gomock" + gomock "go.uber.org/mock/gomock" grpc "google.golang.org/grpc" ) @@ -38,7 +43,7 @@ func (m *MockNodeGuardServiceClient) EXPECT() *MockNodeGuardServiceClientMockRec // AddLiquidityRule mocks base method. func (m *MockNodeGuardServiceClient) AddLiquidityRule(ctx context.Context, in *AddLiquidityRuleRequest, opts ...grpc.CallOption) (*AddLiquidityRuleResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -49,16 +54,16 @@ func (m *MockNodeGuardServiceClient) AddLiquidityRule(ctx context.Context, in *A } // AddLiquidityRule indicates an expected call of AddLiquidityRule. -func (mr *MockNodeGuardServiceClientMockRecorder) AddLiquidityRule(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) AddLiquidityRule(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddLiquidityRule", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).AddLiquidityRule), varargs...) } // AddNode mocks base method. func (m *MockNodeGuardServiceClient) AddNode(ctx context.Context, in *AddNodeRequest, opts ...grpc.CallOption) (*AddNodeResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -69,16 +74,16 @@ func (m *MockNodeGuardServiceClient) AddNode(ctx context.Context, in *AddNodeReq } // AddNode indicates an expected call of AddNode. -func (mr *MockNodeGuardServiceClientMockRecorder) AddNode(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) AddNode(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddNode", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).AddNode), varargs...) } // CloseChannel mocks base method. func (m *MockNodeGuardServiceClient) CloseChannel(ctx context.Context, in *CloseChannelRequest, opts ...grpc.CallOption) (*CloseChannelResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -89,16 +94,16 @@ func (m *MockNodeGuardServiceClient) CloseChannel(ctx context.Context, in *Close } // CloseChannel indicates an expected call of CloseChannel. -func (mr *MockNodeGuardServiceClientMockRecorder) CloseChannel(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) CloseChannel(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloseChannel", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).CloseChannel), varargs...) } // GetAvailableUtxos mocks base method. func (m *MockNodeGuardServiceClient) GetAvailableUtxos(ctx context.Context, in *GetAvailableUtxosRequest, opts ...grpc.CallOption) (*GetAvailableUtxosResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -109,16 +114,16 @@ func (m *MockNodeGuardServiceClient) GetAvailableUtxos(ctx context.Context, in * } // GetAvailableUtxos indicates an expected call of GetAvailableUtxos. -func (mr *MockNodeGuardServiceClientMockRecorder) GetAvailableUtxos(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) GetAvailableUtxos(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAvailableUtxos", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).GetAvailableUtxos), varargs...) } // GetAvailableWallets mocks base method. func (m *MockNodeGuardServiceClient) GetAvailableWallets(ctx context.Context, in *GetAvailableWalletsRequest, opts ...grpc.CallOption) (*GetAvailableWalletsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -129,16 +134,16 @@ func (m *MockNodeGuardServiceClient) GetAvailableWallets(ctx context.Context, in } // GetAvailableWallets indicates an expected call of GetAvailableWallets. -func (mr *MockNodeGuardServiceClientMockRecorder) GetAvailableWallets(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) GetAvailableWallets(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAvailableWallets", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).GetAvailableWallets), varargs...) } // GetChannel mocks base method. func (m *MockNodeGuardServiceClient) GetChannel(ctx context.Context, in *GetChannelRequest, opts ...grpc.CallOption) (*GetChannelResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -149,16 +154,16 @@ func (m *MockNodeGuardServiceClient) GetChannel(ctx context.Context, in *GetChan } // GetChannel indicates an expected call of GetChannel. -func (mr *MockNodeGuardServiceClientMockRecorder) GetChannel(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) GetChannel(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetChannel", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).GetChannel), varargs...) } // GetChannelOperationRequest mocks base method. func (m *MockNodeGuardServiceClient) GetChannelOperationRequest(ctx context.Context, in *GetChannelOperationRequestRequest, opts ...grpc.CallOption) (*GetChannelOperationRequestResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -169,16 +174,16 @@ func (m *MockNodeGuardServiceClient) GetChannelOperationRequest(ctx context.Cont } // GetChannelOperationRequest indicates an expected call of GetChannelOperationRequest. -func (mr *MockNodeGuardServiceClientMockRecorder) GetChannelOperationRequest(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) GetChannelOperationRequest(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetChannelOperationRequest", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).GetChannelOperationRequest), varargs...) } // GetLiquidityRules mocks base method. func (m *MockNodeGuardServiceClient) GetLiquidityRules(ctx context.Context, in *GetLiquidityRulesRequest, opts ...grpc.CallOption) (*GetLiquidityRulesResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -189,16 +194,16 @@ func (m *MockNodeGuardServiceClient) GetLiquidityRules(ctx context.Context, in * } // GetLiquidityRules indicates an expected call of GetLiquidityRules. -func (mr *MockNodeGuardServiceClientMockRecorder) GetLiquidityRules(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) GetLiquidityRules(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLiquidityRules", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).GetLiquidityRules), varargs...) } // GetNewWalletAddress mocks base method. func (m *MockNodeGuardServiceClient) GetNewWalletAddress(ctx context.Context, in *GetNewWalletAddressRequest, opts ...grpc.CallOption) (*GetNewWalletAddressResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -209,16 +214,16 @@ func (m *MockNodeGuardServiceClient) GetNewWalletAddress(ctx context.Context, in } // GetNewWalletAddress indicates an expected call of GetNewWalletAddress. -func (mr *MockNodeGuardServiceClientMockRecorder) GetNewWalletAddress(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) GetNewWalletAddress(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNewWalletAddress", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).GetNewWalletAddress), varargs...) } // GetNodes mocks base method. func (m *MockNodeGuardServiceClient) GetNodes(ctx context.Context, in *GetNodesRequest, opts ...grpc.CallOption) (*GetNodesResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -229,16 +234,16 @@ func (m *MockNodeGuardServiceClient) GetNodes(ctx context.Context, in *GetNodesR } // GetNodes indicates an expected call of GetNodes. -func (mr *MockNodeGuardServiceClientMockRecorder) GetNodes(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) GetNodes(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNodes", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).GetNodes), varargs...) } // GetWithdrawalsRequestStatus mocks base method. func (m *MockNodeGuardServiceClient) GetWithdrawalsRequestStatus(ctx context.Context, in *GetWithdrawalsRequestStatusRequest, opts ...grpc.CallOption) (*GetWithdrawalsRequestStatusResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -249,16 +254,16 @@ func (m *MockNodeGuardServiceClient) GetWithdrawalsRequestStatus(ctx context.Con } // GetWithdrawalsRequestStatus indicates an expected call of GetWithdrawalsRequestStatus. -func (mr *MockNodeGuardServiceClientMockRecorder) GetWithdrawalsRequestStatus(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) GetWithdrawalsRequestStatus(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWithdrawalsRequestStatus", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).GetWithdrawalsRequestStatus), varargs...) } // OpenChannel mocks base method. func (m *MockNodeGuardServiceClient) OpenChannel(ctx context.Context, in *OpenChannelRequest, opts ...grpc.CallOption) (*OpenChannelResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -269,16 +274,16 @@ func (m *MockNodeGuardServiceClient) OpenChannel(ctx context.Context, in *OpenCh } // OpenChannel indicates an expected call of OpenChannel. -func (mr *MockNodeGuardServiceClientMockRecorder) OpenChannel(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) OpenChannel(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OpenChannel", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).OpenChannel), varargs...) } // RequestWithdrawal mocks base method. func (m *MockNodeGuardServiceClient) RequestWithdrawal(ctx context.Context, in *RequestWithdrawalRequest, opts ...grpc.CallOption) (*RequestWithdrawalResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -289,9 +294,9 @@ func (m *MockNodeGuardServiceClient) RequestWithdrawal(ctx context.Context, in * } // RequestWithdrawal indicates an expected call of RequestWithdrawal. -func (mr *MockNodeGuardServiceClientMockRecorder) RequestWithdrawal(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceClientMockRecorder) RequestWithdrawal(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestWithdrawal", reflect.TypeOf((*MockNodeGuardServiceClient)(nil).RequestWithdrawal), varargs...) } @@ -328,7 +333,7 @@ func (m *MockNodeGuardServiceServer) AddLiquidityRule(arg0 context.Context, arg1 } // AddLiquidityRule indicates an expected call of AddLiquidityRule. -func (mr *MockNodeGuardServiceServerMockRecorder) AddLiquidityRule(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) AddLiquidityRule(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddLiquidityRule", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).AddLiquidityRule), arg0, arg1) } @@ -343,7 +348,7 @@ func (m *MockNodeGuardServiceServer) AddNode(arg0 context.Context, arg1 *AddNode } // AddNode indicates an expected call of AddNode. -func (mr *MockNodeGuardServiceServerMockRecorder) AddNode(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) AddNode(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddNode", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).AddNode), arg0, arg1) } @@ -358,7 +363,7 @@ func (m *MockNodeGuardServiceServer) CloseChannel(arg0 context.Context, arg1 *Cl } // CloseChannel indicates an expected call of CloseChannel. -func (mr *MockNodeGuardServiceServerMockRecorder) CloseChannel(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) CloseChannel(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CloseChannel", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).CloseChannel), arg0, arg1) } @@ -373,7 +378,7 @@ func (m *MockNodeGuardServiceServer) GetAvailableUtxos(arg0 context.Context, arg } // GetAvailableUtxos indicates an expected call of GetAvailableUtxos. -func (mr *MockNodeGuardServiceServerMockRecorder) GetAvailableUtxos(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) GetAvailableUtxos(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAvailableUtxos", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).GetAvailableUtxos), arg0, arg1) } @@ -388,7 +393,7 @@ func (m *MockNodeGuardServiceServer) GetAvailableWallets(arg0 context.Context, a } // GetAvailableWallets indicates an expected call of GetAvailableWallets. -func (mr *MockNodeGuardServiceServerMockRecorder) GetAvailableWallets(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) GetAvailableWallets(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetAvailableWallets", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).GetAvailableWallets), arg0, arg1) } @@ -403,7 +408,7 @@ func (m *MockNodeGuardServiceServer) GetChannel(arg0 context.Context, arg1 *GetC } // GetChannel indicates an expected call of GetChannel. -func (mr *MockNodeGuardServiceServerMockRecorder) GetChannel(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) GetChannel(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetChannel", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).GetChannel), arg0, arg1) } @@ -418,7 +423,7 @@ func (m *MockNodeGuardServiceServer) GetChannelOperationRequest(arg0 context.Con } // GetChannelOperationRequest indicates an expected call of GetChannelOperationRequest. -func (mr *MockNodeGuardServiceServerMockRecorder) GetChannelOperationRequest(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) GetChannelOperationRequest(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetChannelOperationRequest", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).GetChannelOperationRequest), arg0, arg1) } @@ -433,7 +438,7 @@ func (m *MockNodeGuardServiceServer) GetLiquidityRules(arg0 context.Context, arg } // GetLiquidityRules indicates an expected call of GetLiquidityRules. -func (mr *MockNodeGuardServiceServerMockRecorder) GetLiquidityRules(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) GetLiquidityRules(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLiquidityRules", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).GetLiquidityRules), arg0, arg1) } @@ -448,7 +453,7 @@ func (m *MockNodeGuardServiceServer) GetNewWalletAddress(arg0 context.Context, a } // GetNewWalletAddress indicates an expected call of GetNewWalletAddress. -func (mr *MockNodeGuardServiceServerMockRecorder) GetNewWalletAddress(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) GetNewWalletAddress(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNewWalletAddress", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).GetNewWalletAddress), arg0, arg1) } @@ -463,7 +468,7 @@ func (m *MockNodeGuardServiceServer) GetNodes(arg0 context.Context, arg1 *GetNod } // GetNodes indicates an expected call of GetNodes. -func (mr *MockNodeGuardServiceServerMockRecorder) GetNodes(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) GetNodes(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNodes", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).GetNodes), arg0, arg1) } @@ -478,7 +483,7 @@ func (m *MockNodeGuardServiceServer) GetWithdrawalsRequestStatus(arg0 context.Co } // GetWithdrawalsRequestStatus indicates an expected call of GetWithdrawalsRequestStatus. -func (mr *MockNodeGuardServiceServerMockRecorder) GetWithdrawalsRequestStatus(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) GetWithdrawalsRequestStatus(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWithdrawalsRequestStatus", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).GetWithdrawalsRequestStatus), arg0, arg1) } @@ -493,7 +498,7 @@ func (m *MockNodeGuardServiceServer) OpenChannel(arg0 context.Context, arg1 *Ope } // OpenChannel indicates an expected call of OpenChannel. -func (mr *MockNodeGuardServiceServerMockRecorder) OpenChannel(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) OpenChannel(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "OpenChannel", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).OpenChannel), arg0, arg1) } @@ -508,7 +513,7 @@ func (m *MockNodeGuardServiceServer) RequestWithdrawal(arg0 context.Context, arg } // RequestWithdrawal indicates an expected call of RequestWithdrawal. -func (mr *MockNodeGuardServiceServerMockRecorder) RequestWithdrawal(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockNodeGuardServiceServerMockRecorder) RequestWithdrawal(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestWithdrawal", reflect.TypeOf((*MockNodeGuardServiceServer)(nil).RequestWithdrawal), arg0, arg1) } diff --git a/provider/loop_provider.go b/provider/loop_provider.go index a2cb334..175c25a 100644 --- a/provider/loop_provider.go +++ b/provider/loop_provider.go @@ -8,7 +8,7 @@ import ( "strconv" "time" - "github.com/Elenpay/liquidator/errors" + "github.com/Elenpay/liquidator/customerrors" "github.com/btcsuite/btcd/btcutil" "github.com/lightninglabs/loop/looprpc" "github.com/lightningnetwork/lnd/routing/route" @@ -149,7 +149,7 @@ func checkSubmarineSwapNotInProgress(ctx context.Context, client looprpc.SwapCli id := hex.EncodeToString(swap.GetIdBytes()) errMessage := fmt.Sprintf("another submarine swap is already in progress, swap id: %s", id) - swapInProgressErr := errors.SwapInProgressError{ + swapInProgressErr := customerrors.SwapInProgressError{ Message: errMessage, } @@ -195,7 +195,7 @@ func checkReverseSubmarineSwapNotInProgress(ctx context.Context, client looprpc. id := hex.EncodeToString(swap.GetIdBytes()) errMessage := fmt.Sprintf("another submarine swap is already in progress, swap id: %s", id) - swapInProgressErr := errors.SwapInProgressError{ + swapInProgressErr := customerrors.SwapInProgressError{ Message: errMessage, } @@ -272,7 +272,7 @@ func (l *LoopProvider) RequestReverseSubmarineSwap(ctx context.Context, request MaxPrepayRoutingFee: int64(limits.maxPrepayRoutingFee), MaxSwapRoutingFee: int64(limits.maxSwapRoutingFee), OutgoingChanSet: request.ChannelSet, - SweepConfTarget: viper.GetInt32("sweepConfTarget"), + SweepConfTarget: viper.GetInt32("sweepConfTarget"), HtlcConfirmations: 3, //The publication deadline is maximum the offset of the swap deadline conf plus the current time SwapPublicationDeadline: uint64(time.Now().Add(viper.GetDuration("swapPublicationOffset") * time.Minute).Unix()), diff --git a/provider/loop_provider_test.go b/provider/loop_provider_test.go index 16645c2..8d996c9 100644 --- a/provider/loop_provider_test.go +++ b/provider/loop_provider_test.go @@ -7,9 +7,9 @@ import ( "testing" "time" - "github.com/golang/mock/gomock" "github.com/lightninglabs/loop/looprpc" "github.com/spf13/viper" + gomock "go.uber.org/mock/gomock" ) func TestLoopProvider_RequestSubmarineSwap(t *testing.T) { diff --git a/provider/loopd_mock.go b/provider/loopd_mock.go index 336d769..dcb1244 100644 --- a/provider/loopd_mock.go +++ b/provider/loopd_mock.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: loop/looprpc/client_grpc.pb.go +// +// Generated by this command: +// +// mockgen -destination ./provider/loopd_mock.go -source loop/looprpc/client_grpc.pb.go -package provider +// // Package provider is a generated GoMock package. package provider @@ -8,8 +13,8 @@ import ( context "context" reflect "reflect" - gomock "github.com/golang/mock/gomock" looprpc "github.com/lightninglabs/loop/looprpc" + gomock "go.uber.org/mock/gomock" grpc "google.golang.org/grpc" metadata "google.golang.org/grpc/metadata" ) @@ -37,10 +42,30 @@ func (m *MockSwapClientClient) EXPECT() *MockSwapClientClientMockRecorder { return m.recorder } +// AbandonSwap mocks base method. +func (m *MockSwapClientClient) AbandonSwap(ctx context.Context, in *looprpc.AbandonSwapRequest, opts ...grpc.CallOption) (*looprpc.AbandonSwapResponse, error) { + m.ctrl.T.Helper() + varargs := []any{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AbandonSwap", varargs...) + ret0, _ := ret[0].(*looprpc.AbandonSwapResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AbandonSwap indicates an expected call of AbandonSwap. +func (mr *MockSwapClientClientMockRecorder) AbandonSwap(ctx, in any, opts ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AbandonSwap", reflect.TypeOf((*MockSwapClientClient)(nil).AbandonSwap), varargs...) +} + // GetInfo mocks base method. func (m *MockSwapClientClient) GetInfo(ctx context.Context, in *looprpc.GetInfoRequest, opts ...grpc.CallOption) (*looprpc.GetInfoResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -51,16 +76,16 @@ func (m *MockSwapClientClient) GetInfo(ctx context.Context, in *looprpc.GetInfoR } // GetInfo indicates an expected call of GetInfo. -func (mr *MockSwapClientClientMockRecorder) GetInfo(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) GetInfo(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInfo", reflect.TypeOf((*MockSwapClientClient)(nil).GetInfo), varargs...) } // GetLiquidityParams mocks base method. func (m *MockSwapClientClient) GetLiquidityParams(ctx context.Context, in *looprpc.GetLiquidityParamsRequest, opts ...grpc.CallOption) (*looprpc.LiquidityParameters, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -71,16 +96,16 @@ func (m *MockSwapClientClient) GetLiquidityParams(ctx context.Context, in *loopr } // GetLiquidityParams indicates an expected call of GetLiquidityParams. -func (mr *MockSwapClientClientMockRecorder) GetLiquidityParams(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) GetLiquidityParams(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLiquidityParams", reflect.TypeOf((*MockSwapClientClient)(nil).GetLiquidityParams), varargs...) } // GetLoopInQuote mocks base method. func (m *MockSwapClientClient) GetLoopInQuote(ctx context.Context, in *looprpc.QuoteRequest, opts ...grpc.CallOption) (*looprpc.InQuoteResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -91,16 +116,16 @@ func (m *MockSwapClientClient) GetLoopInQuote(ctx context.Context, in *looprpc.Q } // GetLoopInQuote indicates an expected call of GetLoopInQuote. -func (mr *MockSwapClientClientMockRecorder) GetLoopInQuote(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) GetLoopInQuote(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLoopInQuote", reflect.TypeOf((*MockSwapClientClient)(nil).GetLoopInQuote), varargs...) } // GetLoopInTerms mocks base method. func (m *MockSwapClientClient) GetLoopInTerms(ctx context.Context, in *looprpc.TermsRequest, opts ...grpc.CallOption) (*looprpc.InTermsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -111,16 +136,16 @@ func (m *MockSwapClientClient) GetLoopInTerms(ctx context.Context, in *looprpc.T } // GetLoopInTerms indicates an expected call of GetLoopInTerms. -func (mr *MockSwapClientClientMockRecorder) GetLoopInTerms(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) GetLoopInTerms(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLoopInTerms", reflect.TypeOf((*MockSwapClientClient)(nil).GetLoopInTerms), varargs...) } // GetLsatTokens mocks base method. func (m *MockSwapClientClient) GetLsatTokens(ctx context.Context, in *looprpc.TokensRequest, opts ...grpc.CallOption) (*looprpc.TokensResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -131,16 +156,76 @@ func (m *MockSwapClientClient) GetLsatTokens(ctx context.Context, in *looprpc.To } // GetLsatTokens indicates an expected call of GetLsatTokens. -func (mr *MockSwapClientClientMockRecorder) GetLsatTokens(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) GetLsatTokens(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLsatTokens", reflect.TypeOf((*MockSwapClientClient)(nil).GetLsatTokens), varargs...) } +// InstantOut mocks base method. +func (m *MockSwapClientClient) InstantOut(ctx context.Context, in *looprpc.InstantOutRequest, opts ...grpc.CallOption) (*looprpc.InstantOutResponse, error) { + m.ctrl.T.Helper() + varargs := []any{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "InstantOut", varargs...) + ret0, _ := ret[0].(*looprpc.InstantOutResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// InstantOut indicates an expected call of InstantOut. +func (mr *MockSwapClientClientMockRecorder) InstantOut(ctx, in any, opts ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InstantOut", reflect.TypeOf((*MockSwapClientClient)(nil).InstantOut), varargs...) +} + +// InstantOutQuote mocks base method. +func (m *MockSwapClientClient) InstantOutQuote(ctx context.Context, in *looprpc.InstantOutQuoteRequest, opts ...grpc.CallOption) (*looprpc.InstantOutQuoteResponse, error) { + m.ctrl.T.Helper() + varargs := []any{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "InstantOutQuote", varargs...) + ret0, _ := ret[0].(*looprpc.InstantOutQuoteResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// InstantOutQuote indicates an expected call of InstantOutQuote. +func (mr *MockSwapClientClientMockRecorder) InstantOutQuote(ctx, in any, opts ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InstantOutQuote", reflect.TypeOf((*MockSwapClientClient)(nil).InstantOutQuote), varargs...) +} + +// ListReservations mocks base method. +func (m *MockSwapClientClient) ListReservations(ctx context.Context, in *looprpc.ListReservationsRequest, opts ...grpc.CallOption) (*looprpc.ListReservationsResponse, error) { + m.ctrl.T.Helper() + varargs := []any{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListReservations", varargs...) + ret0, _ := ret[0].(*looprpc.ListReservationsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListReservations indicates an expected call of ListReservations. +func (mr *MockSwapClientClientMockRecorder) ListReservations(ctx, in any, opts ...any) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]any{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListReservations", reflect.TypeOf((*MockSwapClientClient)(nil).ListReservations), varargs...) +} + // ListSwaps mocks base method. func (m *MockSwapClientClient) ListSwaps(ctx context.Context, in *looprpc.ListSwapsRequest, opts ...grpc.CallOption) (*looprpc.ListSwapsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -151,16 +236,16 @@ func (m *MockSwapClientClient) ListSwaps(ctx context.Context, in *looprpc.ListSw } // ListSwaps indicates an expected call of ListSwaps. -func (mr *MockSwapClientClientMockRecorder) ListSwaps(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) ListSwaps(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSwaps", reflect.TypeOf((*MockSwapClientClient)(nil).ListSwaps), varargs...) } // LoopIn mocks base method. func (m *MockSwapClientClient) LoopIn(ctx context.Context, in *looprpc.LoopInRequest, opts ...grpc.CallOption) (*looprpc.SwapResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -171,16 +256,16 @@ func (m *MockSwapClientClient) LoopIn(ctx context.Context, in *looprpc.LoopInReq } // LoopIn indicates an expected call of LoopIn. -func (mr *MockSwapClientClientMockRecorder) LoopIn(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) LoopIn(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoopIn", reflect.TypeOf((*MockSwapClientClient)(nil).LoopIn), varargs...) } // LoopOut mocks base method. func (m *MockSwapClientClient) LoopOut(ctx context.Context, in *looprpc.LoopOutRequest, opts ...grpc.CallOption) (*looprpc.SwapResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -191,16 +276,16 @@ func (m *MockSwapClientClient) LoopOut(ctx context.Context, in *looprpc.LoopOutR } // LoopOut indicates an expected call of LoopOut. -func (mr *MockSwapClientClientMockRecorder) LoopOut(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) LoopOut(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoopOut", reflect.TypeOf((*MockSwapClientClient)(nil).LoopOut), varargs...) } // LoopOutQuote mocks base method. func (m *MockSwapClientClient) LoopOutQuote(ctx context.Context, in *looprpc.QuoteRequest, opts ...grpc.CallOption) (*looprpc.OutQuoteResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -211,16 +296,16 @@ func (m *MockSwapClientClient) LoopOutQuote(ctx context.Context, in *looprpc.Quo } // LoopOutQuote indicates an expected call of LoopOutQuote. -func (mr *MockSwapClientClientMockRecorder) LoopOutQuote(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) LoopOutQuote(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoopOutQuote", reflect.TypeOf((*MockSwapClientClient)(nil).LoopOutQuote), varargs...) } // LoopOutTerms mocks base method. func (m *MockSwapClientClient) LoopOutTerms(ctx context.Context, in *looprpc.TermsRequest, opts ...grpc.CallOption) (*looprpc.OutTermsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -231,16 +316,16 @@ func (m *MockSwapClientClient) LoopOutTerms(ctx context.Context, in *looprpc.Ter } // LoopOutTerms indicates an expected call of LoopOutTerms. -func (mr *MockSwapClientClientMockRecorder) LoopOutTerms(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) LoopOutTerms(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoopOutTerms", reflect.TypeOf((*MockSwapClientClient)(nil).LoopOutTerms), varargs...) } // Monitor mocks base method. func (m *MockSwapClientClient) Monitor(ctx context.Context, in *looprpc.MonitorRequest, opts ...grpc.CallOption) (looprpc.SwapClient_MonitorClient, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -251,16 +336,16 @@ func (m *MockSwapClientClient) Monitor(ctx context.Context, in *looprpc.MonitorR } // Monitor indicates an expected call of Monitor. -func (mr *MockSwapClientClientMockRecorder) Monitor(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) Monitor(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Monitor", reflect.TypeOf((*MockSwapClientClient)(nil).Monitor), varargs...) } // Probe mocks base method. func (m *MockSwapClientClient) Probe(ctx context.Context, in *looprpc.ProbeRequest, opts ...grpc.CallOption) (*looprpc.ProbeResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -271,16 +356,16 @@ func (m *MockSwapClientClient) Probe(ctx context.Context, in *looprpc.ProbeReque } // Probe indicates an expected call of Probe. -func (mr *MockSwapClientClientMockRecorder) Probe(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) Probe(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Probe", reflect.TypeOf((*MockSwapClientClient)(nil).Probe), varargs...) } // SetLiquidityParams mocks base method. func (m *MockSwapClientClient) SetLiquidityParams(ctx context.Context, in *looprpc.SetLiquidityParamsRequest, opts ...grpc.CallOption) (*looprpc.SetLiquidityParamsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -291,16 +376,16 @@ func (m *MockSwapClientClient) SetLiquidityParams(ctx context.Context, in *loopr } // SetLiquidityParams indicates an expected call of SetLiquidityParams. -func (mr *MockSwapClientClientMockRecorder) SetLiquidityParams(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) SetLiquidityParams(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetLiquidityParams", reflect.TypeOf((*MockSwapClientClient)(nil).SetLiquidityParams), varargs...) } // SuggestSwaps mocks base method. func (m *MockSwapClientClient) SuggestSwaps(ctx context.Context, in *looprpc.SuggestSwapsRequest, opts ...grpc.CallOption) (*looprpc.SuggestSwapsResponse, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -311,16 +396,16 @@ func (m *MockSwapClientClient) SuggestSwaps(ctx context.Context, in *looprpc.Sug } // SuggestSwaps indicates an expected call of SuggestSwaps. -func (mr *MockSwapClientClientMockRecorder) SuggestSwaps(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) SuggestSwaps(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SuggestSwaps", reflect.TypeOf((*MockSwapClientClient)(nil).SuggestSwaps), varargs...) } // SwapInfo mocks base method. func (m *MockSwapClientClient) SwapInfo(ctx context.Context, in *looprpc.SwapInfoRequest, opts ...grpc.CallOption) (*looprpc.SwapStatus, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, in} + varargs := []any{ctx, in} for _, a := range opts { varargs = append(varargs, a) } @@ -331,9 +416,9 @@ func (m *MockSwapClientClient) SwapInfo(ctx context.Context, in *looprpc.SwapInf } // SwapInfo indicates an expected call of SwapInfo. -func (mr *MockSwapClientClientMockRecorder) SwapInfo(ctx, in interface{}, opts ...interface{}) *gomock.Call { +func (mr *MockSwapClientClientMockRecorder) SwapInfo(ctx, in any, opts ...any) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, in}, opts...) + varargs := append([]any{ctx, in}, opts...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SwapInfo", reflect.TypeOf((*MockSwapClientClient)(nil).SwapInfo), varargs...) } @@ -419,7 +504,7 @@ func (mr *MockSwapClient_MonitorClientMockRecorder) Recv() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockSwapClient_MonitorClient) RecvMsg(m interface{}) error { +func (m_2 *MockSwapClient_MonitorClient) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -427,13 +512,13 @@ func (m_2 *MockSwapClient_MonitorClient) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockSwapClient_MonitorClientMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockSwapClient_MonitorClientMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockSwapClient_MonitorClient)(nil).RecvMsg), m) } // SendMsg mocks base method. -func (m_2 *MockSwapClient_MonitorClient) SendMsg(m interface{}) error { +func (m_2 *MockSwapClient_MonitorClient) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -441,7 +526,7 @@ func (m_2 *MockSwapClient_MonitorClient) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockSwapClient_MonitorClientMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockSwapClient_MonitorClientMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockSwapClient_MonitorClient)(nil).SendMsg), m) } @@ -483,6 +568,21 @@ func (m *MockSwapClientServer) EXPECT() *MockSwapClientServerMockRecorder { return m.recorder } +// AbandonSwap mocks base method. +func (m *MockSwapClientServer) AbandonSwap(arg0 context.Context, arg1 *looprpc.AbandonSwapRequest) (*looprpc.AbandonSwapResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AbandonSwap", arg0, arg1) + ret0, _ := ret[0].(*looprpc.AbandonSwapResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AbandonSwap indicates an expected call of AbandonSwap. +func (mr *MockSwapClientServerMockRecorder) AbandonSwap(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AbandonSwap", reflect.TypeOf((*MockSwapClientServer)(nil).AbandonSwap), arg0, arg1) +} + // GetInfo mocks base method. func (m *MockSwapClientServer) GetInfo(arg0 context.Context, arg1 *looprpc.GetInfoRequest) (*looprpc.GetInfoResponse, error) { m.ctrl.T.Helper() @@ -493,7 +593,7 @@ func (m *MockSwapClientServer) GetInfo(arg0 context.Context, arg1 *looprpc.GetIn } // GetInfo indicates an expected call of GetInfo. -func (mr *MockSwapClientServerMockRecorder) GetInfo(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) GetInfo(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetInfo", reflect.TypeOf((*MockSwapClientServer)(nil).GetInfo), arg0, arg1) } @@ -508,7 +608,7 @@ func (m *MockSwapClientServer) GetLiquidityParams(arg0 context.Context, arg1 *lo } // GetLiquidityParams indicates an expected call of GetLiquidityParams. -func (mr *MockSwapClientServerMockRecorder) GetLiquidityParams(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) GetLiquidityParams(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLiquidityParams", reflect.TypeOf((*MockSwapClientServer)(nil).GetLiquidityParams), arg0, arg1) } @@ -523,7 +623,7 @@ func (m *MockSwapClientServer) GetLoopInQuote(arg0 context.Context, arg1 *looprp } // GetLoopInQuote indicates an expected call of GetLoopInQuote. -func (mr *MockSwapClientServerMockRecorder) GetLoopInQuote(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) GetLoopInQuote(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLoopInQuote", reflect.TypeOf((*MockSwapClientServer)(nil).GetLoopInQuote), arg0, arg1) } @@ -538,7 +638,7 @@ func (m *MockSwapClientServer) GetLoopInTerms(arg0 context.Context, arg1 *looprp } // GetLoopInTerms indicates an expected call of GetLoopInTerms. -func (mr *MockSwapClientServerMockRecorder) GetLoopInTerms(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) GetLoopInTerms(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLoopInTerms", reflect.TypeOf((*MockSwapClientServer)(nil).GetLoopInTerms), arg0, arg1) } @@ -553,11 +653,56 @@ func (m *MockSwapClientServer) GetLsatTokens(arg0 context.Context, arg1 *looprpc } // GetLsatTokens indicates an expected call of GetLsatTokens. -func (mr *MockSwapClientServerMockRecorder) GetLsatTokens(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) GetLsatTokens(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetLsatTokens", reflect.TypeOf((*MockSwapClientServer)(nil).GetLsatTokens), arg0, arg1) } +// InstantOut mocks base method. +func (m *MockSwapClientServer) InstantOut(arg0 context.Context, arg1 *looprpc.InstantOutRequest) (*looprpc.InstantOutResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "InstantOut", arg0, arg1) + ret0, _ := ret[0].(*looprpc.InstantOutResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// InstantOut indicates an expected call of InstantOut. +func (mr *MockSwapClientServerMockRecorder) InstantOut(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InstantOut", reflect.TypeOf((*MockSwapClientServer)(nil).InstantOut), arg0, arg1) +} + +// InstantOutQuote mocks base method. +func (m *MockSwapClientServer) InstantOutQuote(arg0 context.Context, arg1 *looprpc.InstantOutQuoteRequest) (*looprpc.InstantOutQuoteResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "InstantOutQuote", arg0, arg1) + ret0, _ := ret[0].(*looprpc.InstantOutQuoteResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// InstantOutQuote indicates an expected call of InstantOutQuote. +func (mr *MockSwapClientServerMockRecorder) InstantOutQuote(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InstantOutQuote", reflect.TypeOf((*MockSwapClientServer)(nil).InstantOutQuote), arg0, arg1) +} + +// ListReservations mocks base method. +func (m *MockSwapClientServer) ListReservations(arg0 context.Context, arg1 *looprpc.ListReservationsRequest) (*looprpc.ListReservationsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListReservations", arg0, arg1) + ret0, _ := ret[0].(*looprpc.ListReservationsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListReservations indicates an expected call of ListReservations. +func (mr *MockSwapClientServerMockRecorder) ListReservations(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListReservations", reflect.TypeOf((*MockSwapClientServer)(nil).ListReservations), arg0, arg1) +} + // ListSwaps mocks base method. func (m *MockSwapClientServer) ListSwaps(arg0 context.Context, arg1 *looprpc.ListSwapsRequest) (*looprpc.ListSwapsResponse, error) { m.ctrl.T.Helper() @@ -568,7 +713,7 @@ func (m *MockSwapClientServer) ListSwaps(arg0 context.Context, arg1 *looprpc.Lis } // ListSwaps indicates an expected call of ListSwaps. -func (mr *MockSwapClientServerMockRecorder) ListSwaps(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) ListSwaps(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSwaps", reflect.TypeOf((*MockSwapClientServer)(nil).ListSwaps), arg0, arg1) } @@ -583,7 +728,7 @@ func (m *MockSwapClientServer) LoopIn(arg0 context.Context, arg1 *looprpc.LoopIn } // LoopIn indicates an expected call of LoopIn. -func (mr *MockSwapClientServerMockRecorder) LoopIn(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) LoopIn(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoopIn", reflect.TypeOf((*MockSwapClientServer)(nil).LoopIn), arg0, arg1) } @@ -598,7 +743,7 @@ func (m *MockSwapClientServer) LoopOut(arg0 context.Context, arg1 *looprpc.LoopO } // LoopOut indicates an expected call of LoopOut. -func (mr *MockSwapClientServerMockRecorder) LoopOut(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) LoopOut(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoopOut", reflect.TypeOf((*MockSwapClientServer)(nil).LoopOut), arg0, arg1) } @@ -613,7 +758,7 @@ func (m *MockSwapClientServer) LoopOutQuote(arg0 context.Context, arg1 *looprpc. } // LoopOutQuote indicates an expected call of LoopOutQuote. -func (mr *MockSwapClientServerMockRecorder) LoopOutQuote(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) LoopOutQuote(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoopOutQuote", reflect.TypeOf((*MockSwapClientServer)(nil).LoopOutQuote), arg0, arg1) } @@ -628,7 +773,7 @@ func (m *MockSwapClientServer) LoopOutTerms(arg0 context.Context, arg1 *looprpc. } // LoopOutTerms indicates an expected call of LoopOutTerms. -func (mr *MockSwapClientServerMockRecorder) LoopOutTerms(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) LoopOutTerms(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "LoopOutTerms", reflect.TypeOf((*MockSwapClientServer)(nil).LoopOutTerms), arg0, arg1) } @@ -642,7 +787,7 @@ func (m *MockSwapClientServer) Monitor(arg0 *looprpc.MonitorRequest, arg1 looprp } // Monitor indicates an expected call of Monitor. -func (mr *MockSwapClientServerMockRecorder) Monitor(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) Monitor(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Monitor", reflect.TypeOf((*MockSwapClientServer)(nil).Monitor), arg0, arg1) } @@ -657,7 +802,7 @@ func (m *MockSwapClientServer) Probe(arg0 context.Context, arg1 *looprpc.ProbeRe } // Probe indicates an expected call of Probe. -func (mr *MockSwapClientServerMockRecorder) Probe(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) Probe(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Probe", reflect.TypeOf((*MockSwapClientServer)(nil).Probe), arg0, arg1) } @@ -672,7 +817,7 @@ func (m *MockSwapClientServer) SetLiquidityParams(arg0 context.Context, arg1 *lo } // SetLiquidityParams indicates an expected call of SetLiquidityParams. -func (mr *MockSwapClientServerMockRecorder) SetLiquidityParams(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) SetLiquidityParams(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetLiquidityParams", reflect.TypeOf((*MockSwapClientServer)(nil).SetLiquidityParams), arg0, arg1) } @@ -687,7 +832,7 @@ func (m *MockSwapClientServer) SuggestSwaps(arg0 context.Context, arg1 *looprpc. } // SuggestSwaps indicates an expected call of SuggestSwaps. -func (mr *MockSwapClientServerMockRecorder) SuggestSwaps(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) SuggestSwaps(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SuggestSwaps", reflect.TypeOf((*MockSwapClientServer)(nil).SuggestSwaps), arg0, arg1) } @@ -702,7 +847,7 @@ func (m *MockSwapClientServer) SwapInfo(arg0 context.Context, arg1 *looprpc.Swap } // SwapInfo indicates an expected call of SwapInfo. -func (mr *MockSwapClientServerMockRecorder) SwapInfo(arg0, arg1 interface{}) *gomock.Call { +func (mr *MockSwapClientServerMockRecorder) SwapInfo(arg0, arg1 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SwapInfo", reflect.TypeOf((*MockSwapClientServer)(nil).SwapInfo), arg0, arg1) } @@ -792,7 +937,7 @@ func (mr *MockSwapClient_MonitorServerMockRecorder) Context() *gomock.Call { } // RecvMsg mocks base method. -func (m_2 *MockSwapClient_MonitorServer) RecvMsg(m interface{}) error { +func (m_2 *MockSwapClient_MonitorServer) RecvMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "RecvMsg", m) ret0, _ := ret[0].(error) @@ -800,7 +945,7 @@ func (m_2 *MockSwapClient_MonitorServer) RecvMsg(m interface{}) error { } // RecvMsg indicates an expected call of RecvMsg. -func (mr *MockSwapClient_MonitorServerMockRecorder) RecvMsg(m interface{}) *gomock.Call { +func (mr *MockSwapClient_MonitorServerMockRecorder) RecvMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecvMsg", reflect.TypeOf((*MockSwapClient_MonitorServer)(nil).RecvMsg), m) } @@ -814,7 +959,7 @@ func (m *MockSwapClient_MonitorServer) Send(arg0 *looprpc.SwapStatus) error { } // Send indicates an expected call of Send. -func (mr *MockSwapClient_MonitorServerMockRecorder) Send(arg0 interface{}) *gomock.Call { +func (mr *MockSwapClient_MonitorServerMockRecorder) Send(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Send", reflect.TypeOf((*MockSwapClient_MonitorServer)(nil).Send), arg0) } @@ -828,13 +973,13 @@ func (m *MockSwapClient_MonitorServer) SendHeader(arg0 metadata.MD) error { } // SendHeader indicates an expected call of SendHeader. -func (mr *MockSwapClient_MonitorServerMockRecorder) SendHeader(arg0 interface{}) *gomock.Call { +func (mr *MockSwapClient_MonitorServerMockRecorder) SendHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendHeader", reflect.TypeOf((*MockSwapClient_MonitorServer)(nil).SendHeader), arg0) } // SendMsg mocks base method. -func (m_2 *MockSwapClient_MonitorServer) SendMsg(m interface{}) error { +func (m_2 *MockSwapClient_MonitorServer) SendMsg(m any) error { m_2.ctrl.T.Helper() ret := m_2.ctrl.Call(m_2, "SendMsg", m) ret0, _ := ret[0].(error) @@ -842,7 +987,7 @@ func (m_2 *MockSwapClient_MonitorServer) SendMsg(m interface{}) error { } // SendMsg indicates an expected call of SendMsg. -func (mr *MockSwapClient_MonitorServerMockRecorder) SendMsg(m interface{}) *gomock.Call { +func (mr *MockSwapClient_MonitorServerMockRecorder) SendMsg(m any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SendMsg", reflect.TypeOf((*MockSwapClient_MonitorServer)(nil).SendMsg), m) } @@ -856,7 +1001,7 @@ func (m *MockSwapClient_MonitorServer) SetHeader(arg0 metadata.MD) error { } // SetHeader indicates an expected call of SetHeader. -func (mr *MockSwapClient_MonitorServerMockRecorder) SetHeader(arg0 interface{}) *gomock.Call { +func (mr *MockSwapClient_MonitorServerMockRecorder) SetHeader(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetHeader", reflect.TypeOf((*MockSwapClient_MonitorServer)(nil).SetHeader), arg0) } @@ -868,7 +1013,7 @@ func (m *MockSwapClient_MonitorServer) SetTrailer(arg0 metadata.MD) { } // SetTrailer indicates an expected call of SetTrailer. -func (mr *MockSwapClient_MonitorServerMockRecorder) SetTrailer(arg0 interface{}) *gomock.Call { +func (mr *MockSwapClient_MonitorServerMockRecorder) SetTrailer(arg0 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetTrailer", reflect.TypeOf((*MockSwapClient_MonitorServer)(nil).SetTrailer), arg0) } diff --git a/provider/provider_mock.go b/provider/provider_mock.go index 228a86e..da714c0 100644 --- a/provider/provider_mock.go +++ b/provider/provider_mock.go @@ -1,5 +1,10 @@ // Code generated by MockGen. DO NOT EDIT. // Source: provider/provider.go +// +// Generated by this command: +// +// mockgen -destination ./provider/provider_mock.go -source provider/provider.go -package provider +// // Package provider is a generated GoMock package. package provider @@ -8,8 +13,8 @@ import ( context "context" reflect "reflect" - gomock "github.com/golang/mock/gomock" looprpc "github.com/lightninglabs/loop/looprpc" + gomock "go.uber.org/mock/gomock" ) // MockProvider is a mock of Provider interface. @@ -45,7 +50,7 @@ func (m *MockProvider) GetSwapStatus(arg0 context.Context, arg1 string, arg2 loo } // GetSwapStatus indicates an expected call of GetSwapStatus. -func (mr *MockProviderMockRecorder) GetSwapStatus(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockProviderMockRecorder) GetSwapStatus(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSwapStatus", reflect.TypeOf((*MockProvider)(nil).GetSwapStatus), arg0, arg1, arg2) } @@ -60,7 +65,7 @@ func (m *MockProvider) MonitorSwap(arg0 context.Context, arg1 string, arg2 loopr } // MonitorSwap indicates an expected call of MonitorSwap. -func (mr *MockProviderMockRecorder) MonitorSwap(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockProviderMockRecorder) MonitorSwap(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "MonitorSwap", reflect.TypeOf((*MockProvider)(nil).MonitorSwap), arg0, arg1, arg2) } @@ -75,7 +80,7 @@ func (m *MockProvider) RequestReverseSubmarineSwap(arg0 context.Context, arg1 Re } // RequestReverseSubmarineSwap indicates an expected call of RequestReverseSubmarineSwap. -func (mr *MockProviderMockRecorder) RequestReverseSubmarineSwap(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockProviderMockRecorder) RequestReverseSubmarineSwap(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestReverseSubmarineSwap", reflect.TypeOf((*MockProvider)(nil).RequestReverseSubmarineSwap), arg0, arg1, arg2) } @@ -90,7 +95,7 @@ func (m *MockProvider) RequestSubmarineSwap(arg0 context.Context, arg1 Submarine } // RequestSubmarineSwap indicates an expected call of RequestSubmarineSwap. -func (mr *MockProviderMockRecorder) RequestSubmarineSwap(arg0, arg1, arg2 interface{}) *gomock.Call { +func (mr *MockProviderMockRecorder) RequestSubmarineSwap(arg0, arg1, arg2 any) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestSubmarineSwap", reflect.TypeOf((*MockProvider)(nil).RequestSubmarineSwap), arg0, arg1, arg2) } diff --git a/regtest.polar.zip b/regtest.polar.zip index 390b8c3..ed4f11b 100644 Binary files a/regtest.polar.zip and b/regtest.polar.zip differ diff --git a/rpc/nodeguard.proto b/rpc/nodeguard.proto index ad8934f..e3b6de4 100644 --- a/rpc/nodeguard.proto +++ b/rpc/nodeguard.proto @@ -86,6 +86,7 @@ message GetLiquidityRulesResponse { message LiquidityRule { uint64 channel_id = 1; + // Public key of the node that is the managed node of the channel string node_pubkey = 2; int32 swap_wallet_id = 3; optional int32 reverse_swap_wallet_id = 4; @@ -94,6 +95,8 @@ message LiquidityRule { float rebalance_target = 7; optional string reverse_swap_address = 8; bool is_reverse_swap_wallet_rule = 9; + // Public key of the node that is the counterparty of the channel + string remote_node_pubkey = 10; } message GetNewWalletAddressRequest { int32 wallet_id = 1; } diff --git a/structs.go b/structs.go index c39e520..4bcc837 100644 --- a/structs.go +++ b/structs.go @@ -9,38 +9,34 @@ import ( "github.com/lightningnetwork/lnd/lnrpc" ) +type BaseInfo struct { + nodeHost string + nodeInfo lnrpc.GetInfoResponse + nodeMacaroon string + loopdMacaroon string + lightningClients map[string]lnrpc.LightningClient + nodeguardClient nodeguard.NodeGuardServiceClient + swapClient looprpc.SwapClientClient + // nodeCtxs is a map of contexts for each node, the context has the macaroon attached + nodeCtxs map[string]context.Context + provider provider.Provider +} + type MonitorChannelsInfo struct { - nodeHost string - nodeInfo lnrpc.GetInfoResponse - nodeMacaroon string - loopdMacaroon string - lightningClient lnrpc.LightningClient - nodeguardClient nodeguard.NodeGuardServiceClient - swapClient looprpc.SwapClientClient - nodeCtx context.Context + BaseInfo } type MonitorChannelInfo struct { + BaseInfo channel *lnrpc.Channel - nodeHost string - lightningClient lnrpc.LightningClient context context.Context liquidationRules map[uint64][]nodeguard.LiquidityRule - swapClient looprpc.SwapClientClient - nodeguardClient nodeguard.NodeGuardServiceClient - loopProvider provider.Provider - loopdMacaroon string - nodeInfo lnrpc.GetInfoResponse } type ManageChannelLiquidityInfo struct { + BaseInfo channel *lnrpc.Channel channelBalanceRatio float64 channelRules *[]nodeguard.LiquidityRule - swapClientClient looprpc.SwapClientClient - nodeguardClient nodeguard.NodeGuardServiceClient - loopProvider provider.Provider - loopdMacaroon string - nodeInfo lnrpc.GetInfoResponse ctx context.Context }