lnrpc 0.11.1 → 0.14.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,11 +5,13 @@ require 'google/protobuf'
5
5
 
6
6
  require 'rpc_pb'
7
7
  require 'signrpc/signer_pb'
8
+
8
9
  Google::Protobuf::DescriptorPool.generated_pool.build do
9
10
  add_file("walletrpc/walletkit.proto", :syntax => :proto3) do
10
11
  add_message "walletrpc.ListUnspentRequest" do
11
12
  optional :min_confs, :int32, 1
12
13
  optional :max_confs, :int32, 2
14
+ optional :account, :string, 3
13
15
  end
14
16
  add_message "walletrpc.ListUnspentResponse" do
15
17
  repeated :utxos, :message, 1, "lnrpc.Utxo"
@@ -17,6 +19,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
17
19
  add_message "walletrpc.LeaseOutputRequest" do
18
20
  optional :id, :bytes, 1
19
21
  optional :outpoint, :message, 2, "lnrpc.OutPoint"
22
+ optional :expiration_seconds, :uint64, 3
20
23
  end
21
24
  add_message "walletrpc.LeaseOutputResponse" do
22
25
  optional :expiration, :uint64, 1
@@ -32,10 +35,48 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
32
35
  optional :key_family, :int32, 2
33
36
  end
34
37
  add_message "walletrpc.AddrRequest" do
38
+ optional :account, :string, 1
39
+ optional :type, :enum, 2, "walletrpc.AddressType"
40
+ optional :change, :bool, 3
35
41
  end
36
42
  add_message "walletrpc.AddrResponse" do
37
43
  optional :addr, :string, 1
38
44
  end
45
+ add_message "walletrpc.Account" do
46
+ optional :name, :string, 1
47
+ optional :address_type, :enum, 2, "walletrpc.AddressType"
48
+ optional :extended_public_key, :string, 3
49
+ optional :master_key_fingerprint, :bytes, 4
50
+ optional :derivation_path, :string, 5
51
+ optional :external_key_count, :uint32, 6
52
+ optional :internal_key_count, :uint32, 7
53
+ optional :watch_only, :bool, 8
54
+ end
55
+ add_message "walletrpc.ListAccountsRequest" do
56
+ optional :name, :string, 1
57
+ optional :address_type, :enum, 2, "walletrpc.AddressType"
58
+ end
59
+ add_message "walletrpc.ListAccountsResponse" do
60
+ repeated :accounts, :message, 1, "walletrpc.Account"
61
+ end
62
+ add_message "walletrpc.ImportAccountRequest" do
63
+ optional :name, :string, 1
64
+ optional :extended_public_key, :string, 2
65
+ optional :master_key_fingerprint, :bytes, 3
66
+ optional :address_type, :enum, 4, "walletrpc.AddressType"
67
+ optional :dry_run, :bool, 5
68
+ end
69
+ add_message "walletrpc.ImportAccountResponse" do
70
+ optional :account, :message, 1, "walletrpc.Account"
71
+ repeated :dry_run_external_addrs, :string, 2
72
+ repeated :dry_run_internal_addrs, :string, 3
73
+ end
74
+ add_message "walletrpc.ImportPublicKeyRequest" do
75
+ optional :public_key, :bytes, 1
76
+ optional :address_type, :enum, 2, "walletrpc.AddressType"
77
+ end
78
+ add_message "walletrpc.ImportPublicKeyResponse" do
79
+ end
39
80
  add_message "walletrpc.Transaction" do
40
81
  optional :tx_hex, :bytes, 1
41
82
  optional :label, :string, 2
@@ -47,6 +88,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
47
88
  optional :sat_per_kw, :int64, 1
48
89
  repeated :outputs, :message, 2, "signrpc.TxOut"
49
90
  optional :label, :string, 3
91
+ optional :min_confs, :int32, 4
92
+ optional :spend_unconfirmed, :bool, 5
50
93
  end
51
94
  add_message "walletrpc.SendOutputsResponse" do
52
95
  optional :raw_tx, :bytes, 1
@@ -66,6 +109,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
66
109
  optional :next_broadcast_height, :uint32, 6
67
110
  optional :requested_conf_target, :uint32, 8
68
111
  optional :requested_sat_per_byte, :uint32, 9
112
+ optional :sat_per_vbyte, :uint64, 10
113
+ optional :requested_sat_per_vbyte, :uint64, 11
69
114
  optional :force, :bool, 7
70
115
  end
71
116
  add_message "walletrpc.PendingSweepsRequest" do
@@ -78,6 +123,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
78
123
  optional :target_conf, :uint32, 2
79
124
  optional :sat_per_byte, :uint32, 3
80
125
  optional :force, :bool, 4
126
+ optional :sat_per_vbyte, :uint64, 5
81
127
  end
82
128
  add_message "walletrpc.BumpFeeResponse" do
83
129
  end
@@ -100,6 +146,52 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
100
146
  end
101
147
  add_message "walletrpc.LabelTransactionResponse" do
102
148
  end
149
+ add_message "walletrpc.FundPsbtRequest" do
150
+ optional :account, :string, 5
151
+ optional :min_confs, :int32, 6
152
+ optional :spend_unconfirmed, :bool, 7
153
+ oneof :template do
154
+ optional :psbt, :bytes, 1
155
+ optional :raw, :message, 2, "walletrpc.TxTemplate"
156
+ end
157
+ oneof :fees do
158
+ optional :target_conf, :uint32, 3
159
+ optional :sat_per_vbyte, :uint64, 4
160
+ end
161
+ end
162
+ add_message "walletrpc.FundPsbtResponse" do
163
+ optional :funded_psbt, :bytes, 1
164
+ optional :change_output_index, :int32, 2
165
+ repeated :locked_utxos, :message, 3, "walletrpc.UtxoLease"
166
+ end
167
+ add_message "walletrpc.TxTemplate" do
168
+ repeated :inputs, :message, 1, "lnrpc.OutPoint"
169
+ map :outputs, :string, :uint64, 2
170
+ end
171
+ add_message "walletrpc.UtxoLease" do
172
+ optional :id, :bytes, 1
173
+ optional :outpoint, :message, 2, "lnrpc.OutPoint"
174
+ optional :expiration, :uint64, 3
175
+ end
176
+ add_message "walletrpc.FinalizePsbtRequest" do
177
+ optional :funded_psbt, :bytes, 1
178
+ optional :account, :string, 5
179
+ end
180
+ add_message "walletrpc.FinalizePsbtResponse" do
181
+ optional :signed_psbt, :bytes, 1
182
+ optional :raw_final_tx, :bytes, 2
183
+ end
184
+ add_message "walletrpc.ListLeasesRequest" do
185
+ end
186
+ add_message "walletrpc.ListLeasesResponse" do
187
+ repeated :locked_utxos, :message, 1, "walletrpc.UtxoLease"
188
+ end
189
+ add_enum "walletrpc.AddressType" do
190
+ value :UNKNOWN, 0
191
+ value :WITNESS_PUBKEY_HASH, 1
192
+ value :NESTED_WITNESS_PUBKEY_HASH, 2
193
+ value :HYBRID_NESTED_WITNESS_PUBKEY_HASH, 3
194
+ end
103
195
  add_enum "walletrpc.WitnessType" do
104
196
  value :UNKNOWN_WITNESS, 0
105
197
  value :COMMITMENT_TIME_LOCK, 1
@@ -129,6 +221,13 @@ module Walletrpc
129
221
  KeyReq = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.KeyReq").msgclass
130
222
  AddrRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.AddrRequest").msgclass
131
223
  AddrResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.AddrResponse").msgclass
224
+ Account = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.Account").msgclass
225
+ ListAccountsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListAccountsRequest").msgclass
226
+ ListAccountsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListAccountsResponse").msgclass
227
+ ImportAccountRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportAccountRequest").msgclass
228
+ ImportAccountResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportAccountResponse").msgclass
229
+ ImportPublicKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportPublicKeyRequest").msgclass
230
+ ImportPublicKeyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ImportPublicKeyResponse").msgclass
132
231
  Transaction = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.Transaction").msgclass
133
232
  PublishResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.PublishResponse").msgclass
134
233
  SendOutputsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.SendOutputsRequest").msgclass
@@ -145,5 +244,14 @@ module Walletrpc
145
244
  ListSweepsResponse::TransactionIDs = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListSweepsResponse.TransactionIDs").msgclass
146
245
  LabelTransactionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.LabelTransactionRequest").msgclass
147
246
  LabelTransactionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.LabelTransactionResponse").msgclass
247
+ FundPsbtRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.FundPsbtRequest").msgclass
248
+ FundPsbtResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.FundPsbtResponse").msgclass
249
+ TxTemplate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.TxTemplate").msgclass
250
+ UtxoLease = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.UtxoLease").msgclass
251
+ FinalizePsbtRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.FinalizePsbtRequest").msgclass
252
+ FinalizePsbtResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.FinalizePsbtResponse").msgclass
253
+ ListLeasesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListLeasesRequest").msgclass
254
+ ListLeasesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.ListLeasesResponse").msgclass
255
+ AddressType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.AddressType").enummodule
148
256
  WitnessType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("walletrpc.WitnessType").enummodule
149
257
  end
@@ -10,7 +10,7 @@ module Walletrpc
10
10
  # daemon's wallet.
11
11
  class Service
12
12
 
13
- include GRPC::GenericService
13
+ include ::GRPC::GenericService
14
14
 
15
15
  self.marshal_class_method = :encode
16
16
  self.unmarshal_class_method = :decode
@@ -19,47 +19,87 @@ module Walletrpc
19
19
  #
20
20
  # ListUnspent returns a list of all utxos spendable by the wallet with a
21
21
  # number of confirmations between the specified minimum and maximum.
22
- rpc :ListUnspent, ListUnspentRequest, ListUnspentResponse
22
+ rpc :ListUnspent, ::Walletrpc::ListUnspentRequest, ::Walletrpc::ListUnspentResponse
23
23
  #
24
24
  # LeaseOutput locks an output to the given ID, preventing it from being
25
25
  # available for any future coin selection attempts. The absolute time of the
26
26
  # lock's expiration is returned. The expiration of the lock can be extended by
27
27
  # successive invocations of this RPC. Outputs can be unlocked before their
28
28
  # expiration through `ReleaseOutput`.
29
- rpc :LeaseOutput, LeaseOutputRequest, LeaseOutputResponse
29
+ rpc :LeaseOutput, ::Walletrpc::LeaseOutputRequest, ::Walletrpc::LeaseOutputResponse
30
30
  #
31
31
  # ReleaseOutput unlocks an output, allowing it to be available for coin
32
32
  # selection if it remains unspent. The ID should match the one used to
33
33
  # originally lock the output.
34
- rpc :ReleaseOutput, ReleaseOutputRequest, ReleaseOutputResponse
34
+ rpc :ReleaseOutput, ::Walletrpc::ReleaseOutputRequest, ::Walletrpc::ReleaseOutputResponse
35
+ #
36
+ # ListLeases lists all currently locked utxos.
37
+ rpc :ListLeases, ::Walletrpc::ListLeasesRequest, ::Walletrpc::ListLeasesResponse
35
38
  #
36
39
  # DeriveNextKey attempts to derive the *next* key within the key family
37
40
  # (account in BIP43) specified. This method should return the next external
38
41
  # child within this branch.
39
- rpc :DeriveNextKey, KeyReq, Signrpc::KeyDescriptor
42
+ rpc :DeriveNextKey, ::Walletrpc::KeyReq, ::Signrpc::KeyDescriptor
40
43
  #
41
44
  # DeriveKey attempts to derive an arbitrary key specified by the passed
42
45
  # KeyLocator.
43
- rpc :DeriveKey, Signrpc::KeyLocator, Signrpc::KeyDescriptor
46
+ rpc :DeriveKey, ::Signrpc::KeyLocator, ::Signrpc::KeyDescriptor
44
47
  #
45
48
  # NextAddr returns the next unused address within the wallet.
46
- rpc :NextAddr, AddrRequest, AddrResponse
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
47
87
  #
48
88
  # PublishTransaction attempts to publish the passed transaction to the
49
89
  # network. Once this returns without an error, the wallet will continually
50
90
  # attempt to re-broadcast the transaction on start up, until it enters the
51
91
  # chain.
52
- rpc :PublishTransaction, Transaction, PublishResponse
92
+ rpc :PublishTransaction, ::Walletrpc::Transaction, ::Walletrpc::PublishResponse
53
93
  #
54
94
  # SendOutputs is similar to the existing sendmany call in Bitcoind, and
55
95
  # allows the caller to create a transaction that sends to several outputs at
56
96
  # once. This is ideal when wanting to batch create a set of transactions.
57
- rpc :SendOutputs, SendOutputsRequest, SendOutputsResponse
97
+ rpc :SendOutputs, ::Walletrpc::SendOutputsRequest, ::Walletrpc::SendOutputsResponse
58
98
  #
59
99
  # EstimateFee attempts to query the internal fee estimator of the wallet to
60
100
  # determine the fee (in sat/kw) to attach to a transaction in order to
61
101
  # achieve the confirmation target.
62
- rpc :EstimateFee, EstimateFeeRequest, EstimateFeeResponse
102
+ rpc :EstimateFee, ::Walletrpc::EstimateFeeRequest, ::Walletrpc::EstimateFeeResponse
63
103
  #
64
104
  # PendingSweeps returns lists of on-chain outputs that lnd is currently
65
105
  # attempting to sweep within its central batching engine. Outputs with similar
@@ -69,7 +109,7 @@ module Walletrpc
69
109
  # NOTE: Some of the fields within PendingSweepsRequest are not guaranteed to
70
110
  # remain supported. This is an advanced API that depends on the internals of
71
111
  # the UtxoSweeper, so things may change.
72
- rpc :PendingSweeps, PendingSweepsRequest, PendingSweepsResponse
112
+ rpc :PendingSweeps, ::Walletrpc::PendingSweepsRequest, ::Walletrpc::PendingSweepsResponse
73
113
  #
74
114
  # BumpFee bumps the fee of an arbitrary input within a transaction. This RPC
75
115
  # takes a different approach than bitcoind's bumpfee command. lnd has a
@@ -96,18 +136,51 @@ module Walletrpc
96
136
  # Note that this RPC currently doesn't perform any validation checks on the
97
137
  # fee preference being provided. For now, the responsibility of ensuring that
98
138
  # the new fee preference is sufficient is delegated to the user.
99
- rpc :BumpFee, BumpFeeRequest, BumpFeeResponse
139
+ rpc :BumpFee, ::Walletrpc::BumpFeeRequest, ::Walletrpc::BumpFeeResponse
100
140
  #
101
141
  # ListSweeps returns a list of the sweep transactions our node has produced.
102
142
  # Note that these sweeps may not be confirmed yet, as we record sweeps on
103
143
  # broadcast, not confirmation.
104
- rpc :ListSweeps, ListSweepsRequest, ListSweepsResponse
144
+ rpc :ListSweeps, ::Walletrpc::ListSweepsRequest, ::Walletrpc::ListSweepsResponse
105
145
  #
106
146
  # LabelTransaction adds a label to a transaction. If the transaction already
107
147
  # has a label the call will fail unless the overwrite bool is set. This will
108
148
  # overwrite the exiting transaction label. Labels must not be empty, and
109
149
  # cannot exceed 500 characters.
110
- rpc :LabelTransaction, LabelTransactionRequest, LabelTransactionResponse
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
111
184
  end
112
185
 
113
186
  Stub = Service.rpc_stub_class
@@ -4,6 +4,7 @@
4
4
  require 'google/protobuf'
5
5
 
6
6
  require 'rpc_pb'
7
+
7
8
  Google::Protobuf::DescriptorPool.generated_pool.build do
8
9
  add_file("walletunlocker.proto", :syntax => :proto3) do
9
10
  add_message "lnrpc.GenSeedRequest" do
@@ -20,21 +21,41 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
20
21
  optional :aezeed_passphrase, :bytes, 3
21
22
  optional :recovery_window, :int32, 4
22
23
  optional :channel_backups, :message, 5, "lnrpc.ChanBackupSnapshot"
24
+ optional :stateless_init, :bool, 6
25
+ optional :extended_master_key, :string, 7
26
+ optional :extended_master_key_birthday_timestamp, :uint64, 8
27
+ optional :watch_only, :message, 9, "lnrpc.WatchOnly"
23
28
  end
24
29
  add_message "lnrpc.InitWalletResponse" do
30
+ optional :admin_macaroon, :bytes, 1
31
+ end
32
+ add_message "lnrpc.WatchOnly" do
33
+ optional :master_key_birthday_timestamp, :uint64, 1
34
+ optional :master_key_fingerprint, :bytes, 2
35
+ repeated :accounts, :message, 3, "lnrpc.WatchOnlyAccount"
36
+ end
37
+ add_message "lnrpc.WatchOnlyAccount" do
38
+ optional :purpose, :uint32, 1
39
+ optional :coin_type, :uint32, 2
40
+ optional :account, :uint32, 3
41
+ optional :xpub, :string, 4
25
42
  end
26
43
  add_message "lnrpc.UnlockWalletRequest" do
27
44
  optional :wallet_password, :bytes, 1
28
45
  optional :recovery_window, :int32, 2
29
46
  optional :channel_backups, :message, 3, "lnrpc.ChanBackupSnapshot"
47
+ optional :stateless_init, :bool, 4
30
48
  end
31
49
  add_message "lnrpc.UnlockWalletResponse" do
32
50
  end
33
51
  add_message "lnrpc.ChangePasswordRequest" do
34
52
  optional :current_password, :bytes, 1
35
53
  optional :new_password, :bytes, 2
54
+ optional :stateless_init, :bool, 3
55
+ optional :new_macaroon_root_key, :bool, 4
36
56
  end
37
57
  add_message "lnrpc.ChangePasswordResponse" do
58
+ optional :admin_macaroon, :bytes, 1
38
59
  end
39
60
  end
40
61
  end
@@ -44,6 +65,8 @@ module Lnrpc
44
65
  GenSeedResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.GenSeedResponse").msgclass
45
66
  InitWalletRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.InitWalletRequest").msgclass
46
67
  InitWalletResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.InitWalletResponse").msgclass
68
+ WatchOnly = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.WatchOnly").msgclass
69
+ WatchOnlyAccount = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.WatchOnlyAccount").msgclass
47
70
  UnlockWalletRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.UnlockWalletRequest").msgclass
48
71
  UnlockWalletResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.UnlockWalletResponse").msgclass
49
72
  ChangePasswordRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("lnrpc.ChangePasswordRequest").msgclass
@@ -27,7 +27,7 @@ module Lnrpc
27
27
  # lnd at first startup, and unlock a previously set up wallet.
28
28
  class Service
29
29
 
30
- include GRPC::GenericService
30
+ include ::GRPC::GenericService
31
31
 
32
32
  self.marshal_class_method = :encode
33
33
  self.unmarshal_class_method = :decode
@@ -42,7 +42,7 @@ module Lnrpc
42
42
  # Once the cipherseed is obtained and verified by the user, the InitWallet
43
43
  # method should be used to commit the newly generated seed, and create the
44
44
  # wallet.
45
- rpc :GenSeed, GenSeedRequest, GenSeedResponse
45
+ rpc :GenSeed, ::Lnrpc::GenSeedRequest, ::Lnrpc::GenSeedResponse
46
46
  #
47
47
  # InitWallet is used when lnd is starting up for the first time to fully
48
48
  # initialize the daemon and its internal wallet. At the very least a wallet
@@ -56,15 +56,15 @@ module Lnrpc
56
56
  # Alternatively, this can be used along with the GenSeed RPC to obtain a
57
57
  # seed, then present it to the user. Once it has been verified by the user,
58
58
  # the seed can be fed into this RPC in order to commit the new wallet.
59
- rpc :InitWallet, InitWalletRequest, InitWalletResponse
59
+ rpc :InitWallet, ::Lnrpc::InitWalletRequest, ::Lnrpc::InitWalletResponse
60
60
  # lncli: `unlock`
61
61
  # UnlockWallet is used at startup of lnd to provide a password to unlock
62
62
  # the wallet database.
63
- rpc :UnlockWallet, UnlockWalletRequest, UnlockWalletResponse
63
+ rpc :UnlockWallet, ::Lnrpc::UnlockWalletRequest, ::Lnrpc::UnlockWalletResponse
64
64
  # lncli: `changepassword`
65
65
  # ChangePassword changes the password of the encrypted wallet. This will
66
66
  # automatically unlock the wallet database if successful.
67
- rpc :ChangePassword, ChangePasswordRequest, ChangePasswordResponse
67
+ rpc :ChangePassword, ::Lnrpc::ChangePasswordRequest, ::Lnrpc::ChangePasswordResponse
68
68
  end
69
69
 
70
70
  Stub = Service.rpc_stub_class
@@ -10,7 +10,7 @@ module Watchtowerrpc
10
10
  # functionality of the daemon.
11
11
  class Service
12
12
 
13
- include GRPC::GenericService
13
+ include ::GRPC::GenericService
14
14
 
15
15
  self.marshal_class_method = :encode
16
16
  self.unmarshal_class_method = :decode
@@ -20,7 +20,7 @@ module Watchtowerrpc
20
20
  # GetInfo returns general information concerning the companion watchtower
21
21
  # including its public key and URIs where the server is currently
22
22
  # listening for clients.
23
- rpc :GetInfo, GetInfoRequest, GetInfoResponse
23
+ rpc :GetInfo, ::Watchtowerrpc::GetInfoRequest, ::Watchtowerrpc::GetInfoResponse
24
24
  end
25
25
 
26
26
  Stub = Service.rpc_stub_class
@@ -26,6 +26,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
26
26
  optional :num_pending_backups, :uint32, 2
27
27
  optional :max_backups, :uint32, 3
28
28
  optional :sweep_sat_per_byte, :uint32, 4
29
+ optional :sweep_sat_per_vbyte, :uint32, 5
29
30
  end
30
31
  add_message "wtclientrpc.Tower" do
31
32
  optional :pubkey, :bytes, 1
@@ -50,10 +51,16 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
50
51
  optional :num_sessions_exhausted, :uint32, 5
51
52
  end
52
53
  add_message "wtclientrpc.PolicyRequest" do
54
+ optional :policy_type, :enum, 1, "wtclientrpc.PolicyType"
53
55
  end
54
56
  add_message "wtclientrpc.PolicyResponse" do
55
57
  optional :max_updates, :uint32, 1
56
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
57
64
  end
58
65
  end
59
66
  end
@@ -72,4 +79,5 @@ module Wtclientrpc
72
79
  StatsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.StatsResponse").msgclass
73
80
  PolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.PolicyRequest").msgclass
74
81
  PolicyResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.PolicyResponse").msgclass
82
+ PolicyType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("wtclientrpc.PolicyType").enummodule
75
83
  end
@@ -10,7 +10,7 @@ module Wtclientrpc
10
10
  # functionality of the daemon.
11
11
  class Service
12
12
 
13
- include GRPC::GenericService
13
+ include ::GRPC::GenericService
14
14
 
15
15
  self.marshal_class_method = :encode
16
16
  self.unmarshal_class_method = :decode
@@ -21,21 +21,21 @@ module Wtclientrpc
21
21
  # considers it for new sessions. If the watchtower already exists, then
22
22
  # any new addresses included will be considered when dialing it for
23
23
  # session negotiations and backups.
24
- rpc :AddTower, AddTowerRequest, AddTowerResponse
24
+ rpc :AddTower, ::Wtclientrpc::AddTowerRequest, ::Wtclientrpc::AddTowerResponse
25
25
  #
26
26
  # RemoveTower removes a watchtower from being considered for future session
27
27
  # negotiations and from being used for any subsequent backups until it's added
28
28
  # again. If an address is provided, then this RPC only serves as a way of
29
29
  # removing the address from the watchtower instead.
30
- rpc :RemoveTower, RemoveTowerRequest, RemoveTowerResponse
30
+ rpc :RemoveTower, ::Wtclientrpc::RemoveTowerRequest, ::Wtclientrpc::RemoveTowerResponse
31
31
  # ListTowers returns the list of watchtowers registered with the client.
32
- rpc :ListTowers, ListTowersRequest, ListTowersResponse
32
+ rpc :ListTowers, ::Wtclientrpc::ListTowersRequest, ::Wtclientrpc::ListTowersResponse
33
33
  # GetTowerInfo retrieves information for a registered watchtower.
34
- rpc :GetTowerInfo, GetTowerInfoRequest, Tower
34
+ rpc :GetTowerInfo, ::Wtclientrpc::GetTowerInfoRequest, ::Wtclientrpc::Tower
35
35
  # Stats returns the in-memory statistics of the client since startup.
36
- rpc :Stats, StatsRequest, StatsResponse
36
+ rpc :Stats, ::Wtclientrpc::StatsRequest, ::Wtclientrpc::StatsResponse
37
37
  # Policy returns the active watchtower client policy configuration.
38
- rpc :Policy, PolicyRequest, PolicyResponse
38
+ rpc :Policy, ::Wtclientrpc::PolicyRequest, ::Wtclientrpc::PolicyResponse
39
39
  end
40
40
 
41
41
  Stub = Service.rpc_stub_class
data/lib/lnrpc/client.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "grpc"
2
+ require "digest"
2
3
  require "lnrpc/macaroon_interceptor"
3
4
  module Lnrpc
4
5
  class Client
data/lib/lnrpc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lnrpc
2
- VERSION = "0.11.1"
2
+ VERSION = "0.14.1"
3
3
  end
data/lnrpc.gemspec CHANGED
@@ -25,10 +25,10 @@ Gem::Specification.new do |spec|
25
25
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
26
  spec.require_paths = ["lib", "lib/grpc_services"]
27
27
 
28
- spec.add_development_dependency "bundler", "~> 1.17"
28
+ spec.add_development_dependency "bundler", "> 2.0"
29
29
  spec.add_development_dependency "rake", "~> 13.0"
30
30
  spec.add_development_dependency "rspec", "~> 3.0"
31
31
 
32
- spec.add_dependency "grpc", ">= 1.19.0"
33
- spec.add_dependency "google-protobuf", ">=3.7"
32
+ spec.add_dependency "grpc", ">= 1.28.0"
33
+ spec.add_dependency "google-protobuf", ">=3.15.7"
34
34
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lnrpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.1
4
+ version: 0.14.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Bumann
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-20 00:00:00.000000000 Z
11
+ date: 2022-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.17'
19
+ version: '2.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.17'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,28 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: 1.19.0
61
+ version: 1.28.0
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: 1.19.0
68
+ version: 1.28.0
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: google-protobuf
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '3.7'
75
+ version: 3.15.7
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '3.7'
82
+ version: 3.15.7
83
83
  description: gRPC service definitions for the Lightning Network Daemon (lnd) gRPC
84
84
  interface packed as ruby gem
85
85
  email:
@@ -149,7 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
149
  - !ruby/object:Gem::Version
150
150
  version: '0'
151
151
  requirements: []
152
- rubygems_version: 3.0.3
152
+ rubygems_version: 3.1.6
153
153
  signing_key:
154
154
  specification_version: 4
155
155
  summary: gRPC interface for lnd packed as ruby gem