lnrpc 0.9.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/Gemfile.lock +24 -24
  4. data/README.md +30 -16
  5. data/examples.rb +13 -6
  6. data/generate-grpc-service-files.sh +29 -0
  7. data/lib/grpc_services/autopilotrpc/autopilot_pb.rb +48 -0
  8. data/lib/grpc_services/autopilotrpc/autopilot_services_pb.rb +40 -0
  9. data/lib/grpc_services/chainrpc/chainnotifier_pb.rb +67 -0
  10. data/lib/grpc_services/chainrpc/chainnotifier_services_pb.rb +51 -0
  11. data/lib/grpc_services/invoicesrpc/invoices_pb.rb +48 -0
  12. data/lib/grpc_services/invoicesrpc/invoices_services_pb.rb +41 -0
  13. data/lib/grpc_services/lnclipb/lncli_pb.rb +18 -0
  14. data/lib/grpc_services/routerrpc/router_pb.rb +277 -0
  15. data/lib/grpc_services/routerrpc/router_services_pb.rb +105 -0
  16. data/lib/grpc_services/rpc_pb.rb +1388 -0
  17. data/lib/{lnrpc → grpc_services}/rpc_services_pb.rb +165 -178
  18. data/lib/grpc_services/signrpc/signer_pb.rb +84 -0
  19. data/lib/grpc_services/signrpc/signer_services_pb.rb +69 -0
  20. data/lib/grpc_services/verrpc/verrpc_pb.rb +27 -0
  21. data/lib/grpc_services/verrpc/verrpc_services_pb.rb +27 -0
  22. data/lib/grpc_services/walletrpc/walletkit_pb.rb +254 -0
  23. data/lib/grpc_services/walletrpc/walletkit_services_pb.rb +188 -0
  24. data/lib/grpc_services/walletunlocker_pb.rb +57 -0
  25. data/lib/grpc_services/walletunlocker_services_pb.rb +72 -0
  26. data/lib/grpc_services/watchtowerrpc/watchtower_pb.rb +21 -0
  27. data/lib/grpc_services/watchtowerrpc/watchtower_services_pb.rb +28 -0
  28. data/lib/grpc_services/wtclientrpc/wtclient_pb.rb +83 -0
  29. data/lib/grpc_services/wtclientrpc/wtclient_services_pb.rb +43 -0
  30. data/lib/lnrpc.rb +19 -3
  31. data/lib/lnrpc/client.rb +62 -46
  32. data/lib/lnrpc/grpc_wrapper.rb +43 -0
  33. data/lib/lnrpc/version.rb +1 -1
  34. data/lnrpc.gemspec +7 -5
  35. metadata +41 -17
  36. data/lib/lnrpc/rpc.proto +0 -3075
  37. data/lib/lnrpc/rpc_pb.rb +0 -1082
@@ -0,0 +1,188 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: walletrpc/walletkit.proto for package 'walletrpc'
3
+
4
+ require 'grpc'
5
+ require 'walletrpc/walletkit_pb'
6
+
7
+ module Walletrpc
8
+ module WalletKit
9
+ # WalletKit is a service that gives access to the core functionalities of the
10
+ # daemon's wallet.
11
+ class Service
12
+
13
+ include ::GRPC::GenericService
14
+
15
+ self.marshal_class_method = :encode
16
+ self.unmarshal_class_method = :decode
17
+ self.service_name = 'walletrpc.WalletKit'
18
+
19
+ #
20
+ # ListUnspent returns a list of all utxos spendable by the wallet with a
21
+ # number of confirmations between the specified minimum and maximum.
22
+ rpc :ListUnspent, ::Walletrpc::ListUnspentRequest, ::Walletrpc::ListUnspentResponse
23
+ #
24
+ # LeaseOutput locks an output to the given ID, preventing it from being
25
+ # available for any future coin selection attempts. The absolute time of the
26
+ # lock's expiration is returned. The expiration of the lock can be extended by
27
+ # successive invocations of this RPC. Outputs can be unlocked before their
28
+ # expiration through `ReleaseOutput`.
29
+ rpc :LeaseOutput, ::Walletrpc::LeaseOutputRequest, ::Walletrpc::LeaseOutputResponse
30
+ #
31
+ # ReleaseOutput unlocks an output, allowing it to be available for coin
32
+ # selection if it remains unspent. The ID should match the one used to
33
+ # originally lock the output.
34
+ rpc :ReleaseOutput, ::Walletrpc::ReleaseOutputRequest, ::Walletrpc::ReleaseOutputResponse
35
+ #
36
+ # ListLeases lists all currently locked utxos.
37
+ rpc :ListLeases, ::Walletrpc::ListLeasesRequest, ::Walletrpc::ListLeasesResponse
38
+ #
39
+ # DeriveNextKey attempts to derive the *next* key within the key family
40
+ # (account in BIP43) specified. This method should return the next external
41
+ # child within this branch.
42
+ rpc :DeriveNextKey, ::Walletrpc::KeyReq, ::Signrpc::KeyDescriptor
43
+ #
44
+ # DeriveKey attempts to derive an arbitrary key specified by the passed
45
+ # KeyLocator.
46
+ rpc :DeriveKey, ::Signrpc::KeyLocator, ::Signrpc::KeyDescriptor
47
+ #
48
+ # NextAddr returns the next unused address within the wallet.
49
+ rpc :NextAddr, ::Walletrpc::AddrRequest, ::Walletrpc::AddrResponse
50
+ #
51
+ # ListAccounts retrieves all accounts belonging to the wallet by default. A
52
+ # name and key scope filter can be provided to filter through all of the
53
+ # wallet accounts and return only those matching.
54
+ rpc :ListAccounts, ::Walletrpc::ListAccountsRequest, ::Walletrpc::ListAccountsResponse
55
+ #
56
+ # ImportAccount imports an account backed by an account extended public key.
57
+ # The master key fingerprint denotes the fingerprint of the root key
58
+ # corresponding to the account public key (also known as the key with
59
+ # derivation path m/). This may be required by some hardware wallets for
60
+ # proper identification and signing.
61
+ #
62
+ # The address type can usually be inferred from the key's version, but may be
63
+ # required for certain keys to map them into the proper scope.
64
+ #
65
+ # For BIP-0044 keys, an address type must be specified as we intend to not
66
+ # support importing BIP-0044 keys into the wallet using the legacy
67
+ # pay-to-pubkey-hash (P2PKH) scheme. A nested witness address type will force
68
+ # the standard BIP-0049 derivation scheme, while a witness address type will
69
+ # force the standard BIP-0084 derivation scheme.
70
+ #
71
+ # For BIP-0049 keys, an address type must also be specified to make a
72
+ # distinction between the standard BIP-0049 address schema (nested witness
73
+ # pubkeys everywhere) and our own BIP-0049Plus address schema (nested pubkeys
74
+ # externally, witness pubkeys internally).
75
+ #
76
+ # NOTE: Events (deposits/spends) for keys derived from an account will only be
77
+ # detected by lnd if they happen after the import. Rescans to detect past
78
+ # events will be supported later on.
79
+ rpc :ImportAccount, ::Walletrpc::ImportAccountRequest, ::Walletrpc::ImportAccountResponse
80
+ #
81
+ # ImportPublicKey imports a public key as watch-only into the wallet.
82
+ #
83
+ # NOTE: Events (deposits/spends) for a key will only be detected by lnd if
84
+ # they happen after the import. Rescans to detect past events will be
85
+ # supported later on.
86
+ rpc :ImportPublicKey, ::Walletrpc::ImportPublicKeyRequest, ::Walletrpc::ImportPublicKeyResponse
87
+ #
88
+ # PublishTransaction attempts to publish the passed transaction to the
89
+ # network. Once this returns without an error, the wallet will continually
90
+ # attempt to re-broadcast the transaction on start up, until it enters the
91
+ # chain.
92
+ rpc :PublishTransaction, ::Walletrpc::Transaction, ::Walletrpc::PublishResponse
93
+ #
94
+ # SendOutputs is similar to the existing sendmany call in Bitcoind, and
95
+ # allows the caller to create a transaction that sends to several outputs at
96
+ # once. This is ideal when wanting to batch create a set of transactions.
97
+ rpc :SendOutputs, ::Walletrpc::SendOutputsRequest, ::Walletrpc::SendOutputsResponse
98
+ #
99
+ # EstimateFee attempts to query the internal fee estimator of the wallet to
100
+ # determine the fee (in sat/kw) to attach to a transaction in order to
101
+ # achieve the confirmation target.
102
+ rpc :EstimateFee, ::Walletrpc::EstimateFeeRequest, ::Walletrpc::EstimateFeeResponse
103
+ #
104
+ # PendingSweeps returns lists of on-chain outputs that lnd is currently
105
+ # attempting to sweep within its central batching engine. Outputs with similar
106
+ # fee rates are batched together in order to sweep them within a single
107
+ # transaction.
108
+ #
109
+ # NOTE: Some of the fields within PendingSweepsRequest are not guaranteed to
110
+ # remain supported. This is an advanced API that depends on the internals of
111
+ # the UtxoSweeper, so things may change.
112
+ rpc :PendingSweeps, ::Walletrpc::PendingSweepsRequest, ::Walletrpc::PendingSweepsResponse
113
+ #
114
+ # BumpFee bumps the fee of an arbitrary input within a transaction. This RPC
115
+ # takes a different approach than bitcoind's bumpfee command. lnd has a
116
+ # central batching engine in which inputs with similar fee rates are batched
117
+ # together to save on transaction fees. Due to this, we cannot rely on
118
+ # bumping the fee on a specific transaction, since transactions can change at
119
+ # any point with the addition of new inputs. The list of inputs that
120
+ # currently exist within lnd's central batching engine can be retrieved
121
+ # through the PendingSweeps RPC.
122
+ #
123
+ # When bumping the fee of an input that currently exists within lnd's central
124
+ # batching engine, a higher fee transaction will be created that replaces the
125
+ # lower fee transaction through the Replace-By-Fee (RBF) policy. If it
126
+ #
127
+ # This RPC also serves useful when wanting to perform a Child-Pays-For-Parent
128
+ # (CPFP), where the child transaction pays for its parent's fee. This can be
129
+ # done by specifying an outpoint within the low fee transaction that is under
130
+ # the control of the wallet.
131
+ #
132
+ # The fee preference can be expressed either as a specific fee rate or a delta
133
+ # of blocks in which the output should be swept on-chain within. If a fee
134
+ # preference is not explicitly specified, then an error is returned.
135
+ #
136
+ # Note that this RPC currently doesn't perform any validation checks on the
137
+ # fee preference being provided. For now, the responsibility of ensuring that
138
+ # the new fee preference is sufficient is delegated to the user.
139
+ rpc :BumpFee, ::Walletrpc::BumpFeeRequest, ::Walletrpc::BumpFeeResponse
140
+ #
141
+ # ListSweeps returns a list of the sweep transactions our node has produced.
142
+ # Note that these sweeps may not be confirmed yet, as we record sweeps on
143
+ # broadcast, not confirmation.
144
+ rpc :ListSweeps, ::Walletrpc::ListSweepsRequest, ::Walletrpc::ListSweepsResponse
145
+ #
146
+ # LabelTransaction adds a label to a transaction. If the transaction already
147
+ # has a label the call will fail unless the overwrite bool is set. This will
148
+ # overwrite the exiting transaction label. Labels must not be empty, and
149
+ # cannot exceed 500 characters.
150
+ rpc :LabelTransaction, ::Walletrpc::LabelTransactionRequest, ::Walletrpc::LabelTransactionResponse
151
+ #
152
+ # FundPsbt creates a fully populated PSBT that contains enough inputs to fund
153
+ # the outputs specified in the template. There are two ways of specifying a
154
+ # template: Either by passing in a PSBT with at least one output declared or
155
+ # by passing in a raw TxTemplate message.
156
+ #
157
+ # If there are no inputs specified in the template, coin selection is
158
+ # performed automatically. If the template does contain any inputs, it is
159
+ # assumed that full coin selection happened externally and no additional
160
+ # inputs are added. If the specified inputs aren't enough to fund the outputs
161
+ # with the given fee rate, an error is returned.
162
+ #
163
+ # After either selecting or verifying the inputs, all input UTXOs are locked
164
+ # with an internal app ID.
165
+ #
166
+ # NOTE: If this method returns without an error, it is the caller's
167
+ # responsibility to either spend the locked UTXOs (by finalizing and then
168
+ # publishing the transaction) or to unlock/release the locked UTXOs in case of
169
+ # an error on the caller's side.
170
+ rpc :FundPsbt, ::Walletrpc::FundPsbtRequest, ::Walletrpc::FundPsbtResponse
171
+ #
172
+ # FinalizePsbt expects a partial transaction with all inputs and outputs fully
173
+ # declared and tries to sign all inputs that belong to the wallet. Lnd must be
174
+ # the last signer of the transaction. That means, if there are any unsigned
175
+ # non-witness inputs or inputs without UTXO information attached or inputs
176
+ # without witness data that do not belong to lnd's wallet, this method will
177
+ # fail. If no error is returned, the PSBT is ready to be extracted and the
178
+ # final TX within to be broadcast.
179
+ #
180
+ # NOTE: This method does NOT publish the transaction once finalized. It is the
181
+ # caller's responsibility to either publish the transaction on success or
182
+ # unlock/release any locked UTXOs in case of an error in this method.
183
+ rpc :FinalizePsbt, ::Walletrpc::FinalizePsbtRequest, ::Walletrpc::FinalizePsbtResponse
184
+ end
185
+
186
+ Stub = Service.rpc_stub_class
187
+ end
188
+ end
@@ -0,0 +1,57 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: walletunlocker.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'rpc_pb'
7
+ Google::Protobuf::DescriptorPool.generated_pool.build do
8
+ add_file("walletunlocker.proto", :syntax => :proto3) do
9
+ add_message "lnrpc.GenSeedRequest" do
10
+ optional :aezeed_passphrase, :bytes, 1
11
+ optional :seed_entropy, :bytes, 2
12
+ end
13
+ add_message "lnrpc.GenSeedResponse" do
14
+ repeated :cipher_seed_mnemonic, :string, 1
15
+ optional :enciphered_seed, :bytes, 2
16
+ end
17
+ add_message "lnrpc.InitWalletRequest" do
18
+ optional :wallet_password, :bytes, 1
19
+ repeated :cipher_seed_mnemonic, :string, 2
20
+ optional :aezeed_passphrase, :bytes, 3
21
+ optional :recovery_window, :int32, 4
22
+ optional :channel_backups, :message, 5, "lnrpc.ChanBackupSnapshot"
23
+ optional :stateless_init, :bool, 6
24
+ end
25
+ add_message "lnrpc.InitWalletResponse" do
26
+ optional :admin_macaroon, :bytes, 1
27
+ end
28
+ add_message "lnrpc.UnlockWalletRequest" do
29
+ optional :wallet_password, :bytes, 1
30
+ optional :recovery_window, :int32, 2
31
+ optional :channel_backups, :message, 3, "lnrpc.ChanBackupSnapshot"
32
+ optional :stateless_init, :bool, 4
33
+ end
34
+ add_message "lnrpc.UnlockWalletResponse" do
35
+ end
36
+ add_message "lnrpc.ChangePasswordRequest" do
37
+ optional :current_password, :bytes, 1
38
+ optional :new_password, :bytes, 2
39
+ optional :stateless_init, :bool, 3
40
+ optional :new_macaroon_root_key, :bool, 4
41
+ end
42
+ add_message "lnrpc.ChangePasswordResponse" do
43
+ optional :admin_macaroon, :bytes, 1
44
+ end
45
+ end
46
+ end
47
+
48
+ module Lnrpc
49
+ GenSeedRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GenSeedRequest").msgclass
50
+ GenSeedResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GenSeedResponse").msgclass
51
+ InitWalletRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.InitWalletRequest").msgclass
52
+ InitWalletResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.InitWalletResponse").msgclass
53
+ UnlockWalletRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.UnlockWalletRequest").msgclass
54
+ UnlockWalletResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.UnlockWalletResponse").msgclass
55
+ ChangePasswordRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChangePasswordRequest").msgclass
56
+ ChangePasswordResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChangePasswordResponse").msgclass
57
+ end
@@ -0,0 +1,72 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: walletunlocker.proto for package 'lnrpc'
3
+
4
+ require 'grpc'
5
+ require 'walletunlocker_pb'
6
+
7
+ module Lnrpc
8
+ module WalletUnlocker
9
+ #
10
+ # Comments in this file will be directly parsed into the API
11
+ # Documentation as descriptions of the associated method, message, or field.
12
+ # These descriptions should go right above the definition of the object, and
13
+ # can be in either block or // comment format.
14
+ #
15
+ # An RPC method can be matched to an lncli command by placing a line in the
16
+ # beginning of the description in exactly the following format:
17
+ # lncli: `methodname`
18
+ #
19
+ # Failure to specify the exact name of the command will cause documentation
20
+ # generation to fail.
21
+ #
22
+ # More information on how exactly the gRPC documentation is generated from
23
+ # this proto file can be found here:
24
+ # https://github.com/lightninglabs/lightning-api
25
+ #
26
+ # WalletUnlocker is a service that is used to set up a wallet password for
27
+ # lnd at first startup, and unlock a previously set up wallet.
28
+ class Service
29
+
30
+ include ::GRPC::GenericService
31
+
32
+ self.marshal_class_method = :encode
33
+ self.unmarshal_class_method = :decode
34
+ self.service_name = 'lnrpc.WalletUnlocker'
35
+
36
+ #
37
+ # GenSeed is the first method that should be used to instantiate a new lnd
38
+ # instance. This method allows a caller to generate a new aezeed cipher seed
39
+ # given an optional passphrase. If provided, the passphrase will be necessary
40
+ # to decrypt the cipherseed to expose the internal wallet seed.
41
+ #
42
+ # Once the cipherseed is obtained and verified by the user, the InitWallet
43
+ # method should be used to commit the newly generated seed, and create the
44
+ # wallet.
45
+ rpc :GenSeed, ::Lnrpc::GenSeedRequest, ::Lnrpc::GenSeedResponse
46
+ #
47
+ # InitWallet is used when lnd is starting up for the first time to fully
48
+ # initialize the daemon and its internal wallet. At the very least a wallet
49
+ # password must be provided. This will be used to encrypt sensitive material
50
+ # on disk.
51
+ #
52
+ # In the case of a recovery scenario, the user can also specify their aezeed
53
+ # mnemonic and passphrase. If set, then the daemon will use this prior state
54
+ # to initialize its internal wallet.
55
+ #
56
+ # Alternatively, this can be used along with the GenSeed RPC to obtain a
57
+ # seed, then present it to the user. Once it has been verified by the user,
58
+ # the seed can be fed into this RPC in order to commit the new wallet.
59
+ rpc :InitWallet, ::Lnrpc::InitWalletRequest, ::Lnrpc::InitWalletResponse
60
+ # lncli: `unlock`
61
+ # UnlockWallet is used at startup of lnd to provide a password to unlock
62
+ # the wallet database.
63
+ rpc :UnlockWallet, ::Lnrpc::UnlockWalletRequest, ::Lnrpc::UnlockWalletResponse
64
+ # lncli: `changepassword`
65
+ # ChangePassword changes the password of the encrypted wallet. This will
66
+ # automatically unlock the wallet database if successful.
67
+ rpc :ChangePassword, ::Lnrpc::ChangePasswordRequest, ::Lnrpc::ChangePasswordResponse
68
+ end
69
+
70
+ Stub = Service.rpc_stub_class
71
+ end
72
+ end
@@ -0,0 +1,21 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: watchtowerrpc/watchtower.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_file("watchtowerrpc/watchtower.proto", :syntax => :proto3) do
8
+ add_message "watchtowerrpc.GetInfoRequest" do
9
+ end
10
+ add_message "watchtowerrpc.GetInfoResponse" do
11
+ optional :pubkey, :bytes, 1
12
+ repeated :listeners, :string, 2
13
+ repeated :uris, :string, 3
14
+ end
15
+ end
16
+ end
17
+
18
+ module Watchtowerrpc
19
+ GetInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("watchtowerrpc.GetInfoRequest").msgclass
20
+ GetInfoResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("watchtowerrpc.GetInfoResponse").msgclass
21
+ end
@@ -0,0 +1,28 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: watchtowerrpc/watchtower.proto for package 'watchtowerrpc'
3
+
4
+ require 'grpc'
5
+ require 'watchtowerrpc/watchtower_pb'
6
+
7
+ module Watchtowerrpc
8
+ module Watchtower
9
+ # Watchtower is a service that grants access to the watchtower server
10
+ # functionality of the daemon.
11
+ class Service
12
+
13
+ include ::GRPC::GenericService
14
+
15
+ self.marshal_class_method = :encode
16
+ self.unmarshal_class_method = :decode
17
+ self.service_name = 'watchtowerrpc.Watchtower'
18
+
19
+ # lncli: tower info
20
+ # GetInfo returns general information concerning the companion watchtower
21
+ # including its public key and URIs where the server is currently
22
+ # listening for clients.
23
+ rpc :GetInfo, ::Watchtowerrpc::GetInfoRequest, ::Watchtowerrpc::GetInfoResponse
24
+ end
25
+
26
+ Stub = Service.rpc_stub_class
27
+ end
28
+ end
@@ -0,0 +1,83 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: wtclientrpc/wtclient.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ Google::Protobuf::DescriptorPool.generated_pool.build do
7
+ add_file("wtclientrpc/wtclient.proto", :syntax => :proto3) do
8
+ add_message "wtclientrpc.AddTowerRequest" do
9
+ optional :pubkey, :bytes, 1
10
+ optional :address, :string, 2
11
+ end
12
+ add_message "wtclientrpc.AddTowerResponse" do
13
+ end
14
+ add_message "wtclientrpc.RemoveTowerRequest" do
15
+ optional :pubkey, :bytes, 1
16
+ optional :address, :string, 2
17
+ end
18
+ add_message "wtclientrpc.RemoveTowerResponse" do
19
+ end
20
+ add_message "wtclientrpc.GetTowerInfoRequest" do
21
+ optional :pubkey, :bytes, 1
22
+ optional :include_sessions, :bool, 2
23
+ end
24
+ add_message "wtclientrpc.TowerSession" do
25
+ optional :num_backups, :uint32, 1
26
+ optional :num_pending_backups, :uint32, 2
27
+ optional :max_backups, :uint32, 3
28
+ optional :sweep_sat_per_byte, :uint32, 4
29
+ optional :sweep_sat_per_vbyte, :uint32, 5
30
+ end
31
+ add_message "wtclientrpc.Tower" do
32
+ optional :pubkey, :bytes, 1
33
+ repeated :addresses, :string, 2
34
+ optional :active_session_candidate, :bool, 3
35
+ optional :num_sessions, :uint32, 4
36
+ repeated :sessions, :message, 5, "wtclientrpc.TowerSession"
37
+ end
38
+ add_message "wtclientrpc.ListTowersRequest" do
39
+ optional :include_sessions, :bool, 1
40
+ end
41
+ add_message "wtclientrpc.ListTowersResponse" do
42
+ repeated :towers, :message, 1, "wtclientrpc.Tower"
43
+ end
44
+ add_message "wtclientrpc.StatsRequest" do
45
+ end
46
+ add_message "wtclientrpc.StatsResponse" do
47
+ optional :num_backups, :uint32, 1
48
+ optional :num_pending_backups, :uint32, 2
49
+ optional :num_failed_backups, :uint32, 3
50
+ optional :num_sessions_acquired, :uint32, 4
51
+ optional :num_sessions_exhausted, :uint32, 5
52
+ end
53
+ add_message "wtclientrpc.PolicyRequest" do
54
+ optional :policy_type, :enum, 1, "wtclientrpc.PolicyType"
55
+ end
56
+ add_message "wtclientrpc.PolicyResponse" do
57
+ optional :max_updates, :uint32, 1
58
+ optional :sweep_sat_per_byte, :uint32, 2
59
+ optional :sweep_sat_per_vbyte, :uint32, 3
60
+ end
61
+ add_enum "wtclientrpc.PolicyType" do
62
+ value :LEGACY, 0
63
+ value :ANCHOR, 1
64
+ end
65
+ end
66
+ end
67
+
68
+ module Wtclientrpc
69
+ AddTowerRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.AddTowerRequest").msgclass
70
+ AddTowerResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.AddTowerResponse").msgclass
71
+ RemoveTowerRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.RemoveTowerRequest").msgclass
72
+ RemoveTowerResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.RemoveTowerResponse").msgclass
73
+ GetTowerInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.GetTowerInfoRequest").msgclass
74
+ TowerSession = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.TowerSession").msgclass
75
+ Tower = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.Tower").msgclass
76
+ ListTowersRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.ListTowersRequest").msgclass
77
+ ListTowersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.ListTowersResponse").msgclass
78
+ StatsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.StatsRequest").msgclass
79
+ StatsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.StatsResponse").msgclass
80
+ PolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.PolicyRequest").msgclass
81
+ PolicyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.PolicyResponse").msgclass
82
+ PolicyType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.PolicyType").enummodule
83
+ end